TY - GEN
T1 - Task priority control for the HPX runtime system
AU - Jiang, Suhang
AU - Agung, Mulya
AU - Egawa, Ryusuke
AU - Takizawa, Hiroyuki
N1 - Funding Information:
This work is partially supported by MEXT Next Generation High-Performance Computing Infrastructures and Applications R&D Program “R&D of A Quantum-Annealing-Assisted Next Generation HPC Infrastructure and its Applications,” Grant-in-Aid for Scientific Research(B) #16H02822 and #17H01706, and Initiative on Promotion of Supercomputing for Youngor WomenResearchers, Information Technology Center, The University of Tokyo.
Publisher Copyright:
© 2020 IEEE.
PY - 2020/5
Y1 - 2020/5
N2 - High Performance ParalleX (HPX) is one of taskbased programming and execution models, which provides a C++ class library to describe tasks and their dependencies, and also a runtime system for task-based distributed-memory parallel computing. In the original HPX mechanism, the execution of some critical tasks might be delayed by executing other noncritical tasks. This paper hence proposes to incorporate task priority control into the HPX runtime system. First, this paper discusses use of multiple thread pools to prioritize critical tasks. The waiting time of critical tasks is reduced by assigning critical tasks to a dedicated thread pool that is different from the thread pool for non-critical tasks. Second, this paper discusses how to assign worker threads to processor cores. A different number of worker threads are associated with each thread pool, and then mapped to processor cores so as to mitigate the load imbalance among the NUMA domains. In this paper, the performance of the proposed mechanism is evaluated using two task-based applications and three different scales of NUMA systems. The evaluation results clearly demonstrate that the proposed mechanism can improve the performance of HPX applications by successfully prioritizing critical tasks and also reducing the load imbalance of the NUMA domains.
AB - High Performance ParalleX (HPX) is one of taskbased programming and execution models, which provides a C++ class library to describe tasks and their dependencies, and also a runtime system for task-based distributed-memory parallel computing. In the original HPX mechanism, the execution of some critical tasks might be delayed by executing other noncritical tasks. This paper hence proposes to incorporate task priority control into the HPX runtime system. First, this paper discusses use of multiple thread pools to prioritize critical tasks. The waiting time of critical tasks is reduced by assigning critical tasks to a dedicated thread pool that is different from the thread pool for non-critical tasks. Second, this paper discusses how to assign worker threads to processor cores. A different number of worker threads are associated with each thread pool, and then mapped to processor cores so as to mitigate the load imbalance among the NUMA domains. In this paper, the performance of the proposed mechanism is evaluated using two task-based applications and three different scales of NUMA systems. The evaluation results clearly demonstrate that the proposed mechanism can improve the performance of HPX applications by successfully prioritizing critical tasks and also reducing the load imbalance of the NUMA domains.
UR - http://www.scopus.com/inward/record.url?scp=85091584617&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85091584617&partnerID=8YFLogxK
U2 - 10.1109/IPDPSW50202.2020.00137
DO - 10.1109/IPDPSW50202.2020.00137
M3 - Conference contribution
AN - SCOPUS:85091584617
T3 - Proceedings - 2020 IEEE 34th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2020
SP - 806
EP - 813
BT - Proceedings - 2020 IEEE 34th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2020
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 34th IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2020
Y2 - 18 May 2020 through 22 May 2020
ER -