Dispatching Domains for Multiprocessor Platforms and Their Representation in Ada

Multiprocessor platforms are becoming the norm for more powerful embedded real-time systems. Although Ada allows its programs to be executed on such platforms it provides no explicit support. If Ada is going to be an effective language for multiprocessor real-time systems then it needs to address the mapping issue that will allow the programmer to express their requirements for task to processor affinity. A number of different mapping and scheduling approaches are advocated in the scheduling literature. The primitives in the language should allow these schemes to be directly supported. In this paper we propose extensions to Ada 2005 to introduce the notion of dispatching domains, and we show how these can be used to implement two example multiprocessor scheduling approaches.

[1]  John K. Ousterhout Scheduling Techniques for Concurrebt Systems. , 1982, ICDCS 1982.

[2]  Björn Andersson,et al.  Sporadic Multiprocessor Scheduling with Few Preemptions , 2008, 2008 Euromicro Conference on Real-Time Systems.

[3]  Björn Andersson,et al.  Fixed-priority preemptive multiprocessor scheduling: to partition or not to partition , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[4]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[5]  Stephen Michell,et al.  Realtime paradigms needed post Ada 2005 , 2010, ALET.

[6]  A. Burns,et al.  Supporting execution on multiprocessor platforms , 2010, ALET.

[7]  A. Burns,et al.  Ada and cc-NUMA architectures what can be achieved with Ada 2005? , 2010, ALET.

[8]  Alan Burns,et al.  Beyond Ada 2005: allocating tasks to processors in SMP systems , 2007 .

[9]  Björn Andersson,et al.  Implementing Multicore Real-Time Scheduling Algorithms Based on Task Splitting Using Ada 2012 , 2010, Ada-Europe.

[10]  Shinpei Kato,et al.  Portioned EDF-based scheduling on multiprocessors , 2008, EMSOFT '08.

[11]  Hennadiy Leontyev,et al.  A Flexible Real-Time Locking Protocol for Multiprocessors , 2007, 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007).