Real-time Computing on Multicore Platforms

Principal Investigator:James Anderson
Funding Agency:U.S. Army Research Office
Agency Number:W911NF-06-1-0425

Abstract
Thermal and power problems impose limits on the performance that chips with a
single processing unit can deliver. Multicore architectures (or
chip multiprocessors), which include multiple processing units on a single
chip, are being widely touted as a way to circumvent this impediment. Several
chip manufactures have released, or will soon release, dual-core chips. Such
chips include Intel’s Pentium D and Pentium Extreme Edition, IBM’s PowerPC,
AMD’s Opteron, and Sun’s UltraSPARC IV. A few designs with more than two cores
have also been announced. For instance, Sun expects to ship its eight-core
Niagara chip by early 2006. In addition, IBM recently introduced the Cell
processor, which includes, on the same chip, a dual-core PowerPC plus eight
“synergistic processing elements’ that are optimized for single- and
double-precision mathematical calculations. Intel is expected to release four-,
eight-, 16-, and perhaps even 32-core chips within a decade. Special-purpose
multicore systems, such as network processors, have also been available for
several years now.

For software designs to take advantage of the parallelism available in these
systems, careful attention must be paid to resource-allocation issues. For
throughput-oriented applications, some initial work on resource-allocation
tradeoffs has been done. However, no such work has targeted
real-time applications, which require very different scheduling
methods, as they need performance guarantees. In this project, an approach will
be investigated for synthesizing real-time applications on multicore systems.
Both hard real-time applications, in which deadlines can never be missed, and
soft real-time applications, in which some deadline misses are tolerable, will
be considered. Examples of the former include control and tracking systems,
and examples of the latter include multimedia and gaming systems.

In multicore systems, care must be taken when allocating tasks in order to avoid
thrashing shared on-chip caches. In real-time systems, of course, there is an
additional objective of meeting real-time constraints. The main objective of
this project is to develop scheduling and allocation schemes that address both
concerns. This objective is made more difficult by the fact that multicore
platforms are multiprocessors. The allocation framework that is
proposed to meet this objective is based upon a novel cache-cognizant real-time
multiprocessor scheduling algorithm that is near-optimal in its ability to
schedule real-time workloads. This algorithm is superior to other known methods
in its ability to ensure timing constraints, and its use on multicore platforms
can result in substantially better performance than other approaches. However,
the development of a complete resource-allocation and scheduling framework will
require further work on several topics. The proposed research agenda includes
research on these topics and an associated experimental evaluation. The
proposed evaluation includes experiments with synthetically-generated real-time
workloads on a multicore simulator, and experiments on an actual multicore
platform involving multimedia and data-fusion applications of interest to the
Army.

Relevance to ARO’s objectives.

With the ongoing shift to multicore technologies, future real-time workloads
will likely be deployed on multiprocessor platforms that differ
significantly from the kinds of platforms considered in prior work. This
project, if funded, would be the first attempt within the real-time-systems
research community to acknowledge these differences and to attempt to deal with
them. This technology shift obviously will affect the Army as well: in the
future, multicore platforms will be the “standard’ computing
platform in many settings, and real-time applications of relevance to the Army
will be deployed on them. In addition, the ability to process
multimedia data content and to support data-fusion functions in real time in
battlefield scenarios is an important objective in supporting battlefield
situational awareness.

Comments are closed.