You are here

Overcoming RTOS Barriers to Deployment of Innovative Real-Time/Embedded Systems


TECHNOLOGY AREA(S): Information Systems

OBJECTIVE: To enable innovative multi-core real-time software systems to be developed without expensive, time-consuming, and hazardous modification of real-time operating system (RTOS) kernels.

DESCRIPTION: The advent of new multi-core computing platforms in recent years has brought with it the potential for deploying real-time/embedded systems with far more computational throughput than ever before. If leveraged properly, multi-core platforms could enable a new generation of “intelligent” systems, such as unmanned aerial vehicles (UAVs) and commercial robots. However, carrying out computational processing in a manner that efficiently and effectively utilizes multi-core platforms is a tremendous challenge. To a large degree, academic researchers have risen to this challenge, developing and testing a wide array of new techniques for real-time software scheduling and synchronization on multi-core platforms. These advances have far outpaced improvements in commercial real-time operating system (RTOS) offerings. Because modifying a commercial RTOS is hazardous, costly, and time-consuming for RTOS vendors and all but infeasible for RTOS users, this problem is likely to only grow in scope in the foreseeable future. In an effort to alleviate this problem, it is worthwhile to investigate methods for decoupling RTOS kernel services from real-time application scheduling and synchronization. Such a decoupling would allow application developers to make use of innovations from academia in multi-core software scheduling while still deploying software atop existing, unmodified RTOS kernels. The ultimate goal is a software package and/or library containing middleware and reusable software components that facilitate the described decoupling and that can easily be deployed by industry practitioners. Industrial practitioners would then benefit from the ability to select and deploy resource allocation techniques commensurate with their particular applications, rather than being “shoehorned” into the relatively “one-size-fits-all” traditional commercial/open-source RTOS software model.

PHASE I: In decoupling RTOS functionality from application-level scheduling functionality, a number of implementation choices must be made. In this phase, these choices should be formally categorized and analyzed using asymptotic techniques to illustrate their theoretical schedulability properties. Particularly promising techniques in terms of schedulability and synchronization when compared to results using existing RTOS should be identified.

PHASE II: In this phase, software packages to facilitate the methods of decoupling identified in Phase I will be developed and evaluated by comparing the performance of this decoupling on real-time scheduling applications to the performance of the same applications on existing RTOS. This comparison may be done in simulation but a significant performance enhancement over existing RTOS implementations needs to be demonstrated.

PHASE III DUAL USE APPLICATIONS: This project will result in reusable software components, easily deployed by developers, which enable the fielding of multi-core applications with innovative performance features. Such software components would be a valuable supplement to existing RTOS kernels and would potentially find use in myriad “intelligent” real-time/embedded systems deployed by both military and commercial interests.


    • A. Block, J. Anderson, and U. Devi, “Task Reweighting under Global Scheduling on Multiprocessors”, Real-Time Systems , special issue on selected papers from the 18th Euromicro Conference on Real-Time Systems, Volume 39, Number 1-3, pp. 123-167, August 2008.


    • B. Brandenburg and J. Anderson, “Optimality Results for Multiprocessor Real-Time Locking”, Proceedings of the 31st IEEE Real-Time Systems Symposium, pp. 49-60, December 2010.


    • B. Brandenburg and J. Anderson, “On the Implementation of Global Real-Time Schedulers”, Proceedings of the 30th IEEE Real-Time Systems Symposium, pp. 214-224, December 2009.


    • B. Brandenburg and J. Anderson, “Joint Opportunities for Real-Time Linux and Real-Time Systems Research”, Proceedings of the 11th Real-Time Linux Workshop, pp. 19-30, September 2009.


  • M. Mollison, J. Erickson, J. Anderson, S. Baruah, and J. Scoredos, “Mixed Criticality Real-Time Scheduling for Multicore Systems”, Proceedings of the 7th IEEE International Conference on Embedded Software and Systems, June 2010.

KEYWORDS: Multi-core processors, real-time software systems, real-time operating system kernels, decoupling kernel services, real-time scheduling and synchronization

  • TPOC-1: Dr. Mike Coyle
  • Phone: 919-549-4256
  • Email:
US Flag An Official Website of the United States Government