With modern processors and more dynamic application requirements it is becoming increasingly difficult to produce tight upper bounds on the worst-case execution time of real-time tasks. As a result, at run-time, considerable spare CPU capacity (termed gain time) becomes available that must be usefully employed if cost effective real-time systems are to be engineered. In this paper we introduce a scheme by which gain time is exploited by retrospectively reassigning execution time from a task's own budget to the gain time that later become available. As a result of changing the system's execution history, spare capacity is immediately reallocated and hence preserved. The proposed scheme is shown to work with fixed priority dispatching, the use of servers to provide temporal firewalls, and other capacity sharing approaches. Evaluations are provided via simulations.

BibTex Entry

@inproceedings{Bernat2004,
 address = {Lisbon, Portugal},
 author = {G. Bernat and I. Broster and A. Burns},
 booktitle = {Proceedings Real-time Systems Symposium},
 organization = {Computer Society},
 pages = {328--335},
 publisher = {IEEE},
 title = {Rewriting History to Exploit Gain Time},
 year = {2004}
}