http://www.noble-library.org/papers.html
http://pubman.mpdl.mpg.de/pubman/item/escidoc:1819096:3/component/escidoc:1840714/MPI-I-2007-1-003.p
What is Lock-Free?
Like your Futex implementation, just use Hardware atomic operations to check availability of access and atomically lock the resources. But, when there is failure on checking the availability, still it returns with FALSE. It does not block.
What is Wait-Free?
Hard real time systems requires this. Waiting also limited and guranteed.
Lock-free vs. wait-free concurrency
http://rethinkdb.com/blog/lock-free-vs-wait-free-concurrency/
The lockless page cache patches to the Linux kernel are an example of a wait-free system.
The lockless page cache
http://lwn.net/Articles/291826/
http://www.barrelfish.org/peter-phd-multicore-resource-mgmt.pdf
http://users.ece.utexas.edu/~valvano/EE345M/Arm_EE382N_4.pdf
http://pubman.mpdl.mpg.de/pubman/item/escidoc:1819096:3/component/escidoc:1840714/MPI-I-2007-1-003.p
What is Lock-Free?
Like your Futex implementation, just use Hardware atomic operations to check availability of access and atomically lock the resources. But, when there is failure on checking the availability, still it returns with FALSE. It does not block.
What is Wait-Free?
Hard real time systems requires this. Waiting also limited and guranteed.
Lock-free vs. wait-free concurrency
http://rethinkdb.com/blog/lock-free-vs-wait-free-concurrency/
The lockless page cache patches to the Linux kernel are an example of a wait-free system.
The lockless page cache
http://lwn.net/Articles/291826/
http://www.barrelfish.org/peter-phd-multicore-resource-mgmt.pdf
http://users.ece.utexas.edu/~valvano/EE345M/Arm_EE382N_4.pdf