Distributed Resource Kernels: OS Support for End-To-End Resource Isolation

The notion of resource reservation for obtaining real-time scheduling guarantees and enforcement of resource usage has gained strong support in recent years. However, much work on resource reservation has primarily focused on single-processor systems. In this paper, we propose the distributed resource kernel frame wo rk to deploy distributed real-time applications with end-to-end timing constraints, and to efficiently enforce and monitor their usage. Modern distributed real-time systems host multiple applications, where each application can span two or more processors. Timing bugs in one distributed application can affect the timing properties of other applications in the system. Our framework introduces the abstraction of a distributed resource container as an isolated virtual operating environment for a distributed real-time application. We have implemented this framework by extending our open-source single- node Linux/RK platform (R. Rajkumar et al., 1998). A deployment and monitoring tool called dMon is also provided. We evaluate the framework's ability to provide timing guarantees by stress-testing the system using the Distributed Hartstone benchmarks. An audio processing pipeline is then used to illustrate the temporal isolation support provided by the Distributed RK framework. The distributed container abstraction can also be extended in the future to support security and fault-tolerance attributes.

[1]  Ragunathan Rajkumar,et al.  Portable RK: a portable resource kernel for guaranteed and enforced timing behavior , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[2]  Ian T. Foster,et al.  MPICH-G2: A Grid-enabled implementation of the Message Passing Interface , 2002, J. Parallel Distributed Comput..

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

[4]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[5]  Louis P. DiPalma,et al.  Towards Adaptive and Reflective Middleware For Network-Centric Combat Systems , 2001 .

[6]  Ragunathan Rajkumar,et al.  Synchronization in Real-Time Systems , 1991 .

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

[8]  Lisa Cingiser DiPippo,et al.  Real-time CORBA , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[9]  Ragunathan Rajkumar,et al.  Synchronization in Real-Time Systems: A Priority Inheritance Approach , 1991 .

[10]  Alex Xiang Feng,et al.  Towards real-time enabled Microsoft Windows , 2005, EMSOFT.

[11]  Douglas C. Schmidt,et al.  Toward Adaptive and Reflective Middleware for Network-Centric Combat Systems , 2001 .

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

[13]  Chia Shen,et al.  Middleware for distributed industrial real-time systems on ATM networks , 1996, 17th IEEE Real-Time Systems Symposium.

[14]  Kang G. Shin,et al.  Analytic Models of Adaptive Load Sharing Schemes in Distributed Real-Time Systems , 1993, IEEE Trans. Parallel Distributed Syst..

[15]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[16]  Ragunathan Rajkumar,et al.  Energy-aware memory firewalling for QoS-sensitive applications , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[17]  Partha Dasgupta,et al.  The Clouds distributed operating system: functional description, implementation details and related work , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[18]  David L. Mills,et al.  Network Time Protocol (Version 3) Specification, Implementation and Analysis , 1992, RFC.

[19]  Ragunathan Rajkumar,et al.  Resource management of the OS network subsystem , 2002, Proceedings Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISIRC 2002.

[20]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[21]  John A. Clark,et al.  Holistic schedulability analysis for distributed hard real-time systems , 1994, Microprocess. Microprogramming.

[22]  P.C.V. Varma Resource sharing , 2005, IEEE Potentials.

[23]  Marek Jersak,et al.  Formal Methods for Integration of Automotive Software , 2003, DATE.

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

[25]  Hans-Ulrich Heiß,et al.  Cosy: an operating system for highly parallel computers , 1996, OPSR.

[26]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time systems , 1991, IEEE Software.

[27]  Bruce J. Walker,et al.  The LOCUS Distributed System Architecture , 1986 .

[28]  Moshe Bar Kernel Korner: kHTTPd, a Kernel-Based Web Server , 2000 .

[29]  Kai Richter,et al.  Formal methods for integration of automotive software , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[30]  Kang G. Shin,et al.  Allocation of periodic task modules with precedence and deadline constraints in distributed real-time systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[31]  Hideyuki Tokuda,et al.  ARTS: a distributed real-time kernel , 1989, OPSR.

[32]  Lixia Zhang,et al.  Resource ReSerVation Protocol (RSVP) - Version 1 Functional Specification , 1997, RFC.

[33]  Hideyuki Tokuda,et al.  Distributed Hartstone: a distributed real-time benchmark suite , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

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

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

[36]  Ragunathan Rajkumar,et al.  Cooperative scheduling of multiple resources , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[37]  Jun Sun,et al.  Synchronization protocols in distributed real-time systems , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[38]  Robbert van Renesse,et al.  Amoeba A Distributed Operating System for the 1990 s Sape , 1990 .

[39]  Prashant J. Shenoy,et al.  Application performance in the QLinux multimedia operating system , 2000, ACM Multimedia.

[40]  Alan Burns,et al.  Allocating hard real-time tasks: An NP-Hard problem made easy , 1992, Real-Time Systems.