Comparative Scalability Analysis of Python Multiprocessing and OpenMP on Windows and WSL2

Authors

  • Achmad Fauzan Department of Informatics Engineering, Faculty of Engineering and Science, Universitas Muhammadiyah Purwokerto
  • Agung Purwo Wicaksono Department of Informatics Engineering, Faculty of Engineering and Science, Universitas Muhammadiyah Purwokerto
  • Elindra Ambar Pambudi Department of Informatics Engineering, Faculty of Engineering and Science, Universitas Muhammadiyah Purwokerto

DOI:

10.33395/sinkron.v10i3.16262

Keywords:

CPU-Bound Computing, OpenMP, Processor Utilization, Python Multiprocessing, Scalability, Windows Subsystem for Linux

Abstract

The advent of multicore processors has made efficient parallel programming models increasingly important for CPU-bound workloads. Process-based and thread-based parallelism in native Windows and WSL2 has not been comprehensively compared, despite extensive research on Python multiprocessing, OpenMP, and Windows Subsystem for Linux 2 (WSL2). This paper presents a unified multicore scalability assessment of Python multiprocessing and OpenMP, based on a CPU-intensive floating-point benchmark. Experiments were performed on an Intel Core i9-9900 processor with 8 physical cores and 16 logical threads in different process and thread configurations. Performance was evaluated in terms of execution time, speedup, parallel efficiency, CPU utilization, and statistical reliability metrics from ten repeated executions. Results demonstrate OpenMP performance advantage over Python multiprocessing for all tested configurations. OpenMP with 16 execution units provided maximum speedups of 6.482 on Windows and 7.065 on WSL2, compared to 5.624 and 5.790 for Python multiprocessing. The highest CPU utilization was achieved by OpenMP on WSL2 (97.31%). The reliability analysis confirmed experimental consistency, with coefficient-of-variation values below 10% for all the considered platforms. In general, WSL2 also had slightly better scalability and processor utilization than native Windows. The results show that WSL2 is a suitable environment for multicore computing and that thread-based parallelism provides better scalability for CPU-bound workloads. This study provides a comprehensive perspective on multicore scalability across different parallel programming models and execution environments by integrating multiple performance and reliability metrics into a single benchmark framework.

GS Cited Analysis

Downloads

Download data is not yet available.

References

Amdahl, G. M. (1967). Validity of the single processor approach to achieving large scale computing capabilities. Proceedings of the April 18-20, 1967, Spring Joint Computer Conference on - AFIPS ’67 (Spring), 483. https://doi.org/10.1145/1465482.1465560

Aqasizade, H., Ataie, E., & Bastam, M. (2025). Experimental assessment of containers running on top of virtual machines. IET Networks, 14(1). https://doi.org/10.1049/ntw2.12138

Arboleda, F. J. M., Arias, M. R., & Riveros, J. A. H. (2023). Performance of Parallelism in Python and C++. IAENG International Journal of Computer Science, 579–591.

Arjona, A., Finol, G., & López, P. G. (2023). Transparent serverless execution of Python multiprocessing applications. Future Generation Computer Systems, 140, 436–449. https://doi.org/10.1016/j.future.2022.10.038

Blandino, H. O., & Meneses, E. (2022). A Comparative Evaluation of Parallel Programming Python Tools for Particle-in-Cell on Symmetric Multiprocessors. In C. J. and O. C. and G. G. Navaux Philippe and Barrios H. (Ed.), High Performance Computing (pp. 1–15). Springer International Publishing.

Chapman, Barbara., Jost, Gabriele., & Pas, R. van der. (2008). Using OpenMP : portable shared memory parallel programming. MIT Press.

Ciccozzi, F., Addazi, L., Asadollah, S. A., Lisper, B., Masud, A. N., & Mubeen, S. (2023). A Comprehensive Exploration of Languages for Parallel Computing. ACM Computing Surveys, 55(2), 1–39. https://doi.org/10.1145/3485008

Dagum, L., & Menon, R. (1998). OpenMP: an industry standard API for shared-memory programming. IEEE Computational Science and Engineering, 5(1), 46–55. https://doi.org/10.1109/99.660313

Dai, F., Hossain, M. A., & Wang, Y. (2025). State of the Art in Parallel and Distributed Systems: Emerging Trends and Challenges. Electronics, 14(4), 677. https://doi.org/10.3390/electronics14040677

Fink, Z., Liu, S., Choi, J., Diener, M., & Kale, L. V. (2021). Performance Evaluation of Python Parallel Programming Models: Charm4Py and mpi4py. https://doi.org/10.1109/ESPM254806.2021.00010

Georges, A., Buytaert, D., & Eeckhout, L. (2007). Statistically rigorous java performance evaluation. Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, 57–76. https://doi.org/10.1145/1297027.1297033

Gonnord, L., Henrio, L., Morel, L., & Radanne, G. (2023). A Survey on Parallelism and Determinism. ACM Computing Surveys, 55(10), 1–28. https://doi.org/10.1145/3564529

Hunold, S., & Kraßnitzer, K. (2023). A Quantitative Analysis of OpenMP Task Runtime Systems (pp. 3–18). https://doi.org/10.1007/978-3-031-31180-2_1

Jain, R. (1991). The Art of Computer Systems Performance Analysis: Techniques For Experimental Design, Measurement, Simulation, and Modeling, NY: Wiley.

Martell, V., Korochkin, A., & Rusanova, O. (2022). Comparative analysis of the effectiveness of using fine-grained and nested parallelism to increase the speedup of parallel computing in multicore computer systems. System Research and Information Technologies, (2), 45–60. https://doi.org/10.20535/SRIT.2308-8893.2022.2.03

Mustafidah, H., Geography, S., & Permatasari, S. N. C. (2019). Accuracy of the Neurons Number in the Hidden Layer of the Levenberg-Marquardt Algorithm. International Journal of Recent Technology and Engineering (IJRTE), 8(4), 2349–2353. https://doi.org/10.35940/ijrte.D8259.118419

Mustafidah, H., Pambudi, U. B., & Suwarsito, S. (2022). Selection of the most accurate training algorithm in the backpropagation network based on the accuracy of data pattern matching. 060012. https://doi.org/10.1063/5.0111243

Pasqualin, D. P., Diener, M., Du Bois, A. R., & Pilla, M. L. (2025). Thread and Data Mapping in Software Transactional Memory: an Overview. International Journal of Parallel Programming, 53(3), 19. https://doi.org/10.1007/s10766-025-00796-1

Piñeiro, C., & Pichel, J. C. (2026). OMP4Py: A pure Python implementation of openMP. Future Generation Computer Systems, 175, 108035. https://doi.org/10.1016/j.future.2025.108035

Poolla, C., & Saxena, R. (2023). On extending Amdahl’s law to learn computer performance. Microprocessors and Microsystems, 96, 104745. https://doi.org/10.1016/j.micpro.2022.104745

Ruys, W., Lee, H., You, B., Talati, S., Park, J., Almgren-Bell, J., Yan, Y., Fernando, M., Erez, M., Gligoric, M., Burtscher, M., Rossbach, C. J., Pingali, K., & Biros, G. (2025). Performance Characterization of Python Runtimes for Multi-device Task Parallel Programming. International Journal of Parallel Programming, 53(2), 16. https://doi.org/10.1007/s10766-025-00788-1

Santos-da-Silva, F. H., Fernandes, J. B., Sardina, I. M., Barros, T., Xavier-de-Souza, S., & Assis, I. A. S. (2025). Auto-Tuning for OpenMP Dynamic Scheduling applied to Full Waveform Inversion. Computers & Geosciences, 202, 105932. https://doi.org/10.1016/j.cageo.2025.105932

Schryen, G. (2024). Speedup and efficiency of computational parallelization: A unifying approach and asymptotic analysis. Journal of Parallel and Distributed Computing, 187, 104835. https://doi.org/10.1016/j.jpdc.2023.104835

Serpa, M. S., Cruz, E. H. M., Diener, M., Lorenzon, A. F., Beck, A. C. S., & Navaux, P. O. A. (2023). Mitigating execution unit contention in parallel applications using instruction‐aware mapping. Concurrency and Computation: Practice and Experience, 35(17). https://doi.org/10.1002/cpe.6819

Sobieraj, M., & Kotyński, D. (2024). Docker Performance Evaluation across Operating Systems. Applied Sciences, 14(15), 6672. https://doi.org/10.3390/app14156672

Tesser, R. K., & Borin, E. (2023). Containers in HPC: a survey. The Journal of Supercomputing, 79(5), 5759–5827. https://doi.org/10.1007/s11227-022-04848-y

Zhou, N., Zhou, H., & Hoppe, D. (2023). Containerization for High Performance Computing Systems: Survey and Prospects. IEEE Transactions on Software Engineering, 49(4), 2722–2740. https://doi.org/10.1109/TSE.2022.3229221

Downloads


Crossmark Updates

How to Cite

Fauzan, A., Wicaksono, A. P., & Pambudi, E. A. (2026). Comparative Scalability Analysis of Python Multiprocessing and OpenMP on Windows and WSL2. Sinkron : Jurnal Dan Penelitian Teknik Informatika, 10(3), 1515-1526. https://doi.org/10.33395/sinkron.v10i3.16262