Abstract
We propose a partially non-preemptive dual priority scheduling algorithm (PNPDP) for multiprocessors. In dual priority scheduling, each task has two fixed priorities. When a job is released, it executes at its task’s lower priority. After some fixed amount of time, its priority is promoted. Our approach is to prevent lower priority jobs from preempting one another. We use the tasks’ Worst Case Response Times to determine when a promotion must occur in order to guarantee all deadlines will be met. During execution, this promotion time is adjusted to extend non-preemptive execution of lower priority tasks whenever possible. Tasks executing at their promoted priorities are scheduled using preemptive fixed priority (FP) scheduling algorithm. Experimental results demonstrate that this approach reduces the preemption and migration overheads by as much as 90%. Moreover we found that many FP-unschedulable task sets are PNPDP-schedulable.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Andersson, B., Jonsson, J.: Fixed-priority preemptive multiprocessor scheduling: to partition or not to partition. In: IEEE Embedded and Real-Time Computing Systems and Applications (RTCSA), Cheju Island, South Korea, pp. 337–346 (2000)
Andersson, B.: Global Static-Priority Preemptive Multiprocessor Scheduling with Utilization Bound 38%. In: Baker, T.P., Bui, A., Tixeuil, S. (eds.) OPODIS 2008. LNCS, vol. 5401, pp. 73–88. Springer, Heidelberg (2008)
Baker, T.: An analysis of fixed-priority schedulability on a multiprocessor. Real-Time Systems 32, 49–71 (2006)
Banus, J.M., Arenas, A., Labarta, J.: Extended global dual priority algorithm for multiprocessor scheduling in hard real-time systems. In: Euromicro Conference on Real-Time Systems WIP (ECRTS), Palma de Mallorca, Spain, pp. 13–16 (2005)
Baruah, S.: The limited-preemption uniprocessor scheduling of sporadic task systems. In: IEEE Real-Time Systems Symposium (RTSS), Miami, Florida, USA, pp. 137–144 (2005)
Bastoni, A., Brandenburg, B.B., Anderson, J.H.: An empirical comparison of global, partitioned, and clustered multiprocessor EDF schedulers. In: IEEE Real-Time Systems Symposium (RTSS), San Diego, CA, USA, pp. 14–24 (2010)
Bertogna, M., Cirinei, M.: Response-time analysis for globally scheduled symmetric multiprocessor platforms. In: IEEE Real-Time Systems Symposium (RTSS), Tucson, AZ, USA, pp. 149–160 (2007)
Bril, R.J., Lukkien, J.J., Verhaegh, W.F.J.: Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption revisited. In: Euromicro Conference on Real-Time Systems (ECRTS), Pisa, Italy, pp. 269–279 (2007)
Burns, A., Wellings, A.: Real-Time Systems and Programming Languages, 3rd edn. Addison-Wesley (2001)
Davis, R., Wellings, A.: Dual priority scheduling. In: IEEE Real-Time Systems Symposium (RTSS), Pisa, Italy, pp. 100–109 (1995)
Davis, R.I., Burns, A.: Priority assignment for global fixed priority pre-emptive scheduling in multiprocessor real-time systems. In: IEEE Real-Time Systems Symposium (RTSS), Washington, D.C., USA, pp. 398–409 (2009)
Davis, R.I., Burns, A.: FPZL schedulability analysis. In: IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), Chicago, IL, USA, pp. 245–256 (2011)
Gopalakrishnan, R., Parulkar, G.M.: Bringing real-time scheduling theory and practice closer for multimedia computing. In: ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS), Philadelphia, PA, USA, pp. 1–12 (1996)
Guan, N., Stigge, M., Yi, W., Yu, G.: New response time bounds for fixed priority multiprocessor scheduling. In: IEEE Real-Time Systems Symposium (RTSS), Washington, DC, USA, pp. 387–397 (2009)
Ha, R., Liu, J.W.S.: Validating timing constraints in multiprocessor and distributed real-time systems. In: Proceedings of the 14th International Conference on Distributed Computing Systems (ICDCS), Poznan, Poland, pp. 162–171 (1994)
Jejurikar, R., Gupta, R.: Procrastination scheduling in fixed priority real-time systems. In: Proceedings of the 2004 ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), Washington, DC, USA, pp. 57–66 (2004)
Lehoczky, J., Sha, L., Ding, Y.: The rate monotonic scheduling algorithm: Exact characterization and average case behavior. In: IEEE Real-Time Systems Symposium (RTSS), Santa Monica, California, USA, pp. 166–171 (1989)
Liu, C.L., Layland, J.W.: Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM 20(1), 46–61 (1973)
Lundberg, L.: Multiprocessor scheduling of age constraint processes. In: IEEE Embedded and Real-Time Computing Systems and Applications (RTCSA), Hiroshima, Japan, pp. 42–47 (1998)
Tumeo, A., Branca, M., Camerini, L., Ceriani, M., Palermo, G., Ferrandi, F., Sciuto, D., Monchiero, M.: A dual-priority real-time multiprocessor system on FPGA for automotive applications. In: Proceedings of the Conference on Design, Automation and Test in Europe (DATE), Munich, Germany, pp. 1039–1044 (2008)
Yao, G., Buttazzo, G., Bertogna, M.: Bounding the maximum length of non-preemptive regions under fixed priority scheduling. In: IEEE Embedded and Real-Time Computing Systems and Applications (RTCSA), Beijing, China, pp. 351–360 (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ho, C., Funk, S.H. (2011). Partially Non-Preemptive Dual Priority Multiprocessor Scheduling. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds) Principles of Distributed Systems. OPODIS 2011. Lecture Notes in Computer Science, vol 7109. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25873-2_24
Download citation
DOI: https://doi.org/10.1007/978-3-642-25873-2_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25872-5
Online ISBN: 978-3-642-25873-2
eBook Packages: Computer ScienceComputer Science (R0)