Comparative analysis of the effectiveness of using fine-grained and nested parallelism to increase the speedup of parallel computing in multicore computer systems
DOI:
https://doi.org/10.20535/SRIT.2308-8893.2022.2.03Keywords:
multicore computer system, core, thread, tasks, parallelism, granularity, fork-join, speedup coefficient, fine-grained parallelism, nested parallelism, combined parallelismAbstract
The article presents a comparative analysis of the effectiveness of using parallelism of varying granularity degrees in modern multicore computer systems using the most popular programming languages and libraries (such as C#, Java, C++, and OpenMP). Based on the performed comparison, the possibilities of increasing the efficiency of computations in multicore computer systems by using combinations of medium- and fine-grained parallelism were also investigated. The results demonstrate the high potential efficiency of fine-grained parallelism when organizing intensive parallel computations. Based on these results, it can be argued that, in comparison with more traditional parallelization methods that use medium-grain parallelism, the use of separately fine-grained parallelism can reduce the computation time of a large mathematical problem by an average of 4%. The use of combined parallelism can reduce the computation time of such a problem to 5,5%. This reduction in execution time can be significant when performing very large computations.
References
ISO 9000:2000 Quality management systems – Fundamentals and vocabulary. Available: https://www.iso.org/standard/29280.html
L. Lamport, “How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs”, IEEE Transactions on Computers, vol. C-28, no. 9, pp. 690–691, 1979. doi: 10.1109/TC.1979.1675439.
A.C. Wayne, S.J. Procter, and T.E. Anderson, “The nachos instructional operating system”, in USENIX Winter 1993 Con-ference (USENIX Winter 1993 Conference). San Diego, CA: USENIX Association, Jan. 1993. doi: 10.1.1.181.878.
B.S. Tanenbaum and H. Bos, Modern Operating Systems, 4th ed. USA: Prentice Hall Press, 2014. doi: 10.5555/2655363.
J.E. Moreira, D. Schouten, and C.D. Polychronopoulos, “The performance impact of granularity control and functional parallelism”, in Proceedings of the 8th International Workshop on Languages and Compilers for Parallel Computing, ser. LCPC’95, pp. 581–597. Berlin, Heidelberg: Springer-Verlag, 1995. doi: 10.5555/645673.665710.
K. Hwang, Advanced Computer Architecture: Parallelism, Scalability, Programmability, 1st ed. McGraw-HillHigher Education, 1992. doi: 10.5555/541880.
R. Miller and Q.F. Stout, Parallel Algorithms for Regular Architectures: Meshes and Pyramids. Cambridge, Mass: MITPress, 1996. doi: 10.5555/249608.
B. Blaise, Introduction to Parallel Computing. [Online]. Available: https://hpc.llnl. gov/training/tutorials/introduction-parallel-computing-tutorial/
J.L. Hennessy and D.A. Patterson, Computer Architecture, Fifth Edition: A Quantitative Approach. Morgan Kaufmann Publishers Inc., 2011. doi: 10.5555/1999263.
O. Bandman, “Composing fine-grained parallel algorithms forspatial dynamics simulation”, in Proceedings of the 8th International Conference on Parallel Computing Technologies, ser. PaCT’05, pp. 99–113. Berlin, Heidelberg: Springer-Verlag, 2005. doi: 10.1007/11535294_9.
D. Lea, “A java fork/join framework”, in Proceedings of the ACM2000 Conference on Java Grande, ser. JAVA ’00, pp. 36–43. New York, NY, USA: Association for Computing Machinery, 2000. doi: 10.1145/337449.337465.
P.E. Hadjidoukas, G.C. Philos, and V.V. Dimakopoulos, “Exploiting fine-grain thread parallelism on multicore architectures”, Sci. Program., vol. 17, no. 4, pp. 309–323, Dec. 2009. doi: 10.1155/2009/249651.
P. Czarnul, “Assessment of OpenMP master-slave implementations for selected irregular parallel applications”, Electronics, vol. 10, no. 10, 2021. doi: 10.3390/electronics10101188.
J. Ponge, Fork and Join: Java Can Excel at Painless Parallel Programming Too! [Online]. Available: https://www.oracle.com/technical-resources/articles/java/fork-join.html
O. Rusanova and A. Korochkin, “Scheduling problems for parallel and distributed systems”, Ada Lett., vol. XIX, no. 3, pp. 195–201, Sep. 1999. doi: 10.1145/319295.319323.