lsmgeb89 / concurrent_linked_list

Comparing the performance of three different implementations of the concurrent linked list

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Concurrent Linked List

Summary

  • Implemented a concurrent linked list that supports search, insert and delete operations by using the following three approaches:
    1. coarse-grained locking with search operation oblivious to locks
    2. fine-grained locking using lazy synchronization
    3. lock-free synchronization
  • Implemented a common test facility that could generate operations with different distribution and test linked lists by different degree of concurrency (number of threads concurrently operating on a linked list) according to the requirements of testing throughput
  • Compared the averaged performance of the three implementations as a function of number of threads (varied from one to the number of logical cores in the machine) under different distribution of operations

Project Information

  • Course: Introduction to Multicore Programming (CS 6301)
  • Professor: Neeraj Mittal
  • Semester: Fall 2016
  • Programming Language: C++
  • Build Tool: CMake

About

Comparing the performance of three different implementations of the concurrent linked list

License:GNU Affero General Public License v3.0


Languages

Language:C++ 68.2%Language:TeX 20.6%Language:Shell 6.3%Language:R 2.1%Language:CMake 1.8%Language:Makefile 0.9%