Skip to content

Commit 3cc65e0

Browse files
frst
0 parents  commit 3cc65e0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+22324
-0
lines changed

AUTHORS

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
****************************************
2+
Authors of this repository
3+
****************************************
4+
5+
* Dr. Sathya Peri <sathya_p@iith.ac.in>
6+
7+
* Muktikanta Sa <cs15resch11012@iith.ac.in>
8+
9+
* Nandini Singhal <cs15mtech01004@iith.ac.in>
10+
11+
Affiliation:
12+
Parallel and Distributed Computing Research Lab
13+
Department of Computer Science & Engineering
14+
Indian Institute of Technology Hyderabad, India

README.md

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# ConcurrentGraphDS
2+
This repository contains the implementation of a lock-based Concurrent Graph Data Structure.
3+
The algorithm is described in technical report '**Maintaining Acyclicity of Concurrent Graph Objects**' which can be accessed here: https://arxiv.org/abs/1611.03947.
4+
5+
Source files can be found in *src* directory.
6+
7+
The subdirectory *src/data_structure* provides the source code for Graph data structure variants, as decribed below:
8+
1. Sequential Graph data structure
9+
2. Concurrent Coarse Lock Graph Data Structure
10+
3. Concurrent Fine Lock Graph Data Structure without deletion of incoming edges of deleted vertices
11+
4. Concurrent Fine Lock Graph Data Structure with deletion of incoming edges of deleted vertices
12+
13+
The subdirectory *src/acyclicity* provides the source code for Graph data structure variants which maintain acyclicity, as decribed below:
14+
1. Sequential Graph data structure
15+
2. Concurrent Coarse Lock Graph Data Structure
16+
3. Concurrent Fine Lock Graph Data Structure without deletion of incoming edges of deleted vertices (Cycle detection using collect)
17+
4. Concurrent Fine Lock Graph Data Structure with deletion of incoming edges of deleted vertices (Cycle detection using Reachability)
18+
5. Concurrent Fine Lock Graph Data Structure without deletion of incoming edges of deleted vertices (Cycle detection using collect)
19+
6. Concurrent Fine Lock Graph Data Structure with deletion of incoming edges of deleted vertices (Cycle detection using Reachability)
20+
21+
To compile any source file, run the command:
22+
`g++ -std=c++11 filename.cpp -lpthread -o filename.o`
23+
24+
To run this binary file, use the following format:
25+
`./filename numOfThreads numOfInitialVertices numOfOperationsPerThread`
26+
27+
Example:
28+
1. For sequential program run: `./sequential 1 1000 150000`
29+
2. Whereas for a Concurrent program run: `./conc 150 1000 1000`
30+
(A concurrent program of 150 threads with 1000 operations per thread means total 150000 operations.)
31+
32+
You can vary the workload distribution of these operations inside each of these programs.
33+
34+
If you have any questions, please contact: cs15mtech01004@iith.ac.in, cs15resch11012@iith.ac.in

0 commit comments

Comments
 (0)