Henzinger, Thomas AIST Austria ; Kirsch, Christoph M ; Matic, Slobodan
We introduce the paradigm of schedule-carrying code (SCC). A hard real-time program can be executed on a given platform only if there exists a feasible schedule for the real-time tasks of the program. Traditionally, a scheduler determines the existence of a feasible schedule according to some scheduling strategy. With SCC, a compiler proves the existence of a feasible schedule by generating executable code that is attached to the program and represents its schedule. An SCC executable is a real-time program that carries its schedule as code, which is produced once and can be revalidated and executed with each use. We evaluate SCC both in theory and practice. In theory, we give two scenarios, of nonpreemptive and distributed scheduling for Giotto programs, where the generation of a feasible schedule is hard, while the validation of scheduling instructions that are attached to the programs is easy. In practice, we implement SCC and show that explicit scheduling instructions can reduce the scheduling overhead up to 35% and can provide an efficient, flexible, and verifiable means for compiling Giotto programs on complex architectures, such as the TTA.
This work was supported by the AFOSR MURI grant F49620-00-1-0327, the California MICRO grant 01-037, the DARPA grant F33615-C-98-3614, the MARCO grant 98-DT-660, and the NSF grants CCR-0208875, CCR-0085949, and CCR-0225610.
241 - 256
EMSOFT: Embedded Software
Henzinger TA, Kirsch C, Matic S. Schedule-carrying code. In: Vol 2855. ACM; 2003:241-256. doi:10.1007/978-3-540-45212-6_16
Henzinger, T. A., Kirsch, C., & Matic, S. (2003). Schedule-carrying code (Vol. 2855, pp. 241–256). Presented at the EMSOFT: Embedded Software , ACM. https://doi.org/10.1007/978-3-540-45212-6_16
Henzinger, Thomas A, Christoph Kirsch, and Slobodan Matic. “Schedule-Carrying Code,” 2855:241–56. ACM, 2003. https://doi.org/10.1007/978-3-540-45212-6_16.
T. A. Henzinger, C. Kirsch, and S. Matic, “Schedule-carrying code,” presented at the EMSOFT: Embedded Software , 2003, vol. 2855, pp. 241–256.
Henzinger TA, Kirsch C, Matic S. 2003. Schedule-carrying code. EMSOFT: Embedded Software , LNCS, vol. 2855. 241–256.
Henzinger, Thomas A., et al. Schedule-Carrying Code. Vol. 2855, ACM, 2003, pp. 241–56, doi:10.1007/978-3-540-45212-6_16.