Structuring communication software for quality-of-service guarantees

We propose architectural mechanisms for structuring host communication software to provide QoS guarantees. We present and evaluate a QoS sensitive communication subsystem architecture for end hosts that provides real time communication support for generic network hardware. This architecture provides services for managing communication resources for guaranteed QoS (real time) connections, such as admission control, traffic enforcement, buffer management, and CPU and link scheduling. The architecture design is based on three key goals: maintenance of QoS guarantees on a per connection basis, overload protection between established connections, and fairness in delivered performance to best effort traffic. Using this architecture we implement real time channels, a paradigm for real time communication services in packet switched networks. The proposed architecture features a process per channel model that associates a channel handler with each established channel. The model employed for handler execution is one of "cooperative" preemption, where an executing handler yields the CPU to a waiting higher priority handler at well defined preemption points. The architecture provides several configurable policies for protocol processing and overload protection. We present extensions to the admission control procedure for real time channels to account for cooperative preemption and overlap between protocol processing and link transmission at a sending host. We evaluate the implementation to demonstrate the efficacy with which the architecture maintains QoS guarantees on outgoing traffic while adhering to the stated design goals.

[1]  Ragunathan Rajkumar,et al.  Predictable communication protocol processing in real-time Mach , 1996, Proceedings Real-Time Technology and Applications.

[2]  Dilip D. Kandlur,et al.  Design and implementation of an RSVP-based quality of service architecture for integrated services Internet , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

[3]  Ramesh Nagarajan,et al.  HeiRAT: The Heidelberg Resource Administration Technique Design Philosophy and Goals , 1993, Kommunikation in Verteilten Systemen.

[4]  Peter Druschel,et al.  Lazy receiver processing (LRP): a network subsystem architecture for server systems , 1996, OSDI '96.

[5]  David Clark,et al.  Architectural considerations for a new generation of protocols , 1990, SIGCOMM 1990.

[6]  Larry L. Peterson,et al.  Network Subsystem Design : A Case for an Integrated Data Path , 1993 .

[7]  Lixia Zhang,et al.  A Scheduling Service Model and a SchedulingArchitecture for an Integrated Services Packet , 1993 .

[8]  P. Druschel,et al.  Network subsystem design , 1993, IEEE Network.

[9]  Jay K. Strosnider,et al.  Engineering and Analysis of Fixed Priority Schedulers , 1993, IEEE Trans. Software Eng..

[10]  Krithi Ramamritham,et al.  Integrated scheduling of multimedia and hard real-time tasks , 1996, 17th IEEE Real-Time Systems Symposium.

[11]  Klara Nahrstedt,et al.  Design, Implementation, and Experiences of the OMEGA End-Point Architecture , 1996, IEEE J. Sel. Areas Commun..

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

[13]  Scott Shenker,et al.  Specification of Guaranteed Quality of Service , 1997, RFC.

[14]  Larry L. Peterson,et al.  PathFinder: A Pattern-Based Packet Classifier , 1994, OSDI.

[15]  Peter Steenkiste A systematic approach to host interface design for high-speed networks , 1994, Computer.

[16]  Henning Schulzrinne,et al.  Real-time communication in packet-switched networks , 1994, Proc. IEEE.

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

[18]  Anindo Banerjea,et al.  The Tenet real-time protocol suite: design, implementation, and experiences , 1996, TNET.

[19]  Andrew G. Malis,et al.  ATM Signaling Support for IP over ATM , 1995, RFC.

[20]  Dawson R. Engler,et al.  DPF: fast, flexible message demultiplexing using dynamic code generation , 1996, SIGCOMM 1996.

[21]  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.

[22]  Jeffrey C. Mogul,et al.  The effect of context switches on cache performance , 1991, ASPLOS IV.

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

[24]  Peter B. Danzig,et al.  A measurement-based admission control algorithm for integrated service packet networks , 1997, TNET.

[25]  Franco Travostino,et al.  Paths: programming with system resources in support of real-time distributed applications , 1996, Proceedings of WORDS'96. The Second Workshop on Object-Oriented Real-Time Dependable Systems.

[26]  David P. Anderson,et al.  Process Structure and Scheduling in Real-Time Protocol Implementations , 1991, Kommunikation in Verteilten Systemen.

[27]  Anees Shaikh,et al.  Realizing services for guaranteed-QoS communication on a microkernel operating system , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[28]  Jane W.-S. Liu,et al.  A method for bounding the effect of DMA I/O interference on program execution time , 1996, 17th IEEE Real-Time Systems Symposium.

[29]  Thu D. Nguyen,et al.  Implementing network protocols at user level , 1993, TNET.

[30]  Rene Leonardo Cruz A Calculus for Network Delay and a Note on Topologies of Interconnection Networks , 1987 .

[31]  K. K. Ramakrishnan,et al.  Eliminating receive livelock in an interrupt-driven kernel , 1996, TOCS.

[32]  Bruce S. Davie,et al.  Integration of Real-time Services in an IP-ATM Network Architecture , 1995, RFC.

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

[34]  Trevor Blackwell Speeding up protocols for small messages , 1996, SIGCOMM 1996.

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

[36]  Domenico Ferrari,et al.  Exact admission control for networks with a bounded delay service , 1996, TNET.

[37]  Scott Shenker,et al.  Integrated Services in the Internet Architecture : an Overview Status of this Memo , 1994 .

[38]  Andrew T. Campbell,et al.  A Review of QoS Architectures , 1996 .

[39]  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.

[40]  K. K. Ramakrishnan,et al.  Performance Considerations in Designing Network Interfaces , 1993, IEEE J. Sel. Areas Commun..

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

[42]  Kang G. Shin,et al.  Resource management for real-time communication: making theory meet practice , 1996, Proceedings Real-Time Technology and Applications.

[43]  Guru M. Parulkar,et al.  Bringing real-time scheduling theory and practice closer for multimedia computing , 1996, SIGMETRICS '96.

[44]  Douglas C. Schmidt,et al.  Transport System Architecture Services for High-Performance Communications Systems , 1993, IEEE J. Sel. Areas Commun..

[45]  David D. Clark,et al.  Architectural considerations for a new generation of protocols , 1990, SIGCOMM '90.

[46]  Robbert van Renesse Masking the Overhead of Protocol Layering , 1996, SIGCOMM.

[47]  Van Jacobson,et al.  Link-sharing and resource management models for packet networks , 1995, TNET.

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

[49]  Erich M. Nahum,et al.  Performance issues in parallelized network protocols , 1994, OSDI '94.

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

[51]  Peter B. Danzig,et al.  A measurement-based admission control algorithm for integrated services packet networks , 1995, SIGCOMM '95.

[52]  Kang G. Shin,et al.  Real-Time Communication in Multihop Networks , 1994, IEEE Trans. Parallel Distributed Syst..

[53]  Andrew T. Campbell,et al.  QoS adaptive transports: delivering scalable media to the desktop , 1997 .

[54]  Kang G. Shin,et al.  Structuring communication software for quality-of-service guarantees , 1996, 17th IEEE Real-Time Systems Symposium.

[55]  David Clark,et al.  Supporting Real-Time Applications in an Integrated Services Packet Network: Architecture and Mechanism , 1992, SIGCOMM.

[56]  Thorsten von Eicken,et al.  U-Net: a user-level network interface for parallel and distributed computing , 1995, SOSP.

[57]  Mats Björkman,et al.  Locking Effects in Multiprocessor Implementations of Protocols , 1993, SIGCOMM.

[58]  Luca Delgrossi,et al.  Internet Stream Protocol Version 2 (ST2) Protocol Specification - Version ST2+ , 1995, RFC.

[59]  Harrick M. Vin,et al.  A hierarchial CPU scheduler for multimedia operating systems , 1996, OSDI '96.

[60]  David K. Y. Yau,et al.  Architecture toward efficient OS support for distributed multimedia , 1996, Electronic Imaging.

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

[62]  John Wroclawski,et al.  Specification of the Controlled-Load Network Element Service , 1997, RFC.

[63]  Sang Lyul Min,et al.  Analysis of cache-related preemption delay in fixed-priority preemptive scheduling , 1998, 17th IEEE Real-Time Systems Symposium.

[64]  Jochen Liedtke,et al.  OS-controlled cache predictability for real-time systems , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[65]  Hui Zhang,et al.  Service disciplines for guaranteed performance service in packet-switching networks , 1995, Proc. IEEE.

[66]  Peter Druschel,et al.  Experiences with a high-speed network adaptor: a software perspective , 1994, SIGCOMM 1994.

[67]  Carl A. Waldspurger,et al.  Lottery and stride scheduling: flexible proportional-share resource management , 1995 .

[68]  Chang-Gun Lee,et al.  Enhanced analysis of cache-related preemption delay in fixed-priority preemptive scheduling , 1996, Proceedings Real-Time Systems Symposium.

[69]  Kang G. Shin,et al.  QoS-Sensitive Protocol Processing In Shared-Memory Multiprocessor Multimedia Servers , 1995, Third IEEE Workshop on the Architecture and Implementation of High Performance Communication Subsystems.

[70]  Kang G. Shin,et al.  Real-time communication in multi-hop networks , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[71]  Guru M. Parulkar,et al.  A real-time upcall facility for protocol processing with QoS guarantees , 1995, SOSP.

[72]  Hideyuki Tokuda,et al.  Preemptibility in real-time operating systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[73]  Larry L. Peterson,et al.  Making paths explicit in the Scout operating system , 1996, OSDI '96.

[74]  Alan Burns,et al.  Effective Analysis for Engineering Real-Time Fixed Priority Schedulers , 1995, IEEE Trans. Software Eng..

[75]  Srinivasan Keshav,et al.  Design, implementation, and performance of a native mode ATM transport layer , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[76]  Kang G. Shin,et al.  The END: An Emulated Network Device for Evaluating Adapter Design , 1996 .

[77]  Chris I. Dalton,et al.  User-space protocols deliver high performance to applications on a low-cost Gb/s LAN , 1994, SIGCOMM 1994.

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

[79]  Olof Hagsand,et al.  Workstation Support for Real-Time Multimedia Communication , 1994, USENIX Winter.

[80]  Jay K. Strosnider,et al.  A modeling methodology for real-time/multimedia operating systems , 1995, Proceedings Real-Time Technology and Applications Symposium.

[81]  David Mosberger,et al.  Analysis of techniques to improve protocol processing latency , 1996, SIGCOMM 1996.

[82]  Gordon S. Blair,et al.  The Design of a QoS-Controlled ATM-Based Communications System in Chorus , 1995, IEEE J. Sel. Areas Commun..

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

[84]  K. Shin,et al.  Design Tradeo s in Implementing Real-Time Channels on Bus-Based Multiprocessor Hosts , 1995 .

[85]  Ramesh Govindan,et al.  Scheduling and IPC mechanisms for continuous media , 1991, SOSP '91.