ABSTRACT:
Although real-time operating systems and applications have been
available for multicore systems for some years, shared-memory parallel
systems still pose some severe challenges for real-time algorithms,
particularly as the number of CPUs increases. These challenges can
take the form of lock contention, memory contention,
conflicts/restarts for lockless algorithms, as well as many others.
One technology that has been recently added to the real-time arsenal
is read-copy update (RCU), which permits deterministic read-side
access to read-mostly data structures, even in the face of concurrent
updates. In some cases, updates may also be carried out in a
deterministic manner.
RCU was accepted into the Linux kernel in late 2002, and a real-time variant of RCU was been accepted into Linux for real-time use in early 2008. This real-time variant of RCU resulted in significant reductions in the Linux kernel's scheduling latency. More recently, user-level implementations of RCU have appeared on the scene.
This talk will give a brief overview of RCU and how it may be used to solve some interesting classes of problems that arise when constructing shared-memory parallel real-time systems.