A Concurrent Unbounded Wait-Free Graph

by   Sathya Peri, et al.

In this paper, we propose a concurrent non-blocking unbounded directed graph (for shared memory architecture) that is concurrently being updated by threads adding/deleting vertices and edges. All the methods of the algorithm are wait-free in nature. We extend the wait-free list implementation of concurrent set for achieving this. We have compared the performance of the proposed concurrent data-structure with coarse-grained, hand-over-hand, fine-grained locking and lock-free implementation and achieves significant improvement. We also extended our implementation using fast-path-slow-path based on the algorithm proposed by Timnat et al.


page 1

page 2

page 3

page 4


Maintenance of Strongly Connected Component in Shared-memory Graph

In this paper, we propose a generic concurrent directed graph (for share...

A Simple and Practical Concurrent Non-blocking Unbounded Graph with Reachability Queries

Graph algorithms applied in many applications, including social networks...

Garbage Collection in Concurrent Sets

Garbage Collection in concurrent data structures, especially lock-free o...

Building Efficient Concurrent Graph Object through Composition of List-based Set

In this paper, we propose a generic concurrent directed graph (for share...

Parallel Combining: Making Use of Free Cycles

There are two intertwined factors that affect performance of concurrent ...

Table Space Designs For Implicit and Explicit Concurrent Tabled Evaluation

One of the main advantages of Prolog is its potential for the implicit e...

An Improved and Optimized Practical Non-Blocking PageRank Algorithm for Massive Graphs

PageRank is a well-known algorithm whose robustness helps set a standard...