Back To Schedule

Efficient Task Scheduling in a Multithreaded Audio Engine

00:00 - 00:00 | Friday 31st October 2025 |
Intermediate
Advanced

The engine of an audio application is responsible for executing tasks in a sequence that ensures prerequisites are completed before dependent tasks begin. However, computing resources are limited, even on modern, multi-core machines, and there are often more ready tasks than there are threads available to execute them. How can programs determine which tasks to assign to which threads and in what order? Are there specific challenges when it comes to scheduling tasks in real-time audio applications? How do different approaches to scheduling impact performance? This talk will address these questions and describe in particular the impact of using work-stealing queues to schedule audio processing tasks in a DAW.

Rachel Susser

Rachel Susser is a software engineer with over 10 years of industry experience in developing real-time audio software in C++. She has worked at both the operating system and application level for companies including ROLI, Apple, and Ableton. Teaching and mentoring are an important part of her work; she is the founder and facilitator of the Better Code Study Group at Ableton and also co-coordinates the Audio Developer Meetup Berlin. Rachel is a flutist and performs regularly with various ensembles.

VolumetricCondensed