Extending a HSF-enabled open-source real-time operating system with resource sharing

Hierarchical scheduling frameworks (HSFs) provide means for composing complex real-time systems from well-defined, independently analyzed subsystems. To support resource sharing within two-level, fixed priority scheduled HSFs, two synchronization protocols based on the stack resource policy (SRP) have recently been presented, i.e. HSRP [1] and SIRAP [2]. This paper describes an implementation to provide such HSFs with SRP-based synchronization protocols. We base our implementations on the commercially available real-time operating system µC/OS-II, extended with proprietary support for periodic tasks, idling periodic servers and two-level fixed priority preemptive scheduling. Specifically, we show the implementation of SRP as a local synchronization protocol, and present the implementation of both HSRP and SIRAP. Moreover, we investigate the system overhead induced by the synchronization primitives of each protocol. Our aim is that these protocols can be used side-by-side within the same HSF, so that their primitives can be selected based on the protocol’s relative strengths.

[1]  Reinder J. Bril,et al.  Grasp: Tracing, visualizing and measuring the behavior of real-time systems , 2010 .

[2]  Insik Shin,et al.  Scheduling of semi-independent real-time components: Overrun methods and resource holding times. , 2008, 2008 IEEE International Conference on Emerging Technologies and Factory Automation.

[3]  Nathan Fisher,et al.  The Design of an EDF-Scheduled Resource-Sharing Open Environment , 2007, RTSS 2007.

[4]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[5]  Theodore P. Baker,et al.  Aperiodic servers in a deadline scheduling environment , 2005, Real-Time Systems.

[6]  Luca Abeni,et al.  Resource sharing in reservation-based systems , 2001, Proceedings Seventh IEEE Real-Time Technology and Applications Symposium.

[7]  Reinder J. Bril,et al.  Virtual timers in hierarchical real-time systems , 2009 .

[8]  Sanjoy K. Baruah,et al.  The Design of an EDF-Scheduled Resource-Sharing Open Environment , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[9]  Alan Burns,et al.  Resource Sharing in Hierarchical Fixed Priority Pre-Emptive Systems , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[10]  Johan J. Lukkien,et al.  Multiplexing real-time timed events , 2009, 2009 IEEE Conference on Emerging Technologies & Factory Automation.

[11]  Alan Burns,et al.  Hierarchical fixed priority pre-emptive scheduling , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[12]  Insup Lee,et al.  Periodic resource model for compositional real-time guarantees , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[13]  Reinder J. Bril,et al.  Extending RTA/Linux with fixed-priority scheduling with deferred preemption , 2009 .

[14]  Javier Castillo,et al.  Platform based on open-source cores for industrial applications , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[15]  Insik Shin,et al.  Towards hierarchical scheduling in VxWorks , 2008 .

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

[17]  Insik Shin,et al.  SIRAP: a synchronization protocol for hierarchical resource sharingin real-time open systems , 2007, EMSOFT '07.

[18]  Thomas Nolte,et al.  Schedulability analysis of synchronization protocols based on overrun without payback for hierarchical scheduling frameworks revisited , 2009, RTSS 2009.

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

[20]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

[21]  Heung-Nam Kim,et al.  Implementing priority inheritance semaphore on uC/OS real-time kernel , 2003, Proceedings IEEE Workshop on Software Technologies for Future Embedded Systems. WSTFES 2003.

[22]  Thomas Nolte,et al.  Overrun and Skipping in Hierarchically Scheduled Real-Time Systems , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[23]  Sanjoy K. Baruah,et al.  Static-Priority Scheduling and Resource Hold Times , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[24]  Insik Shin,et al.  Synchronization protocols for hierarchical real-time scheduling frameworks , 2008 .

[25]  Jane W.-S. Liu,et al.  Scheduling real-time applications in an open environment , 1997, Proceedings Real-Time Systems Symposium.

[26]  Buttazzo Giorgio,et al.  Efficient Implementation of an EDF Scheduler for Small Embedded Systems , 2006 .