Real-Time I/O Management System with COTS Peripherals

Real-time embedded systems are increasingly being built using commercial-off-the-shelf (COTS) components such as mass-produced peripherals and buses to reduce costs, time-to-market, and increase performance. Unfortunately, COTS-interconnect systems do not usually guarantee timeliness, and might experience severe timing degradation in the presence of high-bandwidth I/O peripherals. Moreover, peripherals do not implement any internal priority-based scheduling mechanism, hence, sharing a device can result in data of high priority tasks being delayed by data of low priority tasks. To address these problems, we designed a real-time I/O management system comprised of 1) real-time bridges with I/O virtualization capabilities, and 2) a peripheral scheduler. The proposed framework is used to transparently put the I/O subsystem of a COTS-based embedded system under the discipline of real-time scheduling, minimizing the timing unpredictability due to the peripherals sharing the bus. We also discuss computing the maximum delay due to buffered I/O data transactions as well as determining the buffer size needed to avoid data loss. Finally, we demonstrate experimentally that our prototype real-time I/O management system successfully exports multiple virtual devices for a single physical device and prioritizes I/O traffic, guaranteeing its timeliness.

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

[2]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[3]  Lui Sha,et al.  Scheduling sporadic and aperiodic events in a hard real-time system. Final report , 1989 .

[4]  K. Hoyme,et al.  SAFEbus (for avionics) , 1993, IEEE Aerospace and Electronic Systems Magazine.

[5]  Marco Spuri,et al.  Efficient aperiodic service under earliest deadline scheduling , 1994, 1994 Proceedings Real-Time Systems Symposium.

[6]  Andy J. Wellings,et al.  Analysing real-time communications: controller area network (CAN) , 1994, 1994 Proceedings Real-Time Systems Symposium.

[7]  Rocquencourt,et al.  Analysis of Deadline Scheduled Real-Time Systems , 1996 .

[8]  Tai-Yi Huang,et al.  Allowing cycle-stealing direct memory access I/O concurrent with hard-real-time programs , 1996, Proceedings of 1996 International Conference on Parallel and Distributed Systems.

[9]  Lothar Thiele,et al.  Real-time calculus for scheduling hard real-time systems , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

[10]  Lothar Thiele,et al.  A general framework for analysing system properties in platform-based embedded system designs , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[11]  Sebastian Schönberg Impact of PCI-Bus Load on Applications in a PC Architecture , 2003, RTSS.

[12]  Giorgio C. Buttazzo Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications, Second Edition , 2004, Real-Time Systems Series.

[13]  E. Salami,et al.  A performance characterization of high definition digital video decoding using H.264/AVC , 2005, IEEE International. 2005 Proceedings of the IEEE Workload Characterization Symposium, 2005..

[14]  Lui Sha,et al.  Aperiodic task scheduling for Hard-Real-Time systems , 2006, Real-Time Systems.

[15]  Giorgio Buttazzo,et al.  An Embedded Real-Time System for Autonomous Flight Control , 2006 .

[16]  Marcel Verhoef,et al.  System architecture evaluation using modular performance analysis: a case study , 2006, International Journal on Software Tools for Technology Transfer.

[17]  Anthony Rowe,et al.  FireFly Mosaic: A Vision-Enabled Wireless Sensor Networking System , 2007, RTSS 2007.

[18]  Petru Eles,et al.  Bus Access Optimization for Predictable Implementation of Real-Time Applications on Multiprocessor Systems-on-Chip , 2007, RTSS.

[19]  Rolf Ernst,et al.  Reliable performance analysis of a multicore multithreaded system-on-chip , 2008, CODES+ISSS '08.

[20]  Lui Sha,et al.  Coscheduling of CPU and I/O Transactions in COTS-Based Embedded Systems , 2008, 2008 Real-Time Systems Symposium.

[21]  Lui Sha,et al.  Real-Time Control of I/O COTS Peripherals for Embedded Systems , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[22]  Lui Sha,et al.  ASIIST: Application Specific I/O Integration Support Tool for Real-Time Bus Architecture Designs , 2009, 2009 14th IEEE International Conference on Engineering of Complex Computer Systems.

[23]  Achieving Fast , Scalable I / O for Virtualized Servers With Intel ® Virtualization Technology and the PCI-SIG * Single Root I / O Virtualization and Sharing Specification , 2009 .

[24]  Yingwei Luo,et al.  A Survey on I/O Virtualization and Optimization , 2010, 2010 Fifth Annual ChinaGrid Conference.

[25]  Tulika Mitra,et al.  Modeling shared cache and bus in multi-cores for timing analysis , 2010, SCOPES.

[26]  Marco Caccamo,et al.  Impact of Peripheral-Processor Interference on WCET Analysis of Real-Time Embedded Systems , 2010, IEEE Transactions on Computers.

[27]  Marco Caccamo,et al.  A Predictable Execution Model for COTS-Based Embedded Systems , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.