Implicitly parallel real-time signal processing
Phillip Nico
Department of Computer Science
University of California, Davis
Davis, CA 95616
John Feo
Tera Computer Company
2815 Eastlake Avenue East
Seattle, WA 98102
Robert Kim Yates
Lawrence Livermore National Laboratory
L-560, P.O. Box 808,
Livermore, CA 94550
Abstract
This paper describes a compiler system
for automatic parallelization, partitioning, and scheduling of
real-time signal processing applications
written in a functional language running on general-purpose hardware.
The high performance levels achieved by commodity processors can meet the
demands of many real-time signal processing applications; however, they are
not used effectively in practice because tools are not available
to automatically create parallel partitions and schedules for
DSP application codes that have critical time needs.
We have extended Sisal, a high-performance functional
language for scientific computations, with constructs to express
latency and throughput constraints. Given a description of the
target architecture and an application with specified timing requirements,
the SERT compiler generates a precise, minimal data dependency graph
and then partitions and creates a parallel schedule for the graph to
satisfy the
specified constraints if possible. When complete, SERT's ability to
rapidly and automatically generate parallel schedules for different system
configurations will make it an effective aide to real-time systems
developers.
Full paper
Appears in
Proceedings of the 1997 ACM
SIGPLAN Workshop on Languages, Compilers and Tools for Real-Time
Systems, Las Vegas, Nevada, June 1997.