For distributed graph processing on massive graphs, a graph is partitioned into multiple equally-sized parts which are distributed among machines in a compute cluster. In the last decade, many partitioning algorithms have been developed which differ from each other with respect to the partitioning quality, the run-time of the partitioning and the type of graph for which they work best. The plethora of graph partitioning algorithms makes it a challenging task to select a partitioner for a given scenario. Different studies exist that provide qualitative insights into the characteristics of graph partitioning algorithms that support a selection. However, in order to enable automatic selection, a quantitative prediction of the partitioning quality, the partitioning run-time and the run-time of subsequent graph processing jobs is needed. In this paper, we propose a machine learning-based approach to provide such a quantitative prediction for different types of edge partitioning algorithms and graph processing workloads. We show that training based on generated graphs achieves high accuracy, which can be further improved when using real-world data. Based on the predictions, the automatic selection reduces the end-to-end run-time on average by 11.1% compared to a random selection, by 17.4% compared to selecting the partitioner that yields the lowest cut size, and by 29.1% compared to the worst strategy, respectively. Furthermore, in 35.7% of the cases, the best strategy was selected.
翻译:针对大规模图的分布式处理,图被划分为多个等大小的部分,分布到计算集群的机器中。过去十年中,许多分割算法被开发出来,它们在分割质量、分割运行时间以及最佳适用范围方面各不相同。图分割算法的丰富性使得针对特定场景选择合适的分割器成为一项具有挑战性的任务。现有研究提供了支持选择的图分割算法特性的定性见解。然而,为了实现自动选择,需要对分割质量、分割运行时间及后续图处理作业的运行时间进行定量预测。本文提出了一种基于机器学习的方法,为不同类型的边分割算法和图处理工作负载提供此类定量预测。我们表明,基于生成图的训练达到了高精度,而使用真实世界数据可进一步改进。基于这些预测,自动选择相比随机选择平均降低端到端运行时间11.1%,相比选择产生最小割大小的分割器降低17.4%,相比最差策略降低29.1%。此外,在35.7%的情况下,选择了最佳策略。