Efficient thread-to-core mapping alternatives for application-level redundant multithreading


ARSLAN YILMAZ S., Ünsal O.

Concurrency and Computation: Practice and Experience, cilt.35, sa.24, 2023 (SCI-Expanded) identifier identifier

  • Yayın Türü: Makale / Özet
  • Cilt numarası: 35 Sayı: 24
  • Basım Tarihi: 2023
  • Doi Numarası: 10.1002/cpe.7622
  • Dergi Adı: Concurrency and Computation: Practice and Experience
  • Derginin Tarandığı İndeksler: Science Citation Index Expanded (SCI-EXPANDED), Scopus, Aerospace Database, Applied Science & Technology Source, Communication Abstracts, Compendex, Computer & Applied Sciences, INSPEC, Metadex, zbMATH, Civil Engineering Abstracts
  • Anahtar Kelimeler: performance evaluation, redundant multithreading, reliability, thread-to-core mapping, RELIABILITY
  • Marmara Üniversitesi Adresli: Evet

Özet

© 2023 John Wiley & Sons, Ltd.Redundant multithreading (RMT) is an effective thread-level replication method to improve the reliability requirements of applications. Although it significantly improves the robustness of applications, it comes with additional performance overhead since the redundant threads might share the same core resources. In our previous study [Efficient selective replication of critical code regions for SDC mitigation leveraging redundant multithreading. J Supercomput 2021;77:14130-14160], we presented an efficient software-level RMT approach, where we execute the most critical code regions with three threads to correct errors. In this study, we focus on further improving the performance of our software-level RMT method by presenting a set of different thread-to-core mapping alternatives. We provide different static mapping methods, which require preliminary information about the applications, such as execution time, instruction-per-cycle (IPC), or cache usage patterns, and a set of dynamic mapping methods, which map threads to cores dynamically at runtime without requiring any additional information. The dynamic mapping methods decide which threads are mapped to which cores at each scheduling point based on the IPC, cache miss rate, or cache access values of each thread as well as each core. Experimental results show that the dynamic mapping method, which maps threads to cores based on IPC values, outperforms all other static and dynamic methods. It also outperforms our baseline model, where the operating system handles the thread-to-core mappings by 8%, 7%, and 20% based on average speedup, harmonic speedup, and mean slowdown metrics.