학술논문

Performance Analysis of C and Python Parallel Implementations on a Multicore System Using Particle Simulation
Document Type
Conference
Source
2024 International Conference on Artificial Intelligence, Computer, Data Sciences and Applications (ACDSA) Artificial Intelligence, Computer, Data Sciences and Applications (ACDSA), 2024 International Conference on. :1-7 Feb, 2024
Subject
Bioengineering
Communication, Networking and Broadcast Technologies
Components, Circuits, Devices and Systems
Computing and Processing
Engineered Materials, Dielectrics and Plasmas
Fields, Waves and Electromagnetics
General Topics for Engineers
Photonics and Electrooptics
Power, Energy and Industry Applications
Robotics and Control Systems
Signal Processing and Analysis
Multithreading
Multicore processing
High performance computing
C languages
Systems architecture
Computer architecture
Libraries
performance analysis
parallel programming
C/C++
Python
OpenMP
MPI
Language
Abstract
Multicore architecture has become the dominant trend in modern computer design to achieve high performance. To take advantage of multicore systems and develop well-performing applications, various multithreading libraries and application programming interfaces (APIs) are introduced. However, it is often challenging to decide which programming language should provide the best performance for a given set of architecture and applications. In this work, we investigate the performance of C language with Open Multi-Processing (OpenMP) and Message Passing Interface (MPI) and Python language with multithreading and MPI using particle simulation application. We simulate 1K, 5K, and 10K particles on a three-core system with CentOS operating system. Experimental results show that OpenMP C code provides consistent increase in speedup for up to 12 threads. Python may be easy for beginners to learn, but the results suggest that C clearly outperforms Python for particle simulation.