In the domain of multiprocessor real-time systems, there has been a wealth of recent work on scheduling, but relatively little work on the equally-important topic of synchronization. When synchronizing accesses to shared resources, four basic options exist: lock-free execution, wait-free execution, spinbased locking, and suspension-based locking. To our knowledge, no empirical multiprocessor-based evaluation of these basic techniques that focuses on real-time systems has ever been conducted before. In this paper, we present such an evaluation and report on our efforts to incorporate synchronization support in the testbed used in this effort. 1 A third notion, obstruction-freedom, has been studied extensively [22] . However, obstruction-free implementations provide very weak progress guarantees, and thus are unlikely to be a viable option in real-time systems.
Brandenburg et al. REF extend the LInux Testbed for MUltiprocessor Scheduling in Real-Time systems (LITMUS RT ) with resource sharing and then empirically evaluate lockfree execution, wait-free execution, spin-based locking, and suspension-based locking.
Real-Time Synchronization on Multiprocessors: To Block or Not to Block, to Suspend or Spin?
2008 IEEE Real-Time and Embedded Technology and Applications Symposium
2008 IEEE Real-Time and Embedded Technology and Applications Symposium
Computer Science