December 19, 2024
Conference Paper

Exploring Architectural-Aware Affinity Policies in Modern HPC Runtimes

Abstract

Modern commodity and High-Performance Computing (HPC) systems are evolving with complex CPU architectures. These architectures now feature higher core and NUMA domain counts and implement features such as hyperthreading. When considering significant differences in hardware configurations, library availability, and hardware-tailored system/software stacks, which could substantially vary from one system to another, performance portability is hard to achieve. Throughout the years, this trend resulted in an increasingly high burden on application developers to fine-tune their workloads for each architecture. This work explores how hardware-dependent aspects such as locality/process/thread affinity affect performance in modern CPU architectures. We focus our study on the Global Memory and Threading (GMT) distributed runtime system as a representative of Partitioned Global Address Space (PGAS) software stacks commonly adopted for productivity. In particular, to appreciate performance implications, we evaluate GMT’s thread affinity policies, and, introduce two new ones which exploit architectural awareness. Finally, we explore alternative NUMA configurations via different process bindings and perform a scalability study on three HPC clusters with varying CPU architectures and NUMA layouts. Our analysis indicates that more complex architectures are more affected by affinity and binding policies and highlights the importance of setting proper runtime configurations to achieve superior performance.

Published: December 19, 2024

Citation

Di Dio Lavore I., V.G. Castellana, J.T. Feo, and M. Santambrogio. 2024. Exploring Architectural-Aware Affinity Policies in Modern HPC Runtimes. In Practice and Experience in Advanced Research Computing 2024: Human Powered Computing (PEARC 2024), July 21-25, 2024, Providence, RI, edited by S.T. Brown, B. von Oehsen, E. Adams and E Siegmann, Paper No. 45. New York, New York:Association for Computing Machinery. PNNL-SA-197771. doi:10.1145/3626203.3670566