Building Portable Thread Schedulers for Hierarchical Multiprocessors: the BubbleSched Framework
Samuel Thibault (INRIA Futurs), Raymond Namyst (INRIA Futurs),, Pierre-Andr\'e Wacrenier (INRIA Futurs)

TL;DR
This paper introduces BubbleSched, a flexible framework enabling experts to create and experiment with customized, portable thread schedulers tailored for hierarchical multiprocessor architectures, improving application performance.
Contribution
The paper presents a new framework that allows development and testing of custom thread schedulers for hierarchical multiprocessors, addressing limitations of existing OS scheduling APIs.
Findings
Framework supports dynamic bubble distribution
Enables development of portable, customized schedulers
Improves application performance on hierarchical architectures
Abstract
Exploiting full computational power of current more and more hierarchical multiprocessor machines requires a very careful distribution of threads and data among the underlying non-uniform architecture. Unfortunately, most operating systems only provide a poor scheduling API that does not allow applications to transmit valuable scheduling hints to the system. In a previous paper, we showed that using a bubble-based thread scheduler can significantly improve applications' performance in a portable way. However, since multithreaded applications have various scheduling requirements, there is no universal scheduler that could meet all these needs. In this paper, we present a framework that allows scheduling experts to implement and experiment with customized thread schedulers. It provides a powerful API for dynamically distributing bubbles among the machine in a high-level, portable, and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Embedded Systems Design Techniques
