Abstract
In a cyclic executive, a series of pre-determined frames are executed in sequence; once the series is complete the sequence is repeated. Within each frame individual units of computation are executed, again in a pre-specified sequence. The implementation of cyclic executives upon multi-core platforms is considered. A Linear Programming (LP) based formulation is presented of the problem of constructing cyclic executives upon multiprocessors for a particular kind of recurrent real-time workload – collections of implicit-deadline periodic tasks. Techniques are described for solving the LP formulation under different kinds of restrictions in order to obtain preemptive and non-preemptive cyclic executives.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Multiple major schedules may be defined for a single system, specifying the desired system behavior for different modes of system operation; switching between modes is accomplished by swapping the major schedule used. If a major cycle is of not too large a duration, then switches between modes may be restricted to only occur at the end of major cycles.
- 2.
We highlight that these are periodic, not sporadic, tasks: \(\tau _i\) generates jobs at time-instants \(k\times T_i\), for all \(k\in \mathbb {N}\).
- 3.
Recall from Sect. 4.1 above that a basic solution to an LP is an optimal solution that is a vertex point of the feasible region defined by the constraints of the LP.
References
Baker, T.P., Shaw, A.: The cyclic executive model and Ada. In: Proceedings of the IEEE Real-Time Systems Symposium, pp. 120–129 (1988)
Bini, E., Buttazzo, G.: Measuring the performance of schedulability tests. Real-Time Syst. 30(1–2), 129–154 (2005)
Burns, A., Fleming, T., Baruah, S.: Cyclic executives, multi-core platforms and mixed criticality applications. In: Proceedings of the 2015 27th EuroMicro Conference on Real-Time Systems, ECRTS 2015. IEEE Computer Society Press, Lund (Sweden) (2015)
Epstein, L., Levin, A.: Scheduling with processing set restrictions: PTAS results for several variants. Int. J. Prod. Econ. 133(2), 586–595 (2011)
Fleming, T., Burns, A.: Extending mixed criticality scheduling. In: Proceedings of the International Workshop on Mixed Criticality Systems (WMC), December 2013
Gurobi Optimization Inc: Gurobi Optimizer Reference Manual (2016). http://www.gurobi.com
Karmakar, N.: A new polynomial-time algorithm for linear programming. Combinatorica 4, 373–395 (1984)
Karp, R.: Reducibility among combinatorial problems. In: Miller, R., Thatcher, J. (eds.) Complexity of Computer Computations, pp. 85–103. Plenum Press, New York (1972)
Khachiyan, L.: A polynomial algorithm in linear programming. Dokklady Akademiia Nauk SSSR 244, 1093–1096 (1979)
Lenstra, J.K., Shmoys, D., Tardos, E.: Approximation algorithms for scheduling unrelated parallel machines. Math. Program. 46, 259–271 (1990)
Liu, J.W.S.: Real-Time Systems. Prentice-Hall Inc., Upper Saddle River (2000)
McNaughton, R.: Scheduling with deadlines and loss functions. Manag. Sci. 6, 1–12 (1959)
Acknowledgements
This research is supported by NSF grants CNS 1409175 and CPS 1446631, AFOSR grant FA9550-14-1-0161, and ARO grant W911NF-14-1-0499.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Deutschbein, C., Fleming, T., Burns, A., Baruah, S. (2017). Multi-core Cyclic Executives for Safety-Critical Systems. In: Larsen, K., Sokolsky, O., Wang, J. (eds) Dependable Software Engineering. Theories, Tools, and Applications. SETTA 2017. Lecture Notes in Computer Science(), vol 10606. Springer, Cham. https://doi.org/10.1007/978-3-319-69483-2_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-69483-2_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-69482-5
Online ISBN: 978-3-319-69483-2
eBook Packages: Computer ScienceComputer Science (R0)