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

10/20/2017
by   Sathya Peri, et al.
0

In this paper, we propose a generic concurrent directed graph (for shared memory architecture) that is concurrently being updated by threads adding/deleting vertices and edges. The graph is constructed by the composition of the well known concurrent list-based set data-structure from the literature. Our construction is generic, in the sense that it can be used to obtain various progress guarantees, depending on the granularity of the underlying concurrent set implementation - either blocking or non-blocking. We prove that the proposed construction is linearizable by identifying its linearization points. Finally, we compare the performance of all the variants of the concurrent graph data-structure along with its sequential implementation. We observe that our concurrent graph data-structure mimics the performance of the concurrent list based set.

READ FULL TEXT

page 1

page 2

page 3

page 4

04/04/2018

Maintenance of Strongly Connected Component in Shared-memory Graph

In this paper, we propose a generic concurrent directed graph (for share...
09/12/2011

Light-weight Locks

In this paper, we propose a new approach to building synchronization pri...
09/15/2022

Concurrent Size

The size of a data structure (i.e., the number of elements in it) is a w...
03/03/2020

Dynamic Graph Operations: A Consistent Non-blocking Approach

Graph algorithms enormously contribute to the domains such as blockchain...
01/01/2021

Chunk List: Concurrent Data Structures

Chunking data is obviously no new concept; however, I had never found an...
10/31/2018

A Concurrent Unbounded Wait-Free Graph

In this paper, we propose a concurrent non-blocking unbounded directed g...
06/03/2018

Garbage Collection in Concurrent Sets

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