Simultaneous Multithreading and Hard Real Time: Can It Be Safe?

The applicability of Simultaneous Multithreading (SMT) to real-time systems has been hampered by the difficulty of obtaining reliable execution costs in an SMT-enabled system. This problem is addressed by introducing a scheduling framework, called CERT-MT, that combines scheduling-aware timing analysis with a cyclic-executive scheduler in a way that minimizes SMT-related timing variations. The proposed scheduling-aware timing analysis is based on maximum observed execution times and accounts for the uncertainty inherent in measurement-based timing analysis. The timing analysis is found to work for tasks with and without SMT, though some adjustments are required in the former case. A large-scale schedulability study is presented that shows CERT-MT can schedule systems with total utilizations approaching 1.4 times the core count, without sacrificing safety. 2012 ACM Subject Classification Computer systems organization → Real-time systems; Computer systems organization → Real-time system specification; Software and its engineering → Scheduling; Hardware → Statistical timing analysis; Software and its engineering → Multithreading

[1]  Francisco J. Cazorla,et al.  A confidence assessment of WCET estimates for software time randomized caches , 2016, 2016 IEEE 14th International Conference on Industrial Informatics (INDIN).

[2]  David Broman,et al.  FlexPRET: A processor platform for mixed-criticality systems , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[3]  Tei-Wei Kuo,et al.  Real-time task scheduling for SMT systems , 2005, 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'05).

[4]  Liliana Cucu-Grosjean,et al.  Open Challenges for Probabilistic Measurement-Based Worst-Case Execution Time , 2017, IEEE Embedded Systems Letters.

[5]  Andreas Herkersdorf,et al.  Temporal Separation for Hardware-Based I/O Virtualization for Mixed-Criticality Embedded Real-Time Systems Using PCIe SR-IOV , 2014, ARCS Workshops.

[6]  Insup Lee,et al.  Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[7]  Marco Caccamo,et al.  Real-time cache management framework for multi-core architectures , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[8]  Lui Sha,et al.  Coscheduling of CPU and I/O Transactions in COTS-Based Embedded Systems , 2008, 2008 Real-Time Systems Symposium.

[9]  Theodore P. Baker,et al.  The cyclic executive model and Ada , 2006, Real-Time Systems.

[10]  Alan Burns,et al.  Predicting computation time for advanced processor architectures , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.

[11]  Alan Burns,et al.  Migrating Mixed Criticality Tasks Within a Cyclic Executive Framework , 2017, Ada-Europe.

[12]  Sanjoy K. Baruah,et al.  A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms , 2004, Handbook of Scheduling.

[13]  Ian Pratt,et al.  Multiprogramming Performance of the Pentium 4 with Hyper-Threading , 2004 .

[14]  Alan Burns,et al.  Multi-core Cyclic Executives for Safety-Critical Systems , 2017, SETTA.

[15]  Francisco J. Cazorla,et al.  Predictable performance in SMT processors: synergy between the OS and SMTs , 2006, IEEE Transactions on Computers.

[16]  Lui Sha,et al.  MemGuard: Memory bandwidth reservation system for efficient performance isolation in multi-core platforms , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[17]  James H. Anderson,et al.  Outstanding Paper Award: Making Shared Caches More Predictable on Multicore Platforms , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[18]  Dean M. Tullsen,et al.  Simultaneous multithreading: Maximizing on-chip parallelism , 1995, Proceedings 22nd Annual International Symposium on Computer Architecture.

[19]  Shinpei Kato,et al.  Extended U-Link Scheduling to Increase the Execution Efficiency for SMT Real-Time Systems , 2006, 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06).

[20]  Karl-Erik Årzén,et al.  Event-Driven Bandwidth Allocation with Formal Guarantees for Camera Networks , 2017, 2017 IEEE Real-Time Systems Symposium (RTSS).

[21]  D. B. Kirk,et al.  SMART (strategic memory allocation for real-time) cache design , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[22]  J. Pickands Statistical Inference Using Extreme Order Statistics , 1975 .

[23]  Lui Sha,et al.  Impact of Cache Partitioning on Multi-tasking Real Time Embedded Systems , 2008, 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[24]  James H. Anderson,et al.  Work in Progress: Combining Real Time and Multithreading , 2018, 2018 IEEE Real-Time Systems Symposium (RTSS).

[25]  Francisco J. Cazorla,et al.  Random Modulo: A new processor cache design for real-time critical systems , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[26]  Paulo Garcia,et al.  Bringing Hardware Multithreading to the Real-Time Domain , 2016, IEEE Embedded Systems Letters.

[27]  Rohit Jain,et al.  Soft real-time scheduling on simultaneous multithreaded processors , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[28]  Malcolm R Leadbetter,et al.  Conditions for the convergence in distribution of maxima of stationary normal processes , 1978 .

[29]  Jérôme Morio,et al.  On the Sustainability of the Extreme Value Theory for WCET Estimation , 2014, WCET.

[30]  Shinpei Kato,et al.  U-link scheduling: bounding execution time of real-time tasks with multi-case execution time on SMT processors , 2005, 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'05).

[31]  Francisco J. Cazorla,et al.  Modelling the confidence of timing analysis for time randomised caches , 2016, 2016 11th IEEE Symposium on Industrial Embedded Systems (SIES).

[32]  Hiren D. Patel,et al.  A framework for scheduling DRAM memory accesses for multi-core mixed-time critical systems , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[33]  Nobuyuki Yamasaki,et al.  Dependable Responsive Multithreaded Processor for distributed real-time systems , 2012, 2012 IEEE COOL Chips XV.

[34]  Paulo Garcia,et al.  RT-SHADOWS: Real-time system hardware for agnostic and deterministic OSes within softcore , 2015, 2015 IEEE 20th Conference on Emerging Technologies & Factory Automation (ETFA).

[35]  Francisco J. Cazorla,et al.  Efficient Cache Designs for Probabilistically Analysable Real-Time Systems , 2014, IEEE Transactions on Computers.

[36]  Rodolfo Pellizzoni,et al.  PALLOC: DRAM bank-aware memory allocator for performance isolation on multicore platforms , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[37]  Tullio Vardanega,et al.  Heart of Gold: Making the Improbable Happen to Increase Confidence in MBPTA , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[38]  A. Snavely,et al.  Symbiotic jobscheduling for a simultaneous mutlithreading processor , 2000, SIGP.

[39]  R. Fisher,et al.  Limiting forms of the frequency distribution of the largest or smallest member of a sample , 1928, Mathematical Proceedings of the Cambridge Philosophical Society.

[40]  Dean M. Tullsen,et al.  Initial observations of the simultaneous multithreading Pentium 4 processor , 2003, 2003 12th International Conference on Parallel Architectures and Compilation Techniques.

[41]  Rodolfo Pellizzoni,et al.  A Requests Bundling DRAM Controller for Mixed-Criticality Systems , 2017, 2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[42]  Martin Schoeberl,et al.  TACLeBench: A Benchmark Collection to Support Worst-Case Execution Time Research , 2016, WCET.

[43]  L. Haan,et al.  Residual Life Time at Great Age , 1974 .

[44]  James H. Anderson,et al.  Cache Sharing and Isolation Tradeoffs in Multicore Mixed-Criticality Systems , 2015, 2015 IEEE Real-Time Systems Symposium.

[45]  Dean M. Tullsen,et al.  Simultaneous multithreading: a platform for next-generation processors , 1997, IEEE Micro.

[46]  Lui Sha,et al.  Integrated Modular Avionics (IMA) Partition Scheduling with Conflict-Free I/O for Multicore Avionics Systems , 2014, 2014 IEEE 38th Annual Computer Software and Applications Conference.

[47]  James R. Bulpin Operating system support for simultaneous multithreaded processors , 2005 .

[48]  Heechul Yun,et al.  Taming Non-Blocking Caches to Improve Isolation in Multicore Real-Time Systems , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[49]  Jérôme Morio,et al.  Revising Measurement-Based Probabilistic Timing Analysis , 2017, 2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[50]  James H. Anderson,et al.  RTOS Support for Multicore Mixed-Criticality Systems , 2012, 2012 IEEE 18th Real Time and Embedded Technology and Applications Symposium.

[51]  Tailen Hsing,et al.  On Tail Index Estimation Using Dependent Data , 1991 .

[52]  James H. Anderson,et al.  Supporting mode changes while providing hardware isolation in mixed-criticality multicore systems , 2017, RTNS.

[53]  Sascha Uhrig,et al.  Using SMT to Hide Context Switch Times of Large Real-Time Tasksets , 2010, 2010 IEEE 16th International Conference on Embedded and Real-Time Computing Systems and Applications.

[54]  George Lima,et al.  Extreme Value Theory for Estimating Task Execution Time Bounds: A Careful Look , 2016, 2016 28th Euromicro Conference on Real-Time Systems (ECRTS).

[55]  Liliana Cucu-Grosjean,et al.  A Survey of Probabilistic Timing Analysis Techniques for Real-Time Systems , 2019, Leibniz Trans. Embed. Syst..

[56]  Francisco J. Cazorla,et al.  Modelling Probabilistic Cache Representativeness in the Presence of Arbitrary Access Patterns , 2016, 2016 IEEE 19th International Symposium on Real-Time Distributed Computing (ISORC).

[57]  Björn Andersson,et al.  Schedulability Analysis of Tasks with Corunner-Dependent Execution Times , 2018, ACM Trans. Embed. Comput. Syst..

[58]  J. Morris Chang,et al.  Performance Characterization of Java Applications on SMT Processors , 2005, IEEE International Symposium on Performance Analysis of Systems and Software, 2005. ISPASS 2005..

[59]  Iain Bate,et al.  Valid Application of EVT in Timing Analysis by Randomising Execution Time Measurements , 2017, 2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[60]  Jérôme Morio,et al.  On the Reliability of the Probabilistic Worst-Case Execution Time Estimates , 2016 .

[61]  Francisco J. Cazorla,et al.  A cache design for probabilistically analysable real-time systems , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[62]  Robert I. Davis,et al.  OUTSTANDING PAPER: Evaluation of Cache Partitioning for Hard Real-Time Systems , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[63]  D. Marr,et al.  Hyper-Threading Technology Architecture and MIcroarchitecture , 2002 .

[64]  J. H. Anderson,et al.  Simultaneous Multithreading Applied to Real Time , 2019, ECRTS.

[65]  Irune Agirre,et al.  Software Time Reliability in the Presence of Cache Memories , 2017, Ada-Europe.

[66]  J. Abella,et al.  Probabilistic Worst-Case Timing Analysis: Taxonomy and Comprehensive Survey , 2020 .

[67]  Alan Burns,et al.  Cyclic Executives, Multi-core Platforms and Mixed Criticality Applications , 2015, 2015 27th Euromicro Conference on Real-Time Systems.