How Do OS and Application Schedulers Interact? An Investigation with Multithreaded Applications

Publikation: Beitrag in Buch/Konferenzbericht/Sammelband/GutachtenBeitrag in KonferenzbandBeigetragenBegutachtung



Scheduling is critical for achieving high performance for parallel applications executing on high performance computing (HPC) systems. Scheduling decisions can be taken at batch system, application, and operating system (OS) levels. In this work, we investigate the interaction between the Linux scheduler and various OpenMP scheduling options during the execution of three multithreaded codes on two types of computing nodes. When threads are unpinned, we found that OS scheduling events significantly interfere with the performance of compute-bound applications, aggravating their inherent load imbalance or overhead (by additional context switches). While the Linux scheduler balances system load in the absence of application-level load balancing, we also found it decreases performance via additional context switches and thread migrations. We observed that performing load balancing operations both at the OS and application levels is advantageous for the performance of concurrently executing applications. These results show the importance of considering the role of OS scheduling in the design of application scheduling techniques and vice versa. This work motivates further research into coordination of scheduling within multithreaded applications and the OS.


TitelEuro-Par 2023: Parallel Processing
Redakteure/-innenJosé Cano, Marios D. Dikaiakos, George A. Papadopoulos, Miquel Pericàs, Rizos Sakellariou
Herausgeber (Verlag)Springer Nature Switzerland, Dortrecht [u. a.]
ISBN (Print)978-3-031-39698-4
PublikationsstatusVeröffentlicht - 2023

Externe IDs

ORCID /0009-0003-0666-4166/work/151477242
Scopus 85171581806
ORCID /0000-0002-5437-3887/work/154740530