TY - GEN
T1 - Investigating the Effects of Dynamic Thread Team Size Adjustment for Irregular Applications
AU - Xiao, Xiong
AU - Agung, Mulya
AU - Amrizal, Muhammad Alfian
AU - Egawa, Ryusuke
AU - Takizawa, Hiroyuki
N1 - Funding Information:
ACKNOWLEDGMENT The authors would like to thank Prof. Hiroaki Kobayashi, Prof. Masanori Hariyama, and Prof. Kazuhiko Komatsu for providing insight comments on this work. This work is supported by Grant-in-Aid for Scientific Research(B) 16H02822 and 17H01706.
Publisher Copyright:
© 2018 IEEE.
PY - 2018/12/27
Y1 - 2018/12/27
N2 - The OpenMP specification introduces thread team for hierarchical parallelism. A thread team is a team of synchronizable threads, and the number of threads in a thread team is called thread team size. OpenMP allows static adjustment of the thread team size, where the team size must be specified before executing an application and has to stay constant until the end of the execution. Conventionally, the thread team size is decided by evenly dividing the number of running threads, and assigning them to each thread team. However, the conventional approach will face load imbalance across thread teams when it is applied to irregular applications. Therefore, assigning the same team size for every thread team and keeping the size constant during the whole lifetime of the thread teams could be ineffective. In this paper, we discuss the effects of a dynamic thread team size adjustment method for OpenMP. After dynamic thread team size adjustment, the number of threads in each team can be different. The evaluation results show that dynamically adjusting the number of threads in each team achieves a higher performance than using the same number of threads in each team, even if the runtime overhead is taken into account.
AB - The OpenMP specification introduces thread team for hierarchical parallelism. A thread team is a team of synchronizable threads, and the number of threads in a thread team is called thread team size. OpenMP allows static adjustment of the thread team size, where the team size must be specified before executing an application and has to stay constant until the end of the execution. Conventionally, the thread team size is decided by evenly dividing the number of running threads, and assigning them to each thread team. However, the conventional approach will face load imbalance across thread teams when it is applied to irregular applications. Therefore, assigning the same team size for every thread team and keeping the size constant during the whole lifetime of the thread teams could be ineffective. In this paper, we discuss the effects of a dynamic thread team size adjustment method for OpenMP. After dynamic thread team size adjustment, the number of threads in each team can be different. The evaluation results show that dynamically adjusting the number of threads in each team achieves a higher performance than using the same number of threads in each team, even if the runtime overhead is taken into account.
KW - irregular application
KW - OpenMP
KW - thread team
UR - http://www.scopus.com/inward/record.url?scp=85061508292&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85061508292&partnerID=8YFLogxK
U2 - 10.1109/CANDAR.2018.00017
DO - 10.1109/CANDAR.2018.00017
M3 - Conference contribution
AN - SCOPUS:85061508292
T3 - Proceedings - 2018 6th International Symposium on Computing and Networking, CANDAR 2018
SP - 76
EP - 84
BT - Proceedings - 2018 6th International Symposium on Computing and Networking, CANDAR 2018
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 6th International Symposium on Computing and Networking, CANDAR 2018
Y2 - 27 November 2018 through 30 November 2018
ER -