Low-cost and power-efficient thread collision detection scheme for shared caches in a real-time multithreaded embedded processor

This paper addresses an important issue in a real-time multithreaded embedded processor where several active hardware threads share the critical resources such as caches in the processor. Thread interferences or collisions could lead to severe performance degradations on the real-time threads. Although the cache interference issue on real-time multithreaded processors has been studied before, no cost-effective and simpler hardware solutions were proposed to maintain the single thread performance of the real-time thread while still letting the low-priority threads progress. A novel technique called collision tag is proposed to address these issues. Progressively, the collision tag scheme can be reduced into a more power-efficient form called collision bit vector, with almost no impact in the overall performance of the real-time multithreaded embedded processor.

Low-cost and power-efficient thread collision detection scheme for shared caches in a real-time multithreaded embedded processor

This paper addresses an important issue in a real-time multithreaded embedded processor where several active hardware threads share the critical resources such as caches in the processor. Thread interferences or collisions could lead to severe performance degradations on the real-time threads. Although the cache interference issue on real-time multithreaded processors has been studied before, no cost-effective and simpler hardware solutions were proposed to maintain the single thread performance of the real-time thread while still letting the low-priority threads progress. A novel technique called collision tag is proposed to address these issues. Progressively, the collision tag scheme can be reduced into a more power-efficient form called collision bit vector, with almost no impact in the overall performance of the real-time multithreaded embedded processor.

___

  • D. Tullsen, S.J. Eggers, H.M. Levy, “Simultaneous multithreading: maximizing on chip parallelism”, Proceedings of the 22nd Annual International Symposium on Computer Architecture, pp. 392–403, 1995.
  • J. Kihm, A. Settle, A. Janiszewski, D.A. Connors, “Understanding the impact of inter-thread cache interference on ILP in modern SMT processors”, Journal of Instruction Level Parallelism, Vol. 7, pp. 1–28, 2005.
  • V. ˇ Cakarevi´ c, P. Radojkovi´ c, J. Verd´ u, A. Pajuelo, F.J. Cazorla, M. Nemirovsky, M. Valero, “Characterizing the resource-sharing levels in the UltraSPARC T2 processor”, Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture, 2009.
  • S.E. Raasch, S.K. Reinhardt, “Applications of thread prioritization in SMT processors”, Proceedings of Multithreaded Execution, Architecture and Compilation Workshop, 1999.
  • G.K. Dorai, D. Yeung, “Transparent threads: resource sharing in SMT processors for high single-thread performance”, Proceedings of the 11th International Conference on Parallel Architectures and Compilation Techniques, pp. 30–41, 2002.
  • F.J. Cazorla, P.M. Knijnenburg, R. Sakellariou, E. Fern´ andez, A. Ramirez, M. Valero, “Predictable performance in SMT processors”, Proceedings of the 1st Conference on Computing Frontiers, pp. 433–443, 2004.
  • N. Yamasaki, I. Magaki, T. Itou, “Prioritized SMT architecture with IPC control method for real-time processing”, 13th IEEE Real Time and Embedded Technology and Applications Symposium, pp. 12–21, 2007.
  • R. Jain, C.J. Hughes, S.V. Adve, “Soft real-time scheduling on simultaneous multithreaded processors”, Proceedings of the 23rd IEEE Real-Time Systems Symposium, pp. 134–145, 2002.
  • A. El-Haj-Mahmoud, A.S. Al-Zawawi, A. Anantaraman, E. Rotenberg, “Virtual multiprocessor: an analyzable, high-performance microarchitecture for real-time computing”, Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, pp. 213–224, 2005.
  • E. ¨ Ozer, A. Reid, S. Biles, “Low-cost techniques for reducing branch context pollution in a soft real-time embedded multithreaded processor”, 19th International Symposium on Computer Architecture and High Performance Computing, pp. 37–44, 2007.
  • E. ¨ Ozer, S. Biles, “Thread priority-aware random replacement in TLBs for a high-performance real-time SMT processor”, Proceedings of the 12th Asia-Pacific Computer Systems Architecture Conference, pp. 376–386, 2007.
  • E. ¨ Ozer, R. Dreslinski, T. Mudge, S. Biles, K. Flautner, “Energy-efficient simultaneous thread fetch from different cache levels in a soft real-time SMT processor”, Proceedings of the 8th International Workshop on Embedded Computer Systems: Architectures, Modeling, and Simulation, pp. 12–22, 2008.
  • J. Mische, I. Guliashvili, S. Uhrig, T. Ungerer, “How to enhance a superscalar processor to provide hard real-time capable in-order SMT”, 23rd International Conference on Architecture of Computing Systems, pp. 2–4, 2010.
  • A. Arnaud, I. Puaut, “Dynamic instruction cache locking in hard real-time systems”, IEEE Proceedings of the 14th International Conference on Real-Time and Network Systems, 2006.
  • ARM, “ARM 940T TM Technical Reference Manual”, http://www.infocenter.arm.com, 2000.
  • ARM, “ARM1136JF-S TM and ARM1136J-S TM Technical Reference Manual”, http://www.infocenter.arm.com, 200
  • EEMBC Benchmark Suite, http://www.eembc.org/, 2012.
  • EEMBC, “Networking TM 0 Benchmarks”, http://www.eembc.org/benchmark/networking2 sl.php, 2012.
  • EEMBC, “AutoBench TM 1 Benchmarks”, http://www.eembc.org/benchmark/automotive sl.php, 2012.
  • EEMBC, “ConsumerBench TM 1 Benchmarks”, http://www.eembc.org/benchmark/consumer sl.php, 2012.
  • EEMBC, “TeleBench TM 1 Benchmarks”, http://www.eembc.org/benchmark/telecom sl.php, 2012.
  • EEMBC, “DENBench TM 0 Benchmarks”, http://www.eembc.org/benchmark/digital entertainment sl.php, 2012. ARM, “ARM Embedded Memory Compilers”, http://www.arm.com/products/physical-ip/embedded-memoryip/sram.php, 2012.
Turkish Journal of Electrical Engineering and Computer Science-Cover
  • ISSN: 1300-0632
  • Yayın Aralığı: Yılda 6 Sayı
  • Yayıncı: TÜBİTAK