GNU Radio and CEDR: Runtime Scheduling to Heterogeneous Accelerators
Accelerators in GNURadio have been previously
limited to requiring the selection of an accelerator
framework/block at design time. In this paper,
we present a preliminary investigation into
supporting two new capabilities with GNURadio:
first, we illustrate the ability to execute
GNURadio blocks across a variety of heterogeneous
accelerators (FPGA and GPU). Second,
we demonstrate that we are able to dynamically
schedule these blocks across our pool of accelerators
using easily-customizable scheduling policies.
We do this via a combination of out-oftree
modules and by embedding GNU Radio itself
as an application in a heterogeneous runtime
called CEDR (Mack et al., 2022). The
CEDR ecosystem provides a productive environment
for researching the combined challenges of
application design, systems software, and hardware
prototyping for heterogeneous systems, and
namely, it provides a flexible intelligent scheduling
(IS) interface by which the user can easily
adjust or prioritize how tasks are dispatched at
runtime to the various accelerators present on a
given system. The IS integrates a variety of runtime
schedulers that optimize for metrics such as
application performance and minimum scheduling algorithm overheads. The IS in tandem with
CEDR improves the performance of applications
through dynamic scheduling by efficiently utilizing
the resources at runtime.
- I grant gnuradio.org a perpetual, non-exclusive license to distribute this article.
- I certify that I have the right to grant this license.
- I understand that submissions cannot be completely removed once accepted.
- I understand that gnuradio.org reserves the right to reclassify or reject any submission.