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

Research output: Contribution to book/conference proceedings/anthology/reportConference contributionContributedpeer-review

Contributors

Abstract

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.

Details

Original languageEnglish
Title of host publicationEuro-Par 2023: Parallel Processing
EditorsJosé Cano, Marios D. Dikaiakos, George A. Papadopoulos, Miquel Pericàs, Rizos Sakellariou
Place of PublicationCham
PublisherSpringer Nature Switzerland, Dortrecht [u. a.]
Pages214-228
Number of pages15
ISBN (print)978-3-031-39698-4
Publication statusPublished - 2023
Peer-reviewedYes

External IDs

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

Keywords