NPM-BUNDLE: Non-Preemptive Multitask Scheduling for Jobs with BUNDLE-Based Thread-Level Scheduling

Authors Corey Tessler, Nathan Fisher

Thumbnail PDF


  • Filesize: 0.85 MB
  • 23 pages

Document Identifiers

Author Details

Corey Tessler
  • Wayne State University, Detroit, Michigan, USA
Nathan Fisher
  • Wayne State University, Detroit, Michigan, USA

Cite AsGet BibTex

Corey Tessler and Nathan Fisher. NPM-BUNDLE: Non-Preemptive Multitask Scheduling for Jobs with BUNDLE-Based Thread-Level Scheduling. In 31st Euromicro Conference on Real-Time Systems (ECRTS 2019). Leibniz International Proceedings in Informatics (LIPIcs), Volume 133, pp. 15:1-15:23, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2019)


The BUNDLE and BUNDLEP scheduling algorithms are cache-cognizant thread-level scheduling algorithms and associated worst case execution time and cache overhead (WCETO) techniques for hard real-time multi-threaded tasks. The BUNDLE-based approaches utilize the inter-thread cache benefit to reduce WCETO values for jobs. Currently, the BUNDLE-based approaches are limited to scheduling a single task. This work aims to expand the applicability of BUNDLE-based scheduling to multiple task multi-threaded task sets. BUNDLE-based scheduling leverages knowledge of potential cache conflicts to selectively preempt one thread in favor of another from the same job. This thread-level preemption is a requirement for the run-time behavior and WCETO calculation to receive the benefit of BUNDLE-based approaches. This work proposes scheduling BUNDLE-based jobs non-preemptively according to the earliest deadline first (EDF) policy. Jobs are forbidden from preempting one another, while threads within a job are allowed to preempt other threads. An accompanying schedulability test is provided, named Threads Per Job (TPJ). TPJ is a novel schedulability test, input is a task set specification which may be transformed (under certain restrictions); dividing threads among tasks in an effort to find a feasible task set. Enhanced by the flexibility to transform task sets and taking advantage of the inter-thread cache benefit, the evaluation shows TPJ scheduling task sets fully preemptive EDF cannot.

Subject Classification

ACM Subject Classification
  • Computer systems organization → Real-time systems
  • Software and its engineering → Real-time schedulability
  • Scheduling algorithms
  • Cache Memory
  • Multi-threading
  • Static Analysis


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. S. Altmeyer, R. Davis, and C. Maiza. Improved cache related pre-emption delay aware response time analysis for fixed priority pre-emptive systems. Real Time Systems, 48(5), 2012. Google Scholar
  2. S. Altmeyer, R. I. Davis, and C. Maiza. Cache Related Pre-emption Delay Aware Response Time Analysis for Fixed Priority Pre-emptive Systems. In IEEE Real-Time Systems Symposium, pages 261-271, November 2011. URL:
  3. Sebastian Altmeyer and Claire Maiza Burguière. Cache-related Preemption Delay via Useful Cache Blocks: Survey and Redefinition. Journal of Systems Architecture, 57(7):707-719, August 2011. URL:
  4. S. Bak, G. Yao, R. Pellizzoni, and M. Caccamo. Memory-Aware Scheduling of Multicore Task Sets for Real-Time Systems. In IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, pages 300-309, August 2012. URL:
  5. S. K. Baruah, A. K. Mok, and L. E. Rosier. Preemptively scheduling hard-real-time sporadic tasks on one processor. In [1990] Proceedings 11th Real-Time Systems Symposium, pages 182-190, December 1990. URL:
  6. Sanjoy Baruah. The limited-preemption uniprocessor scheduling of sporadic task systems. In 17th Euromicro Conference on Real-Time Systems (ECRTS'05), pages 137-144, July 2005. URL:
  7. M. Bertogna and S. Baruah. Limited Preemption EDF Scheduling of Sporadic Task Systems. IEEE Transactions on Industrial Informatics, 6(4):579-591, November 2010. URL:
  8. M. Bertogna, O. Xhani, M. Marinoni, F. Esposito, and G. Buttazzo. Optimal Selection of Preemption Points to Minimize Preemption Overhead. In Proceedings of the Euromicro Conference on Real-Time Systems, pages 217-227, July 2011. URL:
  9. E. Bini and G. C. Buttazzo. Biasing effects in schedulability measures. In Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004., pages 196-203, July 2004. URL:
  10. R. Bril, S. Altmeyer, M. van den Heuvel, R. Davis, and M. Behnam. Fixed priority scheduling with pre-emption thresholds and cache-related pre-emption delays: integrated analysis and evaluation. Real-Time Systems, 53(4):403-466, July 2017. Google Scholar
  11. A. Burns. Advances in Real-Time Systems, chapter Preemptive priority-based scheduling: an appropriate engineering approach, pages 225-248. Prentice Hall, Inc., 1995. Google Scholar
  12. Giorgio C. Buttazzo. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Springer Publishing Company, Incorporated, 3rd edition, 2011. Google Scholar
  13. John Michael Calandrino. On the Design and Implementation of a Cache-aware Soft Real-time Scheduler for Multicore Platforms. PhD thesis, University of North Carolina at Chapel Hill, Chapel Hill, NC, USA, 2009. Google Scholar
  14. J. Cavicchio, C. Tessler, and N. Fisher. Minimizing Cache Overhead via Loaded Cache Blocks and Preemption Placement. In Proceedings of the Euromicro Conference on Real-Time Systems, 2015. Google Scholar
  15. Laurent George, Nicolas Rivierre, and Marco Spuri. Preemptive and Non-Preemptive Real-Time UniProcessor Scheduling. Research Report RR-2966, INRIA, 1996. Projet REFLECS. URL:
  16. Jan Gustafsson, Adam Betts, Andreas Ermedahl, and Björn Lisper. The Mälardalen WCET Benchmarks: Past, Present And Future. In International Workshop on Worst-Case Execution Time Analysis, volume 15, pages 136-146, Dagstuhl, Germany, 2010. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik. Google Scholar
  17. C.-G. Lee, J. Hahn, S.L. Min, R. Ha, S. Hong, C.Y. Park, M. Lee, and C.S. Kim. Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. IEEE Transactions on Computers, 47(6):700-713, 1998. Google Scholar
  18. C. L. Liu and James W. Layland. Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. J. ACM, 20(1):46-61, January 1973. URL:
  19. J. M. Marinho, V. Nelis, S.M. Petters, and I. Puaut. An Improved Preemption Delay Upper Bound for Floating Non-preemptive Region. In Proceedings of IEEE International Symposium on Industrial Embedded Systems, 2012. Google Scholar
  20. H. S. Negi, T. Mitra, and A. Roychoudhury. Accurate Estimation of Cache Related Preemption Delay. In Proceedings of IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (CODES), 2003. Google Scholar
  21. R. Pellizzoni, E. Betti, S. Bak, G. Yao, J. Criswell, M. Caccamo, and R. Kegley. A Predictable Execution Model for COTS-Based Embedded Systems. In IEEE Real-Time and Embedded Technology and Applications Symposium, pages 269-279, April 2011. URL:
  22. B. Peng, N. Fisher, and M. Bertogna. Explicit Preemption Placement for Real-Time Conditional Code. In Proceedings of Euromicro Conference on Real-Time Systems, 2014. Google Scholar
  23. J. Simonson and J.H. Patel. Use of preferred preemption points in cache based real-time systems. In Proceedings of IEEE International Computer Performance and Dependability Symposium, 1995. Google Scholar
  24. J. Staschulat and R. Ernst. Scalable Precision Cache Analysis for Real-Time Software. ACM Transactions on Embedded Computing Systems (TECS), 6(4), September 2005. Google Scholar
  25. Y. Tan and V. Mooney. Integrated intra- and inter-task cache analysis for preemptive multi-tasking real-time systems. In Proceedings of International Workshop on Software and Compilers for Embedded Systems (SCOPES), 2004. Google Scholar
  26. C. Tessler and N. Fisher. BUNDLE: Real-Time Multi-threaded Scheduling to Reduce Cache Contention. In 2016 IEEE Real-Time Systems Symposium (RTSS), pages 279-290, November 2016. URL:
  27. C. Tessler and N. Fisher. BUNDLEP: Prioritizing Conflict Free Regions in Multi-threaded Programs to Improve Cache Reuse. In 2018 IEEE Real-Time Systems Symposium (RTSS), pages 325-337, December 2018. URL:
  28. Corey Tessler. NPM-BUNDLE Artifacts, 2019. URL:
  29. Corey Tessler and Nathan Fisher. BUNDLEP: prioritizing conflict free regions in multi-threaded programs to improve cache reuse - extended results and technical report. CoRR, abs/1805.12041, 2018. URL:
  30. Henrik Theiling, Christian Ferdinand, and Reinhard Wilhelm. Fast and Precise WCET Prediction by Separated Cache and Path Analyses. Real-Time Systems, 18(2):157-179, May 2000. URL:
  31. H. Tomiyama and N. D. Dutt. Program Path Analysis to Bound Cache-Related Preemption Delay in Preemptive Real-Time Systems. In Proceedings of the Eighth International Workshop on Hardware/Software Codesign (CODES), 2000. Google Scholar
  32. Y. Wang and M. Saksena. Scheduling fixed-priority tasks with preemption threshold. In Proceedings of the International Conference on Real Time Computing Systems and Applications, 1999. Google Scholar
  33. B. C. Ward, J. L. Herman, C. J. Kenna, and J. H. Anderson. Making Shared Caches More Predictable on Multicore Platforms. In Euromicro Conference on Real-Time Systems, pages 157-167, July 2013. URL:
  34. Reinhard Wilhelm, Jakob Engblom, Andreas Ermedahl, Niklas Holsti, Stephan Thesing, David Whalley, Guillem Bernat, Christian Ferdinand, Reinhold Heckmann, Tulika Mitra, Frank Mueller, Isabelle Puaut, Peter Puschner, Jan Staschulat, and Per Stenström. The Worst-case Execution-time Problem - Overview of Methods and Survey of Tools. ACM Trans. Embed. Comput. Syst., 7(3):36:1-36:53, May 2008. URL: