Logo image
Performance evaluation of CPU isolation mechanisms in a multimedia OS kernel
Conference proceeding

Performance evaluation of CPU isolation mechanisms in a multimedia OS kernel

David K. Y Yau and King Yeung Yau
Proceedings of SPIE, Vol.4312(1), pp.62-74
Multimedia Computing and Networking 2001
22/12/2000

Abstract

To allow continuous media applications fine-grained control over their CPU allocations, and to protect these allocations from each other, thread priorities must have quality-of- service (QoS) interpretation. To this end, we present a CPU scheduler based on the well-defined resource specification of service curve. Service curve is distinguished from the traditional notion of rate by its ability to flexibly decouple delay and rate performance. Apart from how we compute thread priorities, predictable performance is hard to achieve also because threads can interact with each other and contend for synchronization resources. Such interactions can contribute to various forms of priority inversion. We discuss a new approach of dynamic priority inheritance in our CPU scheduler that solves priority inversion due to lock contention. To solve priority inversion arising from incompatible client/server resource specifications, we employ a train abstraction that allows a thread of control to visit multiple protection domains while carrying its resource and scheduling state intact. Train has been applied to real applications like a Solaris X window server. Finally, we present a mechanism for Internet flow specifications to reserve CPU time for network receive interrupt processing. We demonstrate an experimental system in which the combined techniques provide effective CPU isolation under various conditions of lock contention, client/server programming, and network processing.

Metrics

1 Record Views

Details

Logo image