can be accessed or operated upon by several processes or threads
simultaneously without enforcing mutual exclusion (e.g. through the use of locks or semaphores) among the concurrent operations. By not enforcing mutual exclusion a slow or stopped operation will not impede the progress of other concurrent operations. Further, lock-free data-structures often allow higher degrees of parallelism and offer improved performance on actual multiprocessor computers.
In this talk, we will first introduce the notion of lock-freedom and
linearizability for concurrent data-structures. Then we will look closer at some significant problems regarding the use and reuse of dynamically allocated memory in such lock-free data-structures. Finally, we will briefly introduce an efficient solution to these problems.