Real-time task scheduling for SMT systems

Although simultaneous multithreading (SMT) has been shown being an efficient technique to improve processor performance, little work has been done on real-time SMT scheduling. The objective of this paper is to explore realtime SMT scheduling for independent periodic task sets with schedulability guarantees. We propose emulation-based scheduling algorithms with and without task migration to emulate an adjustable SMT processor over a non-adjustable SMT processor. The schedulability tests for the proposed scheduling algorithms are presented. An approximation bound on the average number of tasks running in parallel is also shown. The performance of the proposed algorithms was evaluated by a series of simulation experiments.

[1]  Jane W.-S. Liu,et al.  Scheduling real-time applications in an open environment , 1997, Proceedings Real-Time Systems Symposium.

[2]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[3]  Stefanos Kaxiras,et al.  Comparing power consumption of an SMT and a CMP DSP for mobile phone workloads , 2001, CASES '01.

[4]  David A. Koufaty,et al.  Hyperthreading Technology in the Netburst Microarchitecture , 2003, IEEE Micro.

[5]  Lieven Eeckhout,et al.  Quantifying the Impact of Input Data Sets on Program Behavior and its Applications , 2003, J. Instr. Level Parallelism.

[6]  Jack L. Lo,et al.  Exploiting Choice: Instruction Fetch and Issue on an Implementable Simultaneous Multithreading Processor , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[7]  Steven Raasch,et al.  Applications of Thread Prioritization in SMT Processors , 1999 .

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

[9]  Donald Yeung,et al.  Optimizing SMT Processors for High Single-Thread Performance , 2003, J. Instr. Level Parallelism.

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

[11]  Francisco J. Cazorla,et al.  Predictable performance in SMT processors , 2004, CF '04.

[12]  Joseph Kee-Yin Ng,et al.  Proceedings of the 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'05): Foreword , 2005 .

[13]  Andy J. Wellings,et al.  Hybrid instruction cache partitioning for preemptive real-time systems , 1997, Proceedings Ninth Euromicro Workshop on Real Time Systems.

[14]  Eric Rotenberg,et al.  Virtual simple architecture (VISA): exceeding the complexity limit in safe real-time systems , 2003, ISCA '03.

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