A hardware architecture to deploy complex multiprocessor scheduling algorithms

An increasing demand for high-performance systems has been observed in the domain of both general purpose and real-time systems, pushing the industry towards a pervasive transition to multi-core platforms. Unfortunately, well-known and efficient scheduling results for single-core systems do not scale well to the multi-core domain. This justifies the adoption of more computationally intensive algorithms, but the complexity and computational overhead of these algorithms impact their applicability to real OSes. We propose an architecture to migrate the burden of multi-core scheduling to a dedicated hardware component. We show that it is possible to mitigate the overhead of complex algorithms, while achieving power efficiency and optimizing processors utilization. We develop the idea of “active monitoring” to continuously track the evolution of scheduling parameters as tasks execute on processors. This allows reducing the gap between implementable scheduling techniques and the ideal fluid scheduling model, under the constraints of realistic hardware.

[1]  Lennart Lindh FASTHARD - A Fast Time Deterministic HARDware Based Real-time Kernel , 1992, Fourth Euromicro workshop on Real-Time Systems.

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

[3]  Felipe Cerqueira,et al.  A Comparison of Scheduling Latency in Linux, PREEMPT-RT, and LITMUS RT , 2013 .

[4]  Seung-Min Yang,et al.  A Modified Least-Laxity-First scheduling algorithm for real-time tasks , 1998, Proceedings Fifth International Conference on Real-Time Computing Systems and Applications (Cat. No.98EX236).

[5]  Johan Furunäs Benchmarking of a Real-Time System that utilises a booster , 2000, PDPTA.

[6]  Scott A. Brandt,et al.  DP-FAIR: A Simple Model for Understanding Optimal Multiprocessor Scheduling , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[7]  Sanjoy K. Baruah,et al.  A Generalized Parallel Task Model for Recurrent Real-time Processes , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[8]  Rabi N. Mahapatra,et al.  A Hardware Scheduler for Real Time Multiprocessor System on Chip , 2010, 2010 23rd International Conference on VLSI Design.

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

[10]  Aloysius Ka-Lau Mok,et al.  Fundamental design problems of distributed systems for the hard-real-time environment , 1983 .

[11]  Aloysius K. Mok,et al.  A Multiframe Model for Real-Time Tasks , 1997, IEEE Trans. Software Eng..

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

[13]  Víctor Viñals,et al.  Improving the WCET computation in the presence of a lockable instruction cache in multitasking real-time systems , 2011, J. Syst. Archit..

[14]  Sanjoy K. Baruah,et al.  Preemptively scheduling hard-real-time sporadic tasks on one processor , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[15]  James Demmel,et al.  the Parallel Computing Landscape , 2022 .

[16]  Mark Moir,et al.  Pfair scheduling of fixed and migrating periodic tasks on multiple resources , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[17]  Sanjoy K. Baruah,et al.  Feasibility analysis of recurring branching tasks , 1998, Proceeding. 10th EUROMICRO Workshop on Real-Time Systems (Cat. No.98EX168).

[18]  Ronald L. Graham,et al.  Bounds on multiprocessing anomalies and related packing algorithms , 1972, AFIPS '72 (Spring).

[19]  Björn Andersson,et al.  Preemptive multiprocessor scheduling anomalies , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

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

[21]  Suk Kyoon Lee On-line multiprocessor scheduling algorithms for real-time tasks , 1994, Proceedings of TENCON'94 - 1994 IEEE Region 10's 9th Annual International Conference on: 'Frontiers of Computer Technology'.

[22]  Lennart Lindh,et al.  Scalable Architecture for Real-time Applications and use of bus-monitoring , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[23]  Jinhui Qin,et al.  Job co-allocation strategies for multiple high performance computing clusters , 2009, Cluster Computing.

[24]  Isabelle Puaut,et al.  Low-complexity algorithms for static cache locking in multitasking hard real-time systems , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[25]  Giorgio C. Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications (Real-Time Systems Series) , 2010 .

[26]  Wang Yi,et al.  The Digraph Real-Time Task Model , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[27]  Krithi Ramamritham,et al.  SpringNe: A Scalable Architecture For High Performance, Predictable, and Distributed Real-Time Computing , 1991 .

[28]  Mohamed Shalan,et al.  A Configurable Hardware Scheduler for Real-Time Systems , 2003, Engineering of Reconfigurable Systems and Algorithms.

[29]  Wayne P. Burleson,et al.  The spring scheduling co-processor: a scheduling accelerator , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[30]  Marco Caccamo,et al.  Real-Time Scheduling of Concurrent Transactions in Multidomain Ring Buses , 2012, IEEE Transactions on Computers.

[31]  Dror G. Feitelson,et al.  Adaptive parallel job scheduling with flexible coscheduling , 2005, IEEE Transactions on Parallel and Distributed Systems.

[32]  Sanjoy K. Baruah,et al.  Proportionate progress: a notion of fairness in resource allocation , 1993, STOC '93.

[33]  Ran Ginosar,et al.  Performance of a Hardware Scheduler for Many-core Architecture , 2012, 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems.

[34]  Joseph Y.-T. Leung,et al.  Fair Scheduling of Real-Time Tasks on Multiprocessors , 2004 .

[35]  Joseph Y.-T. Leung,et al.  A new algorithm for scheduling periodic, real-time tasks , 1989, Algorithmica.

[36]  Simon W. Moore,et al.  Tagged Up/Down Sorter - A Hardware Priority Queue , 1995, Comput. J..

[37]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time operating systems , 1989, OPSR.

[38]  Kang G. Shin,et al.  Scalable hardware earliest-deadline-first scheduler for ATM switching networks , 1997, Proceedings Real-Time Systems Symposium.

[39]  Sanjoy K. Baruah,et al.  Static-priority scheduling on multiprocessors , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[40]  Jinkyu Lee,et al.  Laxity dynamics and LLF schedulability analysis on multiprocessor platforms , 2012, Real-Time Systems.

[41]  Kang G. Shin,et al.  Scalable hardware priority queue architectures for high-speed packet switches , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[42]  Jonathan Rose,et al.  Measuring the Gap Between FPGAs and ASICs , 2007, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..