Final published version
Research output: Contribution to Journal/Magazine › Journal article › peer-review
Research output: Contribution to Journal/Magazine › Journal article › peer-review
}
TY - JOUR
T1 - On the parallelization and performance analysis of Barnes–Hut algorithm using Java parallel platforms
AU - Munier, Badri
AU - Khan, Majid
AU - Islam, Muhammad Arshad
AU - Iqbal, Muhammad Azhar
AU - Khattak, Muhammad Kamran
PY - 2020/3/10
Y1 - 2020/3/10
N2 - Multi-core processors provide time-efficient and cost-effective solutions to execute the algorithms for complex physical systems. However, to efficiently exploit the processing capabilities of the underlying architectures, the applications executing on multi-core processors must be parallelized. Conventionally, the applications for high-performance computing (HPC) are written in native (programming) languages. However, several researchers have argued that Java can be an excellent alternative for writing HPC applications. To gauge the comparative performance of Java parallel platforms, a benchmark study is required considering some real HPC applications. In this study, as a pioneer application, Java-based parallel platforms, namely Java thread API, JavaSymphony, and MPJ Express, are used to parallelize and benchmark the Barnes–Hut algorithm to simulate the N-body physical system of celestial objects. The parallel implementations of the Barnes–Hut algorithm are tested for performance on shared memory multi-core architectures. The hardware-level performance analysis involving the parameters like the number of instructions executed by the CPU, level-1 and level-3 cache misses, and the number of main memory accesses is conducted to investigate the insights of the attained performances. The celestial objects up to one million are simulated, and the results revealed that the JavaSymphony-based implementation of the Barnes–Hut algorithm produces better results as compared to the other employed parallel frameworks.
AB - Multi-core processors provide time-efficient and cost-effective solutions to execute the algorithms for complex physical systems. However, to efficiently exploit the processing capabilities of the underlying architectures, the applications executing on multi-core processors must be parallelized. Conventionally, the applications for high-performance computing (HPC) are written in native (programming) languages. However, several researchers have argued that Java can be an excellent alternative for writing HPC applications. To gauge the comparative performance of Java parallel platforms, a benchmark study is required considering some real HPC applications. In this study, as a pioneer application, Java-based parallel platforms, namely Java thread API, JavaSymphony, and MPJ Express, are used to parallelize and benchmark the Barnes–Hut algorithm to simulate the N-body physical system of celestial objects. The parallel implementations of the Barnes–Hut algorithm are tested for performance on shared memory multi-core architectures. The hardware-level performance analysis involving the parameters like the number of instructions executed by the CPU, level-1 and level-3 cache misses, and the number of main memory accesses is conducted to investigate the insights of the attained performances. The celestial objects up to one million are simulated, and the results revealed that the JavaSymphony-based implementation of the Barnes–Hut algorithm produces better results as compared to the other employed parallel frameworks.
KW - Barnes–Hut algorithm
KW - High-performance computing
KW - Java parallel frameworks
KW - Locality optimization
U2 - 10.1007/s42452-020-2386-z
DO - 10.1007/s42452-020-2386-z
M3 - Journal article
VL - 2
JO - SN Applied Sciences
JF - SN Applied Sciences
M1 - 601
ER -