Timing Is Usually Probabilistic

As this chapter points out, execution time on modern processors is extravagantly variable. Even if demand paging is ruled out, the execution time of a brief routine can occasionally be at least two orders of magnitude worse than its typical time. This is not good news for primitive deadline schedulers. It makes some form of failure inevitable. A primitive scheduler will blindly follow its algorithm, letting important deadlines fail in favor of trivial deadlines or allowing chain reactions that leverage a single missed deadline into a long sequence of missed deadlines.

Reacting to nondeterministic hardware is an issue for every scheduling algorithm, but priority scheduling is inherently tolerant of variable execution ...

Get Real-Time Java™ Platform Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.