Operating system resource reservation for real-time and multimedia applications

Increases in processor speeds and the availability of audio and video devices for personal computers have encouraged the development of interactive multimedia applications for teleconferencing and digital audio/video presentation among others. These applications have stringent timing constraints, and traditional operating systems are not well suited to satisfying such constraints. On the other hand, hard real-time systems that can meet these constraints are typically static and inflexible. This dissertation presents an enforced operating system resource reservation model for the design and implementation of predictable real-time programs. Applications can reserve resources based on their timing constraints, and an enforcement mechanism ensures that they do not overrun their reservations. Thus, reserves isolate real-time applications from the temporal properties of other real-time (and non-real-time) applications just as virtual memory systems isolate applications from memory accesses by other applications. In addition, reserves are first class objects that are separated from control abstractions such as processes or threads. Therefore reserves can be passed between applications, and this model extends naturally to distributed systems. Reserves support the development of hard real-time and soft real-time programs, and programming techniques based on reserves illustrate how to use them effectively. An implementation of processor reserves in Real-Time Mach shows that reserved multimedia applications can achieve predictable real-time performance.

[1]  John P. Lehoczky,et al.  Timing Analysis for Fixed-Priority Scheduling of Hard Real-Time Systems , 1994, IEEE Trans. Software Eng..

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

[3]  Brian N. Bershad,et al.  Efficient Packet Demultiplexing for Multiple Endpoints and Large Messages , 1994, USENIX Winter.

[4]  Helen Custer,et al.  Inside Windows NT , 1992 .

[5]  Gordon S. Blair,et al.  Micro-Kernel Support for Continuous Media in Distributed Systems , 1994, Comput. Networks ISDN Syst..

[6]  G. Gallassi,et al.  Resource management and dimensioning in ATM networks , 1990, IEEE Network.

[7]  Cosmos Andrea Nicolaou,et al.  An Architecture for Real-Time Multimedia Communication Systems , 1990, IEEE J. Sel. Areas Commun..

[8]  Charles U. Martel,et al.  On non-preemptive scheduling of period and sporadic tasks , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[9]  Claude Kaiser,et al.  Overview of the CHORUS ® Distributed Operating Systems , 1991 .

[10]  Larry L. Peterson,et al.  The x-Kernel: An Architecture for Implementing Network Protocols , 1991, IEEE Trans. Software Eng..

[11]  Kevin Jeffay Analysis of a synchronization and scheduling discipline for real-time tasks with preemption constraints , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[12]  Ashok K. Agrawala,et al.  Mission critical operating systems , 1991 .

[13]  Arch C. Luther,et al.  Digital video in the PC environment , 1989 .

[14]  D. Anastassiou,et al.  Hierarchical coding of digital television , 1994, IEEE Communications Magazine.

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

[16]  Kenneth C. Pohlmann,et al.  Principles of Digital Audio , 1986 .

[17]  Ralf Steinmetz,et al.  Human Perception of Jitter and Media Synchronization , 1996, IEEE J. Sel. Areas Commun..

[18]  John P. Lehoczky,et al.  Fixed priority scheduling of periodic task sets with arbitrary deadlines , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[19]  Eoin Hyden,et al.  Operating system support for quality of service , 1994 .

[20]  Ralf G. Herrtwich,et al.  The Role of Performance, Scheduling and Resource Reservation in Multimedia Systems , 1991, Operating Systems of the 90s and Beyond.

[21]  Joseph Y.-T. Leung,et al.  On the complexity of fixed-priority scheduling of periodic, real-time tasks , 1982, Perform. Evaluation.

[22]  Hideyuki Tokuda,et al.  Efficient timing management for user-level real-time threads , 1995, Proceedings Real-Time Technology and Applications Symposium.

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

[24]  Michael B. Jones Adaptive real-time resource management supporting composition of independently authored time-critical services , 1993, Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III.

[25]  Klara Nahrstedt,et al.  Multimedia systems : computing, communication and applications , 1995 .

[26]  David P. Anderson,et al.  SRP: A Resource Reservation Protocol for Guaranteed-Performance , 1990 .

[27]  Gregor von Bochmann,et al.  Distributed Multimedia and QOS: A Survey , 1995, IEEE Multim..

[28]  Hussein M. Abdel-Wahab,et al.  A proportional share resource allocation algorithm for real-time, time-shared systems , 1996, 17th IEEE Real-Time Systems Symposium.

[29]  Klara Nahrstedt,et al.  The QOS Broker , 1995, IEEE Multim..

[30]  Glenn K. Manacher,et al.  Production and Stabilization of Real-Time Task Schedules , 1967, JACM.

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

[32]  Stefan Savage,et al.  Processor capacity reserves: operating system support for multimedia applications , 1994, 1994 Proceedings of IEEE International Conference on Multimedia Computing and Systems.

[33]  Jeff Burger The Desktop Multimedia Bible , 1993 .

[34]  Gary M. Koob,et al.  Foundations of Real-Time Computing: Scheduling and Resource Management , 1991 .

[35]  Raj Jain,et al.  The Art of Computer Systems Performance Analysis : Tech-niques for Experimental Design , 1991 .

[36]  Michael L. Dertouzos,et al.  Control Robotics: The Procedural Control of Physical Processes , 1974, IFIP Congress.

[37]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[38]  Raj Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[39]  Donald E. Merusi Software Implementation Techniques: Vms, Unix, Os/2, and Ms-DOS , 1992 .

[40]  Dinesh C. Verma,et al.  A Scheme for Real-Time Channel Establishment in Wide-Area Networks , 1990, IEEE J. Sel. Areas Commun..

[41]  Joseph Boykin,et al.  Programming Under Mach , 1993 .

[42]  Mahadev Satyanarayanan,et al.  Application-aware adaptation for mobile computing , 1995, OPSR.

[43]  Hideyuki Tokuda,et al.  Dynamic QOS Control based on Real-Time Threads , 1993, NOSSDAV.

[44]  Didier Le Gall,et al.  MPEG: a video compression standard for multimedia applications , 1991, CACM.

[45]  Charles U. Martel,et al.  Preemptive Scheduling with Release Times, Deadlines, and Due Times , 1982, JACM.

[46]  Brian N. Bershad,et al.  Protocol service decomposition for high-performance networking , 1994, SOSP '93.

[47]  James F. Ready VRTX: A Real-Time Operating System for Embedded Microprocessor Applications , 1986, IEEE Micro.

[48]  Kevin Jeffay,et al.  Kernel Support for Live Digital Audio and Video , 1991, NOSSDAV.

[49]  Shirish S. Sathaye,et al.  Generalized rate-monotonic scheduling theory: a framework for developing real-time systems , 1994, Proc. IEEE.

[50]  Krithi Ramamritham,et al.  The Design of the Spring Kernel , 1987, RTSS.

[51]  William L. Maxwell,et al.  Theory of scheduling , 1967 .

[52]  Hideyuki Tokuda,et al.  An evaluation of priority consistency in protocol architectures , 1991, [1991] Proceedings 16th Conference on Local Computer Networks.

[53]  Edward G. Coffman,et al.  Preemptive Scheduling of Real-Time Tasks on Multiprocessor Systems , 1970, JACM.

[54]  Jane W.-S. Liu,et al.  Validating timing constraints in multiprocessor and distributed real-time systems , 1994, 14th International Conference on Distributed Computing Systems.

[55]  Avideh Zakhor,et al.  Directionality and Scalability in Subband Image and Video Compression , 1996 .

[56]  Hideyuki Tokuda,et al.  RT-IPC: An IPC Extension for Real-Time Mach , 1993, USENIX Microkernels and Other Kernel Architectures Symposium.

[57]  Lars C. Wolf,et al.  The system architecture of the Heidelberg transport system , 1994, OPSR.

[58]  Chorus Systemes,et al.  Overview of the CHORUS? Distributed Operating Systems , 1991 .

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

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

[61]  David K. Y. Yau,et al.  Operating system support for distributed multimedia , 1998 .

[62]  Cosmos Andrea Nicolaou,et al.  A distributed architecture for multimedia communication systems , 1990 .

[63]  Klara Nahrstedt,et al.  Resource Management in Networked Multimedia Systems , 1995, Computer.

[64]  Hideyuki Tokuda,et al.  Integrated management of priority inversion in Real-Time Mach , 1993, 1993 Proceedings Real-Time Systems Symposium.

[65]  Derek McAuley,et al.  The desk area network , 1991, OPSR.

[66]  Derek McAuley,et al.  Devices on the Desk Area Network , 1995, IEEE J. Sel. Areas Commun..

[67]  David L. Tennenhouse,et al.  Collaborative load shedding for media-based applications , 1994, 1994 Proceedings of IEEE International Conference on Multimedia Computing and Systems.

[68]  J. Watkinson The art of digital audio , 1988 .

[69]  Jay K. Strosnider,et al.  ARTIFACT: a platform for evaluating real-time window system designs , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[70]  Domenico Ferrari Client requirements for real-time communication services , 1990 .

[71]  Simon J. Gibbs,et al.  Multimedia programming - objects, environments and frameworks , 1995 .

[72]  Scott Shenker,et al.  Supporting real-time applications in an Integrated Services Packet Network: architecture and mechanism , 1992, SIGCOMM '92.

[73]  Eric A. Brewer,et al.  Adapting to network and client variability via on-demand dynamic distillation , 1996, ASPLOS VII.

[74]  Ralf Steinmetz Analyzing The Multimedia Operating System , 1995, IEEE Multim..

[75]  William E. Weihl,et al.  Lottery scheduling: flexible proportional-share resource management , 1994, OSDI '94.

[76]  Ion Stoica,et al.  Duality between resource reservation and proportional share resource allocation , 1996, Electronic Imaging.

[77]  Carl A. Waldspurger,et al.  Stride Scheduling: Deterministic Proportional- Share Resource Management , 1995 .

[78]  Andy Hopper,et al.  Pandora - an experimental system for multimedia applications , 1990, OPSR.

[79]  C. Murray Woodside Controllability of computer performance tradeoffs obtained using controlled-share queue schedulers , 1986, IEEE Transactions on Software Engineering.

[80]  Ragunathan Rajkumar Task synchronization in real-time systems , 1989 .

[81]  J. Davenport Editor , 1960 .

[82]  Robin Fairbairns,et al.  The Design and Implementation of an Operating System to Support Distributed Multimedia Applications , 1996, IEEE J. Sel. Areas Commun..

[83]  Kevin Jeffay,et al.  Transport and Display Mechanisms for Multimedia Conferencing Across Packet-Switched Networks , 1994, Comput. Networks ISDN Syst..

[84]  Roger B. Dannenberg A Real Time Scheduler/Dispatcher , 1988, ICMC.

[85]  Ketan Mayer-Patel,et al.  Performance of a software MPEG video decoder , 1993, MULTIMEDIA '93.

[86]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[87]  Marcelo Lopez,et al.  Developing Multimedia Applications Under OS/2? , 1995 .

[88]  David P. Anderson,et al.  A system for computer music performance , 1990, TOCS.

[89]  E. T. Klemmer,et al.  Subjective evaluation of delay and echo suppressors in telephone communications , 1963 .

[90]  Yoshito Tobe,et al.  Continuous media communication with dynamic QOS control using ARTS with an FDDI network , 1992, SIGCOMM 1992.

[91]  Judy Kay,et al.  A fair share scheduler , 1988, CACM.

[92]  Alan Burns,et al.  Hard Real-Time Scheduling: The Deadline-Monotonic Approach , 1991 .

[93]  Ragunathan Rajkumar,et al.  An interactive interface and RT-Mach support for monitoring and controlling resource management , 1995, Proceedings Real-Time Technology and Applications Symposium.

[94]  Hui Zhang,et al.  Service disciplines for packet-switching integrated services networks , 1993 .

[95]  Erwin P. Rathgeb Modeling and Performance Comparison of Policing Mechanisms for ATM Networks , 1991, IEEE J. Sel. Areas Commun..

[96]  Lui Sha,et al.  Real-time scheduling theory and Ada , 1990, Computer.

[97]  Partha Dasgupta,et al.  The Design and Implementation of the Clouds Distributed Operating System , 1989, Comput. Syst..

[98]  Alan Burns,et al.  Mode changes in priority preemptively scheduled systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[99]  Timothy Roscoe,et al.  The structure of a multi-service operating system , 1995 .

[100]  G. J. Henry,et al.  The UNIX system: The fair share scheduler , 1984, AT&T Bell Laboratories Technical Journal.

[101]  Kwei-Jay Lin,et al.  A priority ceiling protocol for multiple-instance resources , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[102]  Klara Nahrstedt,et al.  Multimedia: Computing, Communications and Applications , 1994 .

[103]  Gary M. Koob,et al.  Foundations of Real-Time Computing: Formal Specifications and Methods , 1991 .

[104]  James Gettys,et al.  The X window system , 1986, TOGS.

[105]  James Martin,et al.  Programming real-time computer systems , 1966 .

[106]  D. Anastassiou,et al.  Digital television , 1994, Proc. IEEE.

[107]  Mahadev Satyanarayanan,et al.  A Programming Interface for Application-Aware Adaptation in Mobile Computing , 1995, Comput. Syst..

[108]  Hideyuki Tokuda,et al.  A Time-Driven Scheduling Model for Real-Time Operating Systems , 1985, RTSS.

[109]  Andrew T. Campbell,et al.  A quality of service architecture , 1994, CCRV.

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

[111]  Michael B. Jones,et al.  Support for User-Centric Modular Real-Time Resource Management in the Rialto Operating System , 1995, NOSSDAV.

[112]  Donald F. Towsley Providing Quality of Service Packet Switched Networks , 1993, Performance/SIGMETRICS Tutorials.

[113]  D. Estrin,et al.  RSVP: a new resource reservation protocol , 1993, IEEE Communications Magazine.

[114]  Rene L. Cruz,et al.  A calculus for network delay, Part I: Network elements in isolation , 1991, IEEE Trans. Inf. Theory.

[115]  Steve W. Rimmer Multimedia programming for Windows , 1994 .

[116]  James Gettys,et al.  The X window system, version 11 , 1990, Softw. Pract. Exp..

[117]  Jason Nieh,et al.  SMART: a processor scheduler for multimedia applications , 1995, SOSP.

[118]  Rene L. Cruz,et al.  A calculus for network delay, Part II: Network analysis , 1991, IEEE Trans. Inf. Theory.

[119]  Samuel J. Leffler,et al.  The design and implementation of the 4.3 BSD Unix operating system , 1991, Addison-Wesley series in computer science.

[120]  Ragunathan Rajkumar,et al.  On Predictable Operating System Protocol Processing , 1994 .

[121]  Ramesh Govindan,et al.  Support for continuous media in the DASH system , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[122]  Alessandro Forin,et al.  UNIX as an Application Program , 1990, USENIX Summer.

[123]  Tatsuo Nakajima,et al.  A continuous media application supporting dynamic QOS control on real-time Mach , 1994, MULTIMEDIA '94.

[124]  Hideyuki Tokuda,et al.  Real-Time Mach: Towards a Predictable Real-Time System , 1990, USENIX MACH Symposium.