Source code for lock-free data structure implementation (POSIX threads and CUDA)

1. Download the following zip ball.
2. Extract with the unix unzip utility. All the contents will be placed under a directory named LockFreeDS.
3. Go through the README file under LockFreeDS for compilation and execution information. The codes have been tested on 32-bit Ubuntu 10.10 and 64-bit Ubuntu 12.04. The POSIX thread implementations rely on x86 cmpxchg instruction. The GPU implementations have been tested on Tesla 2070 for CUDA 4.2.

In these codes, we include the implementation of our main function as well as the GPU kernel function (or the CPU worker thread function for POSIX thread implementation) to show how we generate the keys and the operation string. A user should replace these with his/her own main function and kernel/worker thread function according to the requirement of his/her application that makes use of the lock-free operations.

LockFreeDS.zip

Reference:
Prabhakar Misra and Mainak Chaudhuri. Performance Evaluation of Concurrent Lock-free Data Structures on GPUs. In Proceedings of the 18th IEEE International Conference on Parallel and Distributed Systems, pages 53-60, December 2012. [PDF][Talk slides (PPTX)]