What is it about?

We present a technique to help developers observe how their programs behave on multi-core machines, especially for identifying performance issues such as unexpected slowdowns or excessive memory usage. These performance issues are often deeply intertwined with the scheduler, and we show that the scheduler can easily be extended with profiling hooks, to measure performance metrics while the program is running, non-invasively. These profiling hooks mirror a key mathematical structure which is widely used in the parallel algorithms and parallel programming literature.

Featured Image

Why is it important?

Performance engineering is often ad-hoc and specialized to particular compilers and ecosystems. This paper presents a path towards shared interfaces and terminology, identifying a common underlying mechanism that many ad-hoc dynamic analyses share.

Perspectives

One interesting takeaway is that it is possible to add modest overheads to existing scheduler actions with essentially no significant impact on application performance, at least for many common applications. The reason is that these applications already are sufficiently granularity-controlled to amortize the overhead of scheduling, and the margins here are quite permissive.

Sam Westrick
New York University

Read the Original

This page is a summary of: Scheduler Augmentation: A Lightweight, Customizable, Low-Cost Profiling Technique for Fork-Join Parallel Programs, July 2026, ACM (Association for Computing Machinery),
DOI: 10.1145/3816782.3819212.
You can read the full text:

Read

Contributors

The following have contributed to this page