21–25 Sept 2026
Talley Student Union
America/New_York timezone
GRCon26 Call for Participation is Now Open

Real-Time Scheduling Support in GNU Radio 4

24 Sept 2026, 11:15
30m
Mountain Ballroom (Talley Student Union)

Mountain Ballroom

Talley Student Union

Paper (with talk) SDR Framework Development Main Track

Speaker

Tiancheng He (Vanderbilt University)

Description

GNU Radio 4 (GR4) introduces a modular scheduling framework in which
application-defined policies can replace the runtime's default dispatcher. This
is a powerful foundation for more predictable and efficient software-defined
radio. GR4's default scheduling policy already co-locates blocks on shared worker
threads, improving cache locality and reducing context-switching overhead
relative to GR3's thread-per-block design. From a scheduling-theory perspective,
however, three characteristics still limit how tightly timing can be controlled,
optimized, and analyzed. GR4's built-in schedulers differ only in how they
partition blocks into runlists; all share one core execution loop that (i) walks
each runlist in fixed sequential order, causing blocking and reducing
parallelism, and (ii) busy-polls, continuously retrying blocks to test input
availability regardless of whether data is ready. Separately, (iii) thread
priorities and CPU affinities are fixed at startup and never adapted, though the
architecture exposes primitives to change them at runtime.

This paper presents our early-stage work on a pluggable real-time scheduler for
GR4, built atop its modular scheduler API, with the goal of reducing end-to-end
latency and making flowgraph performance analyzable through results from
real-time scheduling theory. Two levers govern both: the order in which blocks
are dispatched, and the number of samples each block processes per invocation.
For ordering, we dispatch ready blocks using well-studied real-time scheduling
algorithms (e.g., Earliest Deadline First (EDF)),
to take advantage of real-time scheduling-theory results, instead of the
default, round-robin runlists. For sample counts, rather than adding new
mechanisms, we compute how to set GR4's existing batch-size controls (per-port
sample bounds and the per-invocation work limit) to trade throughput against
latency deliberately. Together these expose per-block timing parameters and
yield analytical bounds on latency and throughput for static flowgraphs, and are
realizable within GR4's modular scheduler. Finally, OS scheduling support such
as Linux SCHED_DEADLINE can also be leveraged to ensure timely CPU scheduling.

In this presentation and paper, we will discuss these motivations, background on
real-time scheduling theory and practice, and connect it to the GR4 scheduler
design. We will report our progress on this development effort and engage and
seek feedback from the GNU Rradio community.

Talk Length 30 Minutes
Acknowledge Acknowledge In-Person

Authors

Tiancheng He (Vanderbilt University) Joseph Goh (UNC Chapel Hill) Mr Syed Ali (UNC Chapel Hill) Joel Isaacson (Vanderbilt University) Mr Nicholas Carter (UNC Chapel Hill) Prof. Samarjit Chakraborty (UNC Chapel Hill) Prof. James Anderson (UNC Chapel Hill) Bryan Ward (Vanderbilt University)

Presentation materials

There are no materials yet.