Exact and heuristic algorithms for thrift cyclic scheduling (Q1662520)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | Exact and heuristic algorithms for thrift cyclic scheduling |
scientific article |
Statements
Exact and heuristic algorithms for thrift cyclic scheduling (English)
0 references
20 August 2018
0 references
Summary: Non-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 \(\Sigma_2^{\mathrm p}\). The paper first considers the problem of candidate solution verification -- itself strongly coNP-complete -- and a fast, exact algorithm for this problem is proposed; it is shown that for any \textit{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.
0 references
non-preemptive scheduling
0 references
offset-assignment
0 references
heuristics
0 references
complexity
0 references