Abstract
Multiprocessors, particularly in the form of multicores, are becoming standard building blocks for executing reliable software. But their use for applications with hard real-time requirements is non-trivial. Well-known real-time scheduling algorithms in the uniprocessor context (Rate-Monotonic [1] or Earliest-Deadline-First [1]) do not perform well on multiprocessors. For this reason the scientific community in the area of real-time systems has produced new algorithms specifically for multiprocessors. In the meanwhile, a proposal [2] exists for extending the Ada language with new basic constructs which can be used for implementing new algorithms for real-time scheduling; the family of task splitting algorithms is one of them which was emphasized in the proposal [2]. Consequently, assessing whether existing task splitting multiprocessor scheduling algorithms can be implemented with these constructs is paramount. In this paper we present a list of state-of-art task-splitting multiprocessor scheduling algorithms and, for each of them, we present detailed Ada code that uses the new constructs.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Liu, C.L., Layland, J.W.: Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. Journal of the ACM 20, 46–61 (1973)
Burns, A., Wellings, A.: Supporting Execution on Multiprocessor Platforms. In: Proc. of 14th International Real-Time Ada Workshop (2009)
Andersson, B., Tovar, E.: Multiprocessor Scheduling with Few Preemptions. In: Proc. of The 12th IEEE International Conference on Embedded and Real-Time Computing and Application, pp. 322–334 (2006)
Andersson, B., Bletsas, K.: Sporadic Multiprocessor Scheduling with Few Preemptions. In: Proc. of 20th Euromicro Conference on Real-Time Systems, pp. 243–252 (2008)
Andersson, B., Bletsas, K., Baruah, S.K.: Scheduling Arbitrary-Deadline Sporadic Task Systems on Multiprocessors. In: Proc. of 29th IEEE Real-Time Systems Symposium, pp. 385–394 (2008)
Andersson, B., Bletsas, K.: Notional Processors: An Approach for Multiprocessor Scheduling. In: Proc. of 15th IEEE Real-Time and Embedded Technology and Applications Symposium, pp. 3–12 (2009)
Bletsas, K., Andersson, K.: Preemption-light multiprocessor scheduling of sporadic tasks with high utilisation bound. In: Proc. of 30th IEEE Real-Time Systems Symposium (2009)
Kato, S., Yamasaki, N., Ishikawa, Y.: Semi-Partitioned Scheduling of Sporadic Task Systems on Multiprocessors. In: Proc. of 21st Euromicro Conference on Real-Time Systems (ECRTS 2009), pp. 249–258 (2009)
Lakshmanan, K., Rajkumar, R., Lehoczky, J.: Partitioned Fixed-Priority Preemptive Scheduling for Multi-Core Processors. In: Proc. of 21st Euromicro Conference on Real-Time Systems, pp. 239–248 (2009)
Wellings, A., Burns, A.: Beyond Ada 2005: Allocating Tasks to Processors in SMP Systems. In: Proc. of 13th International Real-Time Ada Workshop (2007)
Ada Issue 307 Execution-Time Clocks (2006), http://www.sigada.org/ada_letters/apr2006/AI-00307.pdf
Brandenburg, B., Calandrino, J., Anderson, J.: On the Scalability of Real-Time Scheduling Algorithms on Multicore Platforms: A Case Study. In: Proceedings of the 29th IEEE Real-Time Systems Symposium, December 2008, pp. 157–169 (2008)
Burns, A., Wellings, A.J.: Multiprocessor Systems Session Summary. In: 14th International Real-Time Ada Workshop (IRTAW-14)
Managing affinities for programs executing on multiprocessor platforms, AI-167 (2009) http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0167-1.txt?rev=1.1.
Rajkumar, R., Sha, L., Lehoczky, J.P.: Real-time synchronization protocols for multiprocessors. In: Proceedings 9th IEEE Real-Time Systems Symposium, pp. 259–269 (1988)
Burns, A., Wellings, A.J.: Dispatching Domains for Multiprocessor Platforms and their Representation in Ada. In: Real, J., Vardanega, T. (eds.) Ada-Europe 2010. LNCS, vol. 6106, pp. 41–53. Springer, Heidelberg (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Andersson, B., Pinho, LM. (2010). Implementing Multicore Real-Time Scheduling Algorithms Based on Task Splitting Using Ada 2012. In: Real, J., Vardanega, T. (eds) Reliable Software Technologiey – Ada-Europe 2010. Ada-Europe 2010. Lecture Notes in Computer Science, vol 6106. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13550-7_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-13550-7_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13549-1
Online ISBN: 978-3-642-13550-7
eBook Packages: Computer ScienceComputer Science (R0)