5 research outputs found
Efficient Quality of Service Support in Multimedia Computer Operating Systems
This report describes our approach towards providing quality of service (QoS) guarantees for network communication within the endsystems to support multimedia applications. We first address the problem of QoS specification by identifying a set of application classes and their QoS parameters that cover the communication requirements of most applications. We then describe the QoS mapping problem, and show how requirements for resources (such as the CPU, the network interface adaptor and network connections) can be automatically derived from the application QoS parameters. We then deal with the QoS enforcement issue in which we describe techniques for scheduling protocol processing threads in order to reduce context switching overhead, as well as derive sufficiency conditions in order to provide predictable performance. We integrate all these solutions in a protocol implementation model. The key feature of the model is that protocols are part of the application process and are processed using protocol threads with individual scheduling attributes derived using our QoS mapping method. We propose several performance improvement techniques for application level protocol implementations that can reduce the high cost of data movement and context switching in these implementations. A significant component of this work will consist of implementation and experimentation which will result in significant contributions of practical utility
Real-time Upcalls: A Mechanism to Provide Real-time Processing Guarantees
Real-time upcalls (RTUs) are an operating systems mechanism that can be used by applications to efficiently schedule code segments (or handlers) that must execute periodically. While the mechanism was conceived to support protocol processing with quality-of-service guarantees for networked multimedia applications it is general enough to be applicable in other domains like real-time image processing. Until now real-time threads have been the only mechanism for implementing protocols in user space with QoS guarantees. The RTU mechanism avoids the implementation complexity of the thread based approach while retaining its ability to ensure real-time behavior. In addition, our design simplifies protocol code, improves performance, and can be ported to most systems. A key feature of RTU scheduling is the pre-emption scheme that exploits the iterative nature of protocol processing by allowing an RTU to yield the CPU by returning from the invocation. This obviates the need for RTU handlers to..