Analyzing large graph data is an essential part of many modern applications, such as social networks. Due to its large computational complexity, distributed processing is frequently employed. This requires graph data to be divided across nodes, and the choice of partitioning strategy has a great impact on the execution time of the task. Yet, there is no one-size-fits-all partitioning strategy that performs well on arbitrary graph data and algorithms. The performance of a strategy depends on the characteristics of the graph data and algorithms. Moreover, due to the complexity of graph data and algorithms, manually identifying the best partitioning strategy is also infeasible. In this work, we propose a machine learning-based approach to select the most appropriate partitioning strategy for a given graph and processing algorithm. Our approach enumerates viable partitioning strategies, predicts the execution time of the target algorithm for each, and selects the partitioning strategy with the fastest estimated execution time. Our machine learning model is trained on features extracted from graph data and algorithm pseudo-code. We also propose a method that augments real execution logs of graph tasks to create a large synthetic dataset. Evaluation results show that the strategies selected by our approach lead to 1.46X faster execution time on average compared with the mean execution time of the partitioning strategies and about 0.95X the performance compared to the best partitioning strategy.
翻译:分析大图表数据是社交网络等许多现代应用程序的一个基本部分。 由于其计算的复杂性, 经常使用分布式处理 。 这要求在节点之间分割图形数据, 选择分区战略对任务的执行时间有很大影响 。 然而, 没有一个一刀切的分区战略, 能够很好地使用任意图形数据和算法。 战略的性能取决于图形数据和算法的特性 。 此外, 由于图形数据和算法的复杂性, 手动确定最佳分区战略也是不可行的 。 在这项工作中, 我们提出一个基于机器的学习方法, 选择一个特定图表和处理算法的最合适的分区战略 。 我们的方法罗列了可行的分区战略, 预测了每个目标算法的执行时间, 并选择了快速估计执行时间的分区战略 。 我们的机器学习模型是用从图形数据和算法中提取的特征来训练的。 我们还建议一种方法, 增强图形任务的实际执行日志, 以创建大型合成数据集 。 我们在这项工作中建议一种基于机器学习的学习方法, 以机器为基础选择一个机器为基础的分区战略, 比较平均时段执行战略 。 。 比较执行战略的进度战略, 比较平均的进度战略 。