A measurement-based analysis of the real-time performance of linux

This paper presents an experimental study of the latency behavior of the Linux OS. We identify major sources of latency in the kernel with the goal of providing real-time performance in a widely used general-purpose operating system. We quantify, each source of latency with a series of micro-benchmarks and also evaluate the effects of latency on a time-sensitive application. Our analysis shows that there are two main causes of latency in the OS: tinier resolution and non-preemptable sections. Our experiments show that in the standard Linux kernel the tinier resolution latency is predominant, and generally hides the non-preemptable section latency We use accurate timers to reduce timer resolution latency and then analyze the non-preemptable section latency for several variants of Linux.

[1]  Harrick M. Vin,et al.  A hierarchial CPU scheduler for multimedia operating systems , 1996, OSDI '96.

[2]  Michael B. Jones,et al.  An overview of the Rialto real-time architecture , 1996, EW 7.

[3]  David K. Y. Yau,et al.  Adaptive rate-controlled scheduling for multimedia applications , 1997, TNET.

[4]  Hideyuki Tokuda,et al.  Preemptibility in real-time operating systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[5]  William E. Weihl,et al.  Lottery scheduling: flexible proportional-share resource management , 1994, OSDI '94.

[6]  Luca Abeni Coping with interrupt execution time in RT kernels: A non-intrusive approach , 2001, RTSS 2001.

[7]  Kwei-Jay Lin,et al.  Enhancing the real-time capability of the Linux kernel , 1998, Proceedings Fifth International Conference on Real-Time Computing Systems and Applications (Cat. No.98EX236).

[8]  Giuseppe Lipari,et al.  Compensating for Interrupt Process Times in Real-Time Multimedia Systems , 2001 .

[9]  Hussein M. Abdel-Wahab,et al.  A proportional share resource allocation algorithm for real-time, time-shared systems , 1996, 17th IEEE Real-Time Systems Symposium.

[10]  B. Srinivasan,et al.  A firm real-time system implementation using commercial off-the-shelf hardware and free software , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

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

[12]  P. Mantegazza,et al.  RTAI: Real Time Application Interface , 2000 .

[13]  Klara Nahrstedt,et al.  CPU service classes for multimedia applications , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[14]  Harrick M. Vin,et al.  A hierarchial CPU scheduler for multimedia operating systems , 1996, OSDI '96.

[15]  John Regehr,et al.  Augmented CPU reservations: towards predictable execution on general-purpose operating systems , 2001, Proceedings Seventh IEEE Real-Time Technology and Applications Symposium.