Supporting Complex Real-Time Workloads on Multicore Platforms

Funded by the U.S. Air Force Office of Scientific Research.

PI: Jim Anderson. Co-PI: Sanjoy Baruah.

The Challenge.

The advent of multicore technologies is a profound development that is impacting software design processes across a wide range of application domains. This project is directed at an important category of such applications, namely, those that have real-time constraints. The project's specific focus is complex systems that may have components with different kinds of timing constraints (hard real-time, soft real-time, best-effort) and different criticalities. To enable the deployment of such systems on multicore platforms, suitable infrastructure, in the form of scheduling and synchronization methods and associated analysis techniques for validating timing constraints, must be provided.

The Approach.

The objective of this project is to provide this needed infrastructure. This objective will be met by developing a multicore-ready real-time container framework. A container is a resource-allocation abstraction that allows a task group to be "contained" and isolated from the rest of this system. In real-time systems, such an abstraction is realized through the use of scheduling policies and associated synchronization protocols that ensure "temporal isolation" among different system components. Prior work on real-time containers has almost exclusively focused on uniprocessors. In this project, a more general real-time container framework will be developed that is able to deal with the many complexities that arise on multicore platforms. In addition, a proof-of-concept implementation will be produced by implementing the container framework that is devised in a UNC-developed Linux-based system called LITMUSRT (LInux Testbed for MUltiprocessor Scheduling in Real-Time systems).

Significance.

This research has been partially motivated by collaborative research efforts between the investigators and colleagues at Honeywell and Northrop Grumman, who are interested in determining the viability of using multicore platforms in avionics systems to host workloads that include safety-critical components. A key issue in this domain is the ability to certify system designs. A suitable container abstraction can enable different system components to be developed and validated independently. Such functionality is of critical importance in the avionics domain.


Last modified 4 August 2010