- freely available
Exact and Heuristic Algorithms for Thrift Cyclic Scheduling
AbstractNon-preemptive schedulers, despite their many discussed drawbacks, remain a very popular choice for practitioners of real-time and embedded systems. The non-preemptive ‘thrift’ cyclic scheduler—variations of which can be found in other application areas—has recently received considerable attention for the implementation of such embedded systems. A thrift scheduler provides a flexible and compact implementation model for periodic task sets with comparatively small overheads; additionally, it can overcome several of the problems associated with traditional ‘cyclic executives’. However, severe computational difficulties can still arise when designing schedules for non-trivial task sets. This paper is concerned with an optimization version of the offset-assignment problem, in which the objective is to assign task offsets such that the required CPU clock speed is minimized whilst ensuring that task overruns do not occur; it is known that the decision version of this problem is complete for Σ2p. The paper first considers the problemof candidate solution verification—itself strongly coNP-Complete—and a fast, exact algorithm for this problem is proposed; it is shown that for any fixed number of tasks, its execution time is polynomial. The paper then proposes two heuristic algorithms of pseudopolynomial complexity for solving the offset-assignment problem, and considers how redundant choices of offset combinations can be eliminated to help speed up the search. The performance of these algorithms is then experimentally evaluated, before conclusions are drawn.
Share & Cite This Article
Export to BibTeX | EndNote
MDPI and ACS Style
Short, M.J. Exact and Heuristic Algorithms for Thrift Cyclic Scheduling. Algorithms 2009, 2, 1449-1472.View more citation formats
Short MJ. Exact and Heuristic Algorithms for Thrift Cyclic Scheduling. Algorithms. 2009; 2(4):1449-1472.Chicago/Turabian Style
Short, Michael J. 2009. "Exact and Heuristic Algorithms for Thrift Cyclic Scheduling." Algorithms 2, no. 4: 1449-1472.