Subscribe

Issue No.07 - July (2011 vol.60)

pp: 978-991

Duo Liu , The Hong Kong Polytechnic University, Hong Kong

Yi Wang , The Hong Kong Polytechnic University, Hong Kong

Meng Wang , The Hong Kong Polytechnic University, Hong Kong

Zili Shao , The Hong Kong Polytechnic University, Hong Kong

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2010.119

ABSTRACT

In this paper, we propose to implement hybrid operating systems based on two-level hardware interrupts. We analyze and model the worst-case real-time interrupt latency for RTAI and identify the key component for its optimization. Then, we propose our methodology to implement hybrid operating systems with two-level hardware interrupts by combining the real-time kernel and the time-sharing OS (Operating System) kernel. Based on the methodology, we discuss the important issues for the implementation. Finally, we implement a hybrid system called RTLinux-THIN (Real-Time LINUX with Two-level Hardware INterrupts) on the ARM architecture by combining ARM Linux kernel 2.6.9 and \mu{\rm C/OS}\hbox{-}{\rm II}. We conduct experiments on a set of real application programs including mplayer, Bonnie, and iperf, and compare the interrupt latency and interrupt task distributions for RTLinux-THIN (with and without cache locking), RTAI, Linux, and Linux with RT patch on a hardware platform based on Intel PXA270 processor. The results show that our scheme not only provides an easy method for implementing hybrid systems but also achieves the performance improvement for both the time-sharing and real-time subsystems.

INDEX TERMS

Hybrid operating systems, real-time interrupt latency, RTAI, Linux, two-level hardware interrupts.

CITATION

Duo Liu, Yi Wang, Meng Wang, Zili Shao, "On Improving Real-Time Interrupt Latencies of Hybrid Operating Systems with Two-Level Hardware Interrupts",

*IEEE Transactions on Computers*, vol.60, no. 7, pp. 978-991, July 2011, doi:10.1109/TC.2010.119REFERENCES

- [1] M. Liu, Z. Shao, M. Wang, H. Wei, and T. Wang, "Implementing Hybrid Operating Systems with Two-Level Hardware Interrupts,"
Proc. 28th IEEE Int'l Real-Time Systems Symp. (RTSS '07), pp. 244-253, 2007.- [2] V. Yodaiken and M. Barabanov, "Real-Time Linux,"
Proc. Applications Development and Deployment Conf. (USELINUX), Jan. 1997.- [3] P. Mantegazza, E.L. Dozio, and S. Papacharalambous, "RTAI: Real Time Application Interface,"
Linux J., vol. 2000, no. 72es, p. 10, 2000.- [4] S. Oikawa and R. Rajkumar, "Linux/RK: A Portable Resource Kernel in Linux,"
Proc. IEEE Real-Time Systems Symp., 1998.- [5] QLinux, http://www.cs.umass.edu/lass/softwareqlinux /, 2002.
- [6] Y.-C. Wang and K.-J. Lin, "Implementing a General Real-Time Framework in The Red-Linux Real-Time Kernel,"
Proc. 20th IEEE Real-Time Systems Symp. (RTSS '99), pp. 246-255, 1999.- [7] B. Srinivasan, S. Pather, R. Hill, F. Ansari, and D. Niehaus, "A Firm Real-Time System Implementation Using Commercial Off-the-Shelf Hardware and Free Software,"
Proc. Fourth IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS '98), p. 112, 1998.- [8] Z. Deng, J. Liu, and J. Sun, "A Scheme for Scheduling Hard Real-Time Applications in Open System Environment,"
Proc. Ninth Euromicro Workshop Real-Time System, pp. 191-199, June 1997.- [9] Z. Deng and J.W.-S. Liu, "Scheduling Real-Time Applications in an Open Environment,"
Proc. 18th IEEE Real-Time Systems Symp. (RTSS '97), pp. 308-319, 1997.- [10] Z. Deng, J.W.-S. Liu, L. Zhang, S. Mouna, and A. Frei, "An Open Environment for Real-Time Applications,"
Real-Time Systems, vol. 16, nos. 2/3, pp. 155-185, 1999.- [11] R.I. Davis and A. Burns, "Resource Sharing in Hierarchical Fixed Priority Pre-Emptive Systems,"
Proc. 27th IEEE Int'l Real-Time Systems Symp. (RTSS '06), pp. 257-270, 2006.- [12] X.A. Feng and A.K. Mok, "A Model of Hierarchical Real-Time Virtual Resources,"
Proc. 23rd IEEE Real-Time Systems Symp. (RTSS '02), pp. 26-35, 2002.- [13] I. Lee and I. Shin, "Periodic Resource Model for Compositional Real-Time Guarantees,"
Proc. 24th IEEE Int'l Real-Time Systems Symp. (RTSS '03), pp. 2-13, 2003.- [14] A.K. Mok, X.A. Feng, and D. Chen, "Resource Partition for Real-Time Systems,"
Proc. Seventh IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS '01), pp. 75-84, 2001.- [15] T.-W. Kuo and C.-H. Li, "A Fixed-Priority-Driven Open Environment for Real-Time Applications,"
Proc. 20th IEEE Real-Time Systems Symp. (RTSS '99), pp. 256-267, 1999.- [16] G. Lipari and S.K. Baruah, "Efficient Scheduling of Real-Time Multi-Task Applications in Dynamic Systems,"
Proc. Sixth IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS '00), p. 166, 2000.- [17] G. Lipari, E. Bini, and G. Fohler, "A Framework for Composing Real-Time Schedulers,"
Proc. Int'l Workshop Test and Analysis of Component-Based Systems (ETAPS '03), pp. 133-146, 2003.- [18] J. Regehr, A. Reid, K. Webb, M. Parker, and J. Lepreau, "Evolving Real-Time Systems Using Hierarchical Scheduling and Concurrency Analysis,"
Proc. 24th IEEE Int'l Real-Time Systems Symp. (RTSS '03), pp. 25-36, 2003.- [19] J. Regehr and J.A. Stankovic, "HLS: A Framework for Composing Soft Real-Time Schedulers,"
Proc. 22nd IEEE Real-Time Systems Symp. (RTSS '01), pp. 3-14, 2001.- [20] J.L. Lorente, G. Lipari, and E. Bini, "A Hierarchical Scheduling Model for Component-Based Real-Time Systems,"
Proc. 20th IEEE Int'l Parallel and Distributed Processing Symp. (IPDPS '06), pp. 25-36, 2006.- [21] T.-W. Kuo, K.-J. Lin, and Y.-C. Wang, "An Open Real-Time Environment for Parallel and Distributed Systems,"
Proc. 20th Int'l Conf. Distributed Computing Systems (ICDCS '00), pp. 206-213, 2000.- [22] Y. Zhang and R. West, "Process-Aware Interrupt Scheduling and Accounting,"
Proc. 27th IEEE Int'l Real-Time Systems Symp. (RTSS '06), pp. 191-201, 2006.- [23] 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), pp. 133-142, Sept. 2002.- [24] S.A. Banachowski and S.A. Brandt, "Better Real-Time Response for Time-Share Scheduling,"
Proc. 17th Int'l Symp. Parallel and Distributed Processing (IPDPS '03), p. 124, Apr. 2003.- [25] H. Kopetz, "The Time-Triggered Model of Computation,"
Proc. 19th IEEE Real-Time Systems Symp. (RTSS '98), pp. 168-177, Dec. 1998.- [26] F. Mehnert, M. Hohmuth, and H. Härtig, "Cost and Benefit of Separate Address Spaces in Real-Time Operating Systems,"
Proc. 23rd IEEE Real-Time Systems Symp. (RTSS '02), pp. 124-133, 2002.- [27] F. Mehnert, M. Hohmuth, S. Onberg, and H. Artig, "RTLinux with Address Spaces,"
Proc. Third Real-Time Linux Workshop, Nov. 2001.- [28] C. Dovrolis, B. Thayer, and P. Ramanathan, "HIP: Hybrid Interrupt-Polling for the Network Interface,"
ACM SIGOPS Operating Systems Rev., vol. 35, no. 4, pp. 50-60, 2001.- [29] J. Lee and K.-H. 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, 2005.- [30] T. Facchinetti, G.C. Buttazzo, M. Marinoni, and G. Guidi, "Non-Preemptive Interrupt Scheduling for Safe Reuse of Legacy Drivers in Real-Time Systems,"
Proc. 17th Euromicro Conf. Real-Time Systems (ECRTS '05), pp. 98-105, July 2005.- [31] J.C. Mogul and K.K. Ramakrishnan, "Eliminating Receive Livelock in an Interrupt-Driven Kernel,"
ACM Trans. Computer Systems, vol. 15, no. 3, pp. 217-252, 1997.- [32] J. Regehr and U. Duongsaa, "Preventing Interrupt Overload,"
Proc. ACM SIGPLAN/SIGBED Conf. Languages, Compilers, and Tools for Embedded Systems (LCTES '05), pp. 50-58, 2005.- [33] K. Sandstrom, C. Eriksson, and G. Fohler, "Handling Interrupts with Static Scheduling in an Automotive Vehicle Control System,"
Proc. Fifth Int'l Workshop Real-Time Computing Systems and Applications (RTCSA '98), pp. 158-165, 1998.- [34] D.B. Stewart and G. Arora, "A Tool for Analyzing and Fine Tuning the Real-Time Properties of an Embedded System,"
IEEE Trans. Software Eng., vol. 29, no. 4, pp. 311-326, Apr. 2003.- [35] J. Yang, Y. Chen, H. Wang, and B. Wang, "A Linux Kernel with Fixed Interrupt Latency for Embedded Real-Time System,"
Proc. Second Int'l Conf. Embedded Software and Systems (ICESS '05), pp. 127-134, 2005.- [36] K.W. Batcher and R.A. Walker, "Interrupt Triggered Software Prefetching for Embedded CPU Instruction Cache,"
Proc. 12th IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS '06), pp. 91-102, 2006.- [37] A. Arnaud and I. Puaut, "Dynamic Instruction Cache Locking in Hard Real-Time Systems,"
Proc. 14th Int'l Conf. Real-Time and Network Systems (RNTS '06), May 2006.- [38] D. Seal,
ARM Architecture Reference Manual, second ed., Addison-Wesley, Nov. 2000.- [39] Intel Inc.,
Intel PXA27x Processor Family Developer's Manual, Jan. 2006.- [40] mplayer, http:/www.mplayerhq.hu/, 2009.
- [41] Bonnie, http://www.garloff.de/kurt/linuxbonnie/, 1996.
- [42] iperf, http://dast.nlanr.net/projectsiperf, 2005.
- [43] K. Yaghmour, "Adaptive Domain Environment for Operating Systems," June 2002.
- [44] J.J. Labrosse,
MicroC/OS-II: The Real-Time Kernel, second ed., CMP Books, Apr. 2002.- [45] R. West and G. Parmer, "Application-Specific Service Technologies for Commodity Operating Systems in Real-Time Environments,"
Proc. 12th IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS '06), pp. 3-13, 2006.- [46] G. Parmer and R. West, "Hijack: Taking Control of COTS Systems for Real-Time User-Level Services,"
Proc. 13th IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS '07), pp. 133-146, 2007.- [47] G. Parmer and R. West, "Predictable Interrupt Management and Scheduling in the Composite Component-Based System,"
Proc. Real-Time Systems Symp. (RTSS '08), pp. 232-243, 2008.- [48] G. Parmer and R. West, "Mutable Protection Domains: Towards a Component-Based System for Dependable and Predictable Computing,"
Proc. 28th IEEE Int'l Real-Time Systems Symp. (RTSS '07), pp. 365-378, 2007.- [49] K.W. Tindell, A. Burns, and A.J. Wellings, "An Extendible Approach for Analyzing Fixed Priority Hard Real-Time Tasks,"
Real-Time Systems, vol. 6, no. 2, pp. 133-151, 1994.- [50] A. Arnaud and I. Puaut, "Towards a Predictable and High Performance Use of Instruction Caches in Hard Real-Time Systems,"
Proc. Work-in-Progress Session of the 15th Euromicro Conf. Real-Time Systems (ECRTS '03), pp. 61-64, July 2003.- [51] A.M. Campoy, A. Perles, F. Rodriguez, and J.V. Busquets-Mataix, "Static Use of Locking Caches vs. Dynamic Use of Locking Caches for Real-Time Systems,"
Proc. Canadian Conf. Electrical and Computer Eng. (CCECE '03), vol. 2, pp. 1283-1286, 2003.- [52] M. Campoy, A. Ivars, and J. Busquets-Mataix, "Static Use of Locking Caches in Multitask Preemptive Real-Time Systems,"
Proc. IEEE Real-Time Embedded System Workshop (Satellite of the IEEE Real-Time Systems Symp.), 2001.- [53] R. Kirner and M. Schoeberl, "Modeling the Function Cache for Worst-Case Execution Time Analysis,"
Proc. 44th Ann. Design Automation Conf. (DAC '07), pp. 471-476, 2007.- [54] I. Puaut and D. Decotigny, "Low-Complexity Algorithms for Static Cache Locking in Multitasking Hard Real-Time Systems,"
Proc. 23rd IEEE Real-Time Systems Symp. (RTSS '02), pp. 114-123, 2002.- [55] X. Vera, B. Lisper, and J. Xue, "Data Caches in Multitasking Hard Real-Time Systems,"
Proc. 24th IEEE Int'l Real-Time Systems Symp. (RTSS '03), pp. 154-165, 2003. |