ucf-cs / tlds

Lock-free Transactions without Rollbacks for Linked Data Structures

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TLDS: Transactional operations for Linked Data Structures

This repository contains the code for  "Lock-Free Transactional Transformation for Linked Data Structures" by Zhang, Laborde, Lebanoff, and Dechev, published in ACM Transaction on Parallel Computing in 2018.

The tagged release corresponds to "Lock-free Transactions without Rollbacks for Linked Data Structures" in ACM Transactions on Parallel Programming.

This code is extended by "Wait-free Dynamic Transactions for Linked Data Structures" by Laborde, Lebanoff, Peterson, Zhang, and Dechev, published in Concurrency and Computation: Practice and Experience in 2020. 

Tested operating systems
Ubuntu 16 to 20 (native and WSL2)

Required dependencies for building the code:
sudo apt install libtool cmake libtbb-dev libboost-dev libgoogle-perftools-dev libgsl-dev

To build the code do the following:
git clone https://github.com/ucf-cs/tlds.git
mv tlds trans-dev (or cp -r tlds trans-dev)
mkdir trans-compile
cd trans-dev
./bootstrap.sh
cd ../trans-compile
../trans-dev/configure
make    
./src/trans  #Runs the tester without any options
Run script/pqtest.py to run the benchmark

About

Lock-free Transactions without Rollbacks for Linked Data Structures


Languages

Language:C 50.8%Language:C++ 44.8%Language:CMake 3.0%Language:Java 0.4%Language:M4 0.3%Language:Assembly 0.3%Language:Python 0.3%Language:Makefile 0.0%Language:Shell 0.0%