Fair Kernel-Lock-Free Claim/Release Protocol for Shared Object Access in Cooperatively Scheduled Runtimes
By: Kevin Chalmers, Jan Bækgaard Pedersen
Potential Business Impact:
Lets programs share things fairly and fast.
We present the first spin-free, kernel-lock-free mutex that cooperates with user-mode schedulers and is formally proven FIFO-fair and linearizable using CSP/FDR. Our fairness oracle and stability-based proof method are reusable across coroutine runtime designs. We designed the claim/release protocol for a process-oriented language -- ProcessJ -- to manage the race for claiming shared inter-process communication channels. Internally, we use a lock-free queue to park waiting processes for gaining access to a shared object, such as exclusive access to a shared channel to read from or write to. The queue ensures control and fairness for processes wishing to access a shared resource, as the protocol handles claim requests in the order they are inserted into the queue. We produce CSP models of our protocol and a mutex specification, demonstrating with FDR that our protocol behaves as a locking mutex.
Similar Papers
Verifying Correctness of Shared Channels in a Cooperatively Scheduled Process-Oriented Language
Programming Languages
Ensures computer parts work right together.
Minimize Your Critical Path with Combine-and-Exchange Locks
Distributed, Parallel, and Cluster Computing
Makes computer programs run much faster.
Reciprocating Locks
Distributed, Parallel, and Cluster Computing
Makes computer programs share work faster.