search menu icon-carat-right cmu-wordmark

An Application-Level Implementation of the Sporadic Server

Technical Report
The purpose of this paper is to introduce a sporadic server algorithm that can be implemented as an application-level task, and that can be used when no runtime or operating system level implementation of the sporadic server is available.
Publisher

Software Engineering Institute

CMU/SEI Report Number
CMU/SEI-91-TR-026

Abstract

The purpose of this paper is to introduce a sporadic server algorithm that can be implemented as an application-level task, and that can be used when no runtime or operating system level implementation of the sporadic server is available. The sporadic server is a simple mechanism that both limits and guarantees a certain amount of execution power dedicated to servicing aperiodic requests with soft or hard deadlines in a hard real-time system. The sporadic server is event-driven from an application viewpoint, but appears as a periodic task for the purpose of analysis and, consequently, allows the use of analysis methods such as rate monotonic analysis to predict the behavior of the real-time system. 

When the sporadic server is implemented at the application-level, without modification to the runtime executive or the operating system, some of its requirements cannot be met strictly and, therefore, some simplifications need to be assumed. We show that even with these simplifications, the application-level sporadic server proposed in this paper has the same worst-case performance as the full-featured runtime sporadic server algorithm, although the average case performance is slightly worse. The implementation requirements are a runtime prioritized preemptive scheduler and system calls to change a task's or thread's priority. Two implementations are introduced in this paper, one ADA and the other for POSIX 1003.4a, Threads Extension to Portable Operating Systems.

Cite This Technical Report

Gonzalez Harbour, M., & Sha, L. (1991, September 1). An Application-Level Implementation of the Sporadic Server. (Technical Report CMU/SEI-91-TR-026). Retrieved May 24, 2024, from https://insights.sei.cmu.edu/library/an-application-level-implementation-of-the-sporadic-server/.

@techreport{gonzalez_harbour_1991,
author={Gonzalez Harbour, Michael and Sha, Lui},
title={An Application-Level Implementation of the Sporadic Server},
month={Sep},
year={1991},
number={CMU/SEI-91-TR-026},
howpublished={Carnegie Mellon University, Software Engineering Institute's Digital Library},
url={https://insights.sei.cmu.edu/library/an-application-level-implementation-of-the-sporadic-server/},
note={Accessed: 2024-May-24}
}

Gonzalez Harbour, Michael, and Lui Sha. "An Application-Level Implementation of the Sporadic Server." (CMU/SEI-91-TR-026). Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, September 1, 1991. https://insights.sei.cmu.edu/library/an-application-level-implementation-of-the-sporadic-server/.

M. Gonzalez Harbour, and L. Sha, "An Application-Level Implementation of the Sporadic Server," Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, Technical Report CMU/SEI-91-TR-026, 1-Sep-1991 [Online]. Available: https://insights.sei.cmu.edu/library/an-application-level-implementation-of-the-sporadic-server/. [Accessed: 24-May-2024].

Gonzalez Harbour, Michael, and Lui Sha. "An Application-Level Implementation of the Sporadic Server." (Technical Report CMU/SEI-91-TR-026). Carnegie Mellon University, Software Engineering Institute's Digital Library, Software Engineering Institute, 1 Sep. 1991. https://insights.sei.cmu.edu/library/an-application-level-implementation-of-the-sporadic-server/. Accessed 24 May. 2024.

Gonzalez Harbour, Michael; & Sha, Lui. An Application-Level Implementation of the Sporadic Server. CMU/SEI-91-TR-026. Software Engineering Institute. 1991. https://insights.sei.cmu.edu/library/an-application-level-implementation-of-the-sporadic-server/