Skip Navigation
Text:
Increase font size
Decrease font size

    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.

    Document Actions