In massively parallel processing (MPP) systems, an increase in data exchanges between processes often leads to higher time costs for these operations. Consequently, when the number of processes exceeds a certain threshold, the performance of a parallel program may degrade. This study examines the parallelization of an algorithm for finding the shortest path in a directed graph with cycles. The algorithm’s characteristics indicate that command-level parallelization yields limited efficiency. Meanwhile, the time complexity of the algorithm grows exponentially with increases in the number of vertices, edges, and cycles in the graph. Data-level parallelization is shown to be a viable approach. This paper presents a method to calculate the optimal number of processes for data-parallel algorithm optimization, based on the input data volume, to achieve maximum performance.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Calculating the Optimal Number of Parallel Processes for Data-Parallel Algorithm Optimization

  • Yulia Shichkina,
  • Мuon Ha,
  • Duc Manh Tran

摘要

In massively parallel processing (MPP) systems, an increase in data exchanges between processes often leads to higher time costs for these operations. Consequently, when the number of processes exceeds a certain threshold, the performance of a parallel program may degrade. This study examines the parallelization of an algorithm for finding the shortest path in a directed graph with cycles. The algorithm’s characteristics indicate that command-level parallelization yields limited efficiency. Meanwhile, the time complexity of the algorithm grows exponentially with increases in the number of vertices, edges, and cycles in the graph. Data-level parallelization is shown to be a viable approach. This paper presents a method to calculate the optimal number of processes for data-parallel algorithm optimization, based on the input data volume, to achieve maximum performance.