Soft real-time scheduling on simultaneous multithreaded processors

Simultaneous multithreading (SMT) improves processor throughput by processing instructions from multiple threads each cycle. This is the first work to explore soft real-time scheduling on an SMT processor. Scheduling with SMT requires two decisions: (1) which threads to run simultaneously (the co-schedule), and (2) how to share processor resources among co-scheduled threads. We explore algorithms for both decisions for soft-real time multimedia applications, focusing more on co-schedule selection. We examine previous multiprocessor co-scheduling algorithms, including partitioning and global scheduling. We propose new variations that consider resource sharing and try to utilize SMT more effectively by exploiting application symbiosis. We find (using simulation) that the best algorithm uses global scheduling, exploits symbiosis, prioritizes high utilization tasks, and uses dynamic resource sharing. This algorithm, however, imposes significant profiling overhead and does not provide admission control. We propose alternatives to overcome these limitations, but at the cost of schedulability.

[1]  Björn Andersson,et al.  Fixed-priority preemptive multiprocessor scheduling: to partition or not to partition , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[2]  Yingfeng Oh,et al.  Fixed-Priority Scheduling of Periodic Tasks on Multiprocessor Systems , 1995 .

[3]  Sarita V. Adve,et al.  RSIM Reference Manual: Version 1.0 , 1997 .

[4]  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).

[5]  Susan J. Eggers,et al.  Thread-Sensitive Scheduling for SMT Processors , 2000 .

[6]  Bradford L. Chamberlain,et al.  Graph Partitioning Algorithms for Distributing Workloads of Parallel Computations , 2001 .

[7]  Ruby B. Lee,et al.  Challenges to Combining General-Purpose and Multimedia Processors , 1997, Computer.

[8]  Christopher J. Hughes,et al.  RSIM: Simulating Shared-Memory Multiprocessors with ILP Processors , 2002, Computer.

[9]  Rohit Jain,et al.  Variability in the execution of multimedia applications and implications for architecture , 2001, Proceedings 28th Annual International Symposium on Computer Architecture.

[10]  Donald Yeung,et al.  Transparent threads: resource sharing in SMT processors for high single-thread performance , 2002, Proceedings.International Conference on Parallel Architectures and Compilation Techniques.

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

[12]  Rohit Jain,et al.  Variability in the execution of multimedia applications and implications for architecture , 2001, ISCA 2001.

[13]  Pradeep K. Dubey,et al.  How Multimedia Workloads Will Change Processor Design , 1997, Computer.

[14]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

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

[16]  Allan Porterfield,et al.  The Tera computer system , 1990 .

[17]  Sanjoy K. Baruah,et al.  Deadline-based scheduling of periodic task systems on multiprocessors , 2002, Inf. Process. Lett..

[18]  Klara Nahrstedt,et al.  Cpu service classes: a soft real-time framework for multimedia applications (quality of service, operating systems) , 1999 .

[19]  Journal of the Association for Computing Machinery , 1961, Nature.

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

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

[22]  Christopher J. Hughes,et al.  Saving energy with architectural and frequency adaptations for multimedia applications , 2001, MICRO.

[23]  Rami G. Melhem,et al.  Comparison of global and partitioning schemes for scheduling rate monotonic tasks on a multiprocessor , 1998, Proceeding. 10th EUROMICRO Workshop on Real-Time Systems (Cat. No.98EX168).

[24]  Uwe Brinkschulte,et al.  Real-time scheduling on multithreaded processors , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[25]  Sudarshan K. Dhall,et al.  On a Real-Time Scheduling Problem , 1978, Oper. Res..