Fast component interaction for real-time systems

Open real-time systems provide for co-hosting hard-, soft- and non-real-time applications. Microkernel-based designs in addition allow for these applications to be mutually protected. Thus, trusted servers can coexist next to untrusted applications. These systems place a heavy burden on the performance of the message-passing mechanism, especially when based on microkernel-like inter-process communication. In this paper we introduce capacity-reserve donation (in short Credo), a mechanism for the fast interaction of interdependent components, which is applicable to common real-time resource-access models. We implemented Credo by extending L4's message-passing mechanism to provide proper resource accounting and time-donation control, thereby preserving desired real-time properties. We were able to achieve priority inheritance and stack-based priority-ceiling resource sharing with virtually no overhead added to L4's message-passing implementation. By providing a. mechanism that does not impose performance penalties, while still guaranteeing correct real-time behaviour, Credo allows for the usage of microkernels in general-purpose but also in specialized systems.

[1]  Giuseppe Lipari,et al.  Task synchronization in reservation-based real-time systems , 2004, IEEE Transactions on Computers.

[2]  Hermann Härtig,et al.  Quality-assuring scheduling-using stochastic behavior to improve resource utilization , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[3]  Giuseppe Lipari,et al.  Schedulability analysis of periodic and aperiodic tasks with resource constraints , 2000, J. Syst. Archit..

[4]  Jochen Liedtke,et al.  On micro-kernel construction , 1995, SOSP.

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

[6]  Giorgio C. Buttazzo,et al.  Integrating multimedia applications in hard real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[7]  Stefan Savage,et al.  Processor Capacity Reserves for Multimedia Operating Systems , 1993 .

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

[9]  Jochen Liedtke,et al.  Improving IPC by kernel design , 1994, SOSP '93.

[10]  Abraham Silberschatz,et al.  The Pebble Component-Based Operating System , 1999, USENIX Annual Technical Conference, General Track.

[11]  Hermann Härtig,et al.  RTLinux with Address Spaces , 2001 .

[12]  J. Liedtke On -Kernel Construction , 1995 .

[13]  Shuichi Oikawa,et al.  Resource kernels: a resource-centric approach to real-time and multimedia systems , 2001, Electronic Imaging.

[14]  Trent Jaeger,et al.  Synchronous IPC over transparent monitors , 2000, EW 9.

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

[16]  Jochen Liedtke,et al.  The performance of μ-kernel-based systems , 1997, SOSP.

[17]  Peter Druschel,et al.  Resource containers: a new facility for resource management in server systems , 1999, OSDI '99.

[18]  Ragunathan Rajkumar,et al.  Linux/RK: A Portable Resource Kernel in Linux , 2005 .

[19]  Bryan Ford,et al.  CPU inheritance scheduling , 1996, OSDI '96.

[20]  John Regehr,et al.  HLS: a framework for composing soft real-time schedulers , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[21]  Trent Jaeger,et al.  Achieved IPC performance (still the foundation for extensibility) , 1997, Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133).

[22]  Marco Caccamo,et al.  Aperiodic servers with resource constraints , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).