The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.05 - May (2009 vol.58)
pp: 648-661
Jupyung Lee , Korea Advanced Institute of Science and Technology, Daejeon
Kyu Ho Park , Korea Advanced Institute of Science and Technology, Daejeon
ABSTRACT
In this paper, we propose a novel scheduling technique to improve the responsiveness of a real-time process while maintaining relative execution rates of non-real-time processes, called the prediction-based micro-scheduler. It runs upon an existing macro-scheduler and it conditionally rearranges the scheduling pattern generated by the macro-scheduler based on urgent interval prediction and lock hold time prediction. The rearrangement occurs if one process seeks to enter a long nonpreemptible section and the operation is predicted to significantly disturb the future execution of a real-time process. We implemented the prototype on Linux 2.6.19. Experimental results show that the average OS latency of a real-time process is reduced up to 34 percent of the original one while still maintaining relative execution rates of non-real-time processes. Moreover, the performance degradation caused by the micro-scheduler does not exceed 5 percent.
INDEX TERMS
Real-time operating system, Linux, scheduling, OS latency, kernel preemptibility, interrupt.
CITATION
Jupyung Lee, Kyu Ho Park, "Prediction-Based Micro-Scheduler: Toward Responsive Scheduling of General-Purpose Operating Systems", IEEE Transactions on Computers, vol.58, no. 5, pp. 648-661, May 2009, doi:10.1109/TC.2008.206
REFERENCES
[1] J. Lee and K. Park, “Delayed Locking Technique for Improving Real-Time Performance of Embedded Linux by Prediction of Timer Interrupt,” Proc. 11th IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS '05), pp. 487-496, Mar. 2005.
[2] L. Abeni, A. Goel, C. Krasic, J. Snow, and J. Walpole, “A Measurement-Based Analysis of the Real-Time Performance of Linux,” Proc. Eighth IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS '02), Sept. 2002.
[3] A. Goel, L. Abeni, C. Krasic, J. Snow, and J. Walpole, “Supporting Time-Sensitive Applications on a Commodity OS,” Proc. Fifth Usenix Symp. Operating Systems Design and Implementation (OSDI '02), Dec. 2002.
[4] L. Sha, R. Rajkumar, and J. Lehoczky, “Priority Inheritance Protocols: An Approach to Real-Time Synchronization,” IEEE Trans. Computers, vol. 39, no. 9, pp. 1175-1185, Sept. 1990.
[5] M. Barabanov and V. Yodaiken, “Real-Time Linux,” Linux J., 1996.
[6] P. Mantegazza, E. Dozio, and S. Papacharalambous, “RTAI: Real-Time Application Interface,” Linux J., Apr. 2000.
[7] S. Oikawa and R. Rajkumar, “Portable RK: A Portable Resource Kernel for Guaranteed and Enforced Timing Behavior,” Proc. Fifth IEEE Real-Time Technology and Applications Symp. (RTAS '99), pp.111-120, June 1999.
[8] G. Lipari, G. Lamastra, and L. Abeni, “Task Synchronization in Reservation-Based Real-Time Systems,” IEEE Trans. Computers, vol. 53, no. 12, pp. 1591-1601, Dec. 2004.
[9] K. Sandstrom, C. Eriksson, and G. Fohler, “Handling Interrupts with Static Scheduling in an Automotive Vehicle Control System,” Proc. Fifth Int'l Conf. Real-Time Computing Systems and Applications (RTCSA '98), Oct. 1998.
[10] S. Dietrich and D. Walker, “The Evolution of Real-Time Linux,” Proc. Seventh Real-Time Linux Workshop, Nov. 2005.
[11] S. Brosky and S. Rotolo, “Shielded Processors: Guaranteeing Sub-Millisecond Response in Standard Linux,” Proc. 17th IEEE Int'l Parallel and Distributed Processing Symp. (IPDPS '03), p. 120, Apr. 2003.
[12] R. Love, “Lowering Latency in Linux: Introducing a Preemptible Kernel,” Linux J., June 2002.
[13] C. Ruemmler and J. Wilkes, “An Introduction to Disk Drive Modeling,” Computer, vol. 27, no. 3, pp. 17-28, Mar. 1994.
[14] Z. Dimitrijevic, R. Rangaswami, and E. Chang, “Systems Support for Preemptive Disk Scheduling,” IEEE Trans. Computers, vol. 54, no. 10, pp. 1314-1326, Oct. 2005.
[15] D. Bovet and M. Cesati, Understanding Linux Kernel, second ed. O'Reilly, 2003.
[16] Ingo Molnar's Real-Time Preempt Patch, http://people.redhat.com/mingorealtime-preempt /, 2008.
[17] J. Lee and K. Park, “The Interrupt Prediction for USB-Based Mass Storage Devices,” technical report, CoreLab, KAIST, http://core.kaist.ac.kr~jplee, 2007.
[18] J. Lee and K. Park, “The Lock Hold Time Prediction of Non-Preemptible Sections in Linux 2.6.19,” technical report, CoreLab, KAIST, http://core.kaist.ac.kr~jplee, 2007.
[19] J. Stankovic, M. Spuri, K. Ramamritham, and G. Buttazzo, Deadline Scheduling for Real-Time Systems: EDF and Related Algorithms. Kluwer Academic Publishers, 1998.
[20] B. Kao and H. Garcia-Molina, “Deadline Assignment in a Distributed Soft Real-Time System,” IEEE Trans. Parallel and Distributed Systems, vol. 8, no. 12, pp. 1268-1274, Dec. 1997.
[21] C. Bernat, A. Colin, and M. Petters, “WCET Analysis of Probabilistic Hard Real-Time Systems,” Proc. 23rd IEEE Real-Time Systems Symp. (RTSS), 2002.
[22] W. Zhao, P. Kulkarni, D. Whalley, C. Healy, F. Mueller, and G. Uh, “Tuning the WCET of Embedded Applications,” Proc. 10th IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS '04), May 2004.
[23] Preempt-Stats Patch, http://ftp.kernel.org/pub/linux/kernel/people rml/, 2008.
[24] Splay—The Audio Player on Linux, http:/splay.sourceforge.net/, 2008.
17 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool