Soft Real-Time Scheduling on Performance Asymmetric Multicore Platforms

This paper discusses an approach for supporting soft real-time periodic tasks in Linux on performance asymmetric multicore platforms (AMPs). Such architectures consist of a large number of processing units on one or several chips, where each processing unit is capable of executing the same instruction set at a different performance level. We discuss deficiencies of Linux in supporting periodic real-time tasks, particularly when cores are asymmetric, and how such deficiencies were overcome. We also investigate how to provide good performance for non-real-time tasks in the presence of a real-time workload. We show that this can be done by using deferrable servers to explicitly reserve a share of each core for non-real-time tasks. This allows non-real-time tasks to have priority over real-time tasks when doing so will not cause timing requirements to be violated, thus improving non-real-time response times. Experiments show that even small deferrable servers can have a dramatic impact on non-real-time task performance

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

[2]  Jane W.-S. Liu,et al.  Optimal scheduling of independent tasks on heterogeneous computing systems , 1974, ACM '74.

[3]  Jane W.-S. Liu,et al.  Bounds on Scheduling Algorithms for Heterogeneous Comnputing Systems , 1974, IFIP Congress.

[4]  Jay K. Strosnider,et al.  The Deferrable Server Algorithm for Enhanced Aperiodic Responsiveness in Hard Real-Time Environments , 1987, IEEE Trans. Computers.

[5]  Jay K. Strosnider,et al.  Fixed Priority Scheduling Theory for Hard Real-Time Systems , 1991 .

[6]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time systems , 1991, IEEE Software.

[7]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[8]  Victor Yodaiken,et al.  A Real-Time Linux , 2000 .

[9]  Sanjoy K. Baruah,et al.  Scheduling periodic tasks on uniform multiprocessors , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.

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

[11]  Andy Oram,et al.  Understanding the Linux Kernel, Second Edition , 2002 .

[12]  Sanjoy K. Baruah,et al.  Characteristics of EDF schedulability on uniform multiprocessors , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[13]  Sanjoy K. Baruah,et al.  Rate-monotonic scheduling on uniform multiprocessors , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[14]  Georg Färber,et al.  Using State of the Art Multiprocessor Systems as Real-Time Systems -- The RECOMS Software Architecture , 2004 .

[15]  Norman P. Jouppi,et al.  Single-ISA heterogeneous multi-core architectures for multithreaded workload performance , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[16]  Ragunathan Rajkumar,et al.  Real-Time Operating Systems , 2004, Real-Time Systems.

[17]  Understanding the Linux 2.6.8.1 CPU Scheduler , 2005 .

[18]  Sanjoy K. Baruah,et al.  Task assignment on uniform heterogeneous multiprocessors , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[19]  Hennadiy Leontyev,et al.  LITMUS^RT : A Testbed for Empirically Comparing Real-Time Multiprocessor Schedulers , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[20]  Proceedings of the 13th IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS 2007, April 3-6, 2007, Bellevue, Washington, USA , 2007, IEEE Real-Time and Embedded Technology and Applications Symposium.

[21]  Tong Li,et al.  LinSched: The Linux Scheduler Simulator , 2008, ISCA PDCCS.