Implementing Sporadic Servers in ADA
May 1990 • Technical Report
This 1990 paper presents the data structures and algorithms for implementing sporadic servers in real-time systems programmed in ADA.
Software Engineering Institute
CMU/SEI Report Number
The purpose of this paper is to present the data structures and algorithms for implementing sporadic servers in real-time systems programmed in ADA. The sporadic server algorithm is an extension of the rate monotonic scheduling algorithm. Sporadic servers are tasks created to provide limited and usually high-priority service for other tasks, especially aperiodic tasks. Sporadic servers can be used to guarantee deadlines for hard-deadline aperiodic tasks and provide substantial improvements in average response times for soft-deadline aperiodic tasks over polling techniques. Sporadic servers also provide a mechanism for implementing the Period Transformation technique that can guarantee that a critical set of periodic tasks will always meet their deadlines during a transient overload. Sporadic servers can also aid fault detection and containment in a real-time system by limiting the maximum execution time consumed by a task and detecting attempts to exceed a specified limit. This paper discusses two types of implementations for the sporadic server algorithm: (1) a partial implementation using an ADA task that requires no modifications to the ADA runtime system and (2) a full implementation within the ADA runtime system. The overhead due to the runtime sporadic server implementation and options for reducing this overhead are discussed. The interaction of sporadic servers and the priority ceiling protocol is also defined.