DOI QR코드

DOI QR Code

Multicore Real-Time Scheduling to Reduce Inter-Thread Cache Interferences

  • Ding, Yiqiang (Department of Electrical and Computer Engineering, Virginia Commonwealth University) ;
  • Zhang, Wei (Department of Electrical and Computer Engineering, Virginia Commonwealth University)
  • Received : 2013.02.14
  • Accepted : 2013.02.28
  • Published : 2013.03.30

Abstract

The worst-case execution time (WCET) of each real-time task in multicore processors with shared caches can be significantly affected by inter-thread cache interferences. The worst-case inter-thread cache interferences are dependent on how tasks are scheduled to run on different cores. Therefore, there is a circular dependence between real-time task scheduling, the worst-case inter-thread cache interferences, and WCET in multicore processors, which is not the case for single-core processors. To address this challenging problem, we present an offline real-time scheduling approach for multicore processors by considering the worst-case inter-thread interferences on shared L2 caches. Our scheduling approach uses a greedy heuristic to generate safe schedules while minimizing the worst-case inter-thread shared L2 cache interferences and WCET. The experimental results demonstrate that the proposed approach can reduce the utilization of the resulting schedule by about 12% on average compared to the cyclic multicore scheduling approaches in our theoretical model. Our evaluation indicates that the enhanced scheduling approach is more likely to generate feasible and safe schedules with stricter timing constraints in multicore real-time systems.

Keywords

References

  1. J. Carpenter, S. Funk, P. Holman, A. Srinivasan, J. Anderson, and S. Baruah, "A categorization of real-time multiprocessor scheduling problems and algorithms," in J. Y. Leung, editor, Handbook on Scheduling: Algorithms, Methods, and Performance Analysis, Boca Raton, FL: Chapman Hall/CRC, 2004.
  2. T. Tian and C. P. Shih, "Software techniques for sharedcache multi-core systems," http://software.intel.com/en-us/ articles/software-techniques-for-shared-cache-multi-core-systems.
  3. A. Fedorova, M. Seltzer, C. Small, and D. Nussbaum, "Throughput-oriented scheduling on chip multithreading systems," Division of Engineering and Applied Sciences, Harvard University, Technical Report TR-17-04, 2004.
  4. R. Wilhelm, J. Engblom, A. Ermedahl, N. Holsti, S. Thesing, D. Whalley, et al., "The worst-case execution time problem: overview of methods and survey of tools," ACM Transactions on Embedded Computing Systems, vol. 7, no. 3, article no. 36, 2007.
  5. C. L. Liu, "Scheduling algorithms for multiprocessors in a hard real-time environment," JPL Space Programs Summary 37-60, vol. II, pp. 28-31, 1969.
  6. S. K. Dhall and C. L. Liu, "On a real-time scheduling problem," Operations Research, vol. 26, no. 1, pp. 127-140, 1978. https://doi.org/10.1287/opre.26.1.127
  7. J. H. Anderson and A. Srinivasan, "Early-release fair scheduling," in Proceedings of the 12th Euromicro Conference on Real-Time Systems, Stockholm, Sweden, 2000, pp. 35-43.
  8. A. Srinivasan and J.Anderson, "Optimal rate-based scheduling on multiprocessors," in Proceedings of the 34th Annual ACM Symposium on Theory of Computing, Montreal, Canada, 2002, pp. 189-198.
  9. A. Burchard, J. Liebeherr, Y. Oh, and S. H. Son, "New strategies for assigning real-time tasks to homogeneous multiprocessor systems," IEEE Transactions on Computers, vol. 44, no. 12, pp. 1429-1442, 1995. https://doi.org/10.1109/12.477248
  10. Y. Oh and S. H. Son, "Allocating fixed-priority periodic tasks on multiprocessor systems," Real-Time Systems, vol. 9, no. 3, pp. 207-239, 1995. https://doi.org/10.1007/BF01088806
  11. J. W. S. Liu, Real-Time Systems, Upper Saddle River, NJ: Prentice Hall, 2000.
  12. J. Anderson, J. M. Calandrino, and U. C. Devi, "Real-time Scheduling on Multicore Platforms," in Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium, San Jose, CA, 2006 pp. 179-190.
  13. J. H. Anderson and J. M. Calandrino, "Parallel real-time task scheduling on multicore platforms," in Proceedings of the 27th IEEE Real-Time Systems Symposium, Rio de Janeiro, Brazil, 2006, pp. 89-100.
  14. J. M. Calandrino and J. H. Anderson, "Cache-aware realtime scheduling on multicore platforms: heuristics and a case study," in Proceedings of the 20th Euromicro Conference on Real-Time Systems, Prague, Czech, 2008, pp. 209-308.
  15. B. Andersson and K. Bletsas, "Sporadic multiprocessor scheduling with few preemptions," in Proceedings of the Euromicro Conference on Real-Time Systems, Prague, Czech, 2008, pp. 243-252.
  16. B. Andersson, K. Bletsas, and S. K. Baruah, "Scheduling arbitrary-deadline sporadic task systems on multiprocessors," in Proceedings of the 29th IEEE Real-Time Systems Symposium, Barcelona, Spain, 2008, pp. 385-394.
  17. S. Kato and N. Yamasaki, "Portioned EDF-based scheduling on multiprocessors," in Proceedings of the 8th ACM International Conference on Embedded Software, Atlanta, GA, 2008, pp. 139-148.
  18. K. Lakshmanan, R. R. Rajkumar, and J. P. Lehoczky, "Partitioned fixed-priority preemptive scheduling for multi-core processors," in Proceedings of the 21st Euromicro Conference on Real-Time Systems, Dublin, Ireland, 2009, pp. 239-248.
  19. I. Shin, A. Easwaran, and I. Lee, "Hierarchical scheduling framework for virtual clustering of multiprocessors," in Proceedings of the Euromicro Conference on Real-Time Systems, Prague, Czech, 2008, pp. 181-190.
  20. M. Paolieri, E. Quinones, F. J. Cazorla, G. Bernat, and M. Valero, "Hardware support for WCET analysis of hard realtime multicore systems," in Proceedings of the 36th Annual International Symposium on Computer Architecture, Austin, TX, 2009, pp. 57-68.
  21. W. Zhang and J. Yan, "Accurately estimating worst-case execution time for multi-core processors with shared directmapped instruction caches," in Proceedings of the 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, Beijing, China, 2009, pp. 455-463.
  22. SimpleScalar, http://www.simplescalar.com.
  23. C. A. Healy, R. D. Arnold, F. Mueller, D. B. Whalley, and M. G. Harmon, "Bounding pipeline and instruction cache performance," IEEE Transactions on Computers, vol. 48, no. 1, pp. 53-70, 1999. https://doi.org/10.1109/12.743411
  24. CPLEX, http://www.ilog.com/products/cplex/.
  25. Malardalen Real-Time Research Center, "The worst-case execution time (WCET) analysis project," http://www.mrtc. mdh.se/projects/wcet.

Cited by

  1. Overview of Real-Time Java Computing vol.7, pp.2, 2013, https://doi.org/10.5626/JCSE.2013.7.2.89
  2. Thread-level priority assignment in global multiprocessor scheduling for DAG tasks vol.113, 2016, https://doi.org/10.1016/j.jss.2015.12.004
  3. Demand-based schedulability analysis for real-time multi-core scheduling vol.89, 2014, https://doi.org/10.1016/j.jss.2013.09.029
  4. GPU-SAM: Leveraging multi-GPU split-and-merge execution for system-wide real-time support vol.117, 2016, https://doi.org/10.1016/j.jss.2016.02.009
  5. Load Unbalancing Scheduling Method for Energy-Efficient Multi-core Embedded Systems vol.11, pp.1, 2016, https://doi.org/10.14372/IEMEK.2016.11.1.1
  6. A Majority-Based Reliability-Aware Task Mapping in High-Performance Homogenous NoC Architectures vol.17, pp.1, 2017, https://doi.org/10.1145/3131273