Page 30 - DCAP608_REAL TIME SYSTEMS
P. 30
Unit 2: Introduction to Real-time Applications
9. Digital signal processing systems analyse, produce, and transform discrete-time signals. Notes
10. A discrete-time signal is a function that is defined at any set of values of time.
11. Industrial applications constitute a major usage area of real-time systems.
12. A cellular system usually maps a city into cells.
Case Study Developing High-performance Radar Applications
Using the VSIPL++ API
he need for high-performance Signal- and Image-Processing (SIP) applications is
driving interest in parallel and multicore hardware for military embedded systems.
THowever, programing such complex architectures can increase development costs
by reducing developer productivity and code reuse. Leveraging a library that implements
the high-level VSIPL++ API provides a way for SIP software developers to take advantage
of the performance potential of parallel and multicore hardware systems while satisfying
schedule and cost constraints.
The problem: Getting from prototype to high-performance production code efficiently.
Consider the following challenge. A software developer has a Scalable Synthetic Aperture
Radar (SSAR) benchmark expressed in 50 lines of MATLAB code. The developer needs to
implement that benchmark to achieve good performance on two very different systems –
a conventional x86 processor and a heterogeneous, multicore Cell Broadband Engine
(Cell/B.E.) processor – in just one week.
For background, Synthetic Aperture Radar (SAR) is used for a variety of imaging and
remote sensing applications, including reconnaissance, surveillance, and terrain mapping.
To standardize benchmarking this common algorithm, MIT Lincoln Laboratory created a
scalable synthetic SAR application as part of the High Performance Embedded Computing
(HPEC) Challenge. The benchmark demonstrates the intense computational requirements
found in actual systems using synthetic (and scalable) data. The raw radar returns are
processed by means of a 2D Fourier matched filtering step, a spatial frequency interpolation
step, and a transformation back to the spatial domain. Key mathematical operations, as in
any SAR application, include FFTs, matrix multiplication, and interpolation. Thus, a
software development technique that offers benefits for this SSAR’s benchmark points to
an approach that is likely to work for larger SIP applications as well.
The first step: Choosing a library-based solution
If high performance were the only goal, the developer could consider coding the algorithm
in a low-level language such as C or assembly code. But the time constraints (only a week)
combined with the need to develop for both an x86 and a Cell/B.E. processor, make this
approach unworkable.
With a portable library, though, the same application code will run on more than one
system. And a library allows a developer to program for an unfamiliar architecture, such
as the Cell/B.E., in a familiar language using familiar development tools. The key is to
find a library at the right level of abstraction – high enough to provide the necessary
primitives for the application domain but low enough to allow for efficient implementations
and thus high performance.
Contd...
LOVELY PROFESSIONAL UNIVERSITY 25