Calculating the Optimal Number of Parallel Processes for Data-Parallel Algorithm Optimization
摘要
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.