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%的情况下选择的是最佳策略。