| | |
Summary: RealTime Computing with LockFree
Shared Objects
JAMES H. ANDERSON, SRIKANTH RAMAMURTHY, and KEVIN JEFFAY
University of North Carolina
This paper considers the use of lockfree shared objects within hard realtime systems. As the
name suggests, lockfree shared objects are distinguished by the fact that they are accessed without
locking. As such, they do not give rise to priority inversions, a key advantage over conventional,
lockbased objectsharing approaches. Despite this advantage, it is not immediately apparent
that lockfree shared objects can be employed if tasks must adhere to strict timing constraints. In
particular, lockfree object implementations permit concurrent operations to interfere with each
other, and repeated interferences can cause a given operation to take an arbitrarily long time to
complete.
The main contribution of this paper is to show that such interferences can be bounded by
judicious scheduling. This work pertains to periodic, hard realtime tasks that share lockfree
objects on a uniprocessor. In the first part of the paper, scheduling conditions are derived for
such tasks, for both static and dynamic priority schemes. Based on these conditions, it is formally
shown that lockfree shared objects often incur less overhead than object implementations based
on waitfree algorithms or lockbased schemes. In the last part of the paper, this conclusion is
validated experimentally through work involving a realtime desktop videoconferencing system.
Categories and Subject Descriptors: C.3 [Computer Systems Organization]: SpecialPurpose
|