In this section I am going to share my experience regarding design and implementation of scalable synchronization algorithms. Note that scalability does not necessary imply lock-freedom or wait-freedom, they are actually orthogonal. However, sometimes scalable algorithms are also lockfree or waitfree at least partially.
Here you will find some articles about general underlying aspects, and some with descriptions and code for specific synchronization algorithms.
Move on to Introduction