Short Paper: Maintenance of Strongly Connected Component in Shared-Memory Graph
In this paper, we present an on-line fully dynamic algorithm for maintaining strongly connected component of a directed graph in a shared memory architecture. The edges and vertices are added or deleted concurrently by fixed number of threads. To the best of our knowledge, this is the first work to propose using linearizable concurrent directed graph and is build using both ordered and unordered list-based set. We provide an empirical comparison against sequential and coarse-grained. The results show our algorithm’s throughput is increased between 3 to 6x depending on different workload distributions and applications. We believe that there are huge applications in the on-line graph. Finally, we show how the algorithm can be extended to community detection in on-line graph.
KeywordsConcurrent data structure Directed graph Strong connected components Connectivity on directed graphs Dynamic graph algorithms
I am grateful to Dr. Sathya Peri and Ritambhara Chauhan for their many healpful comments and to MediaLab Asia for funding my scholarship.
- 1.Demetrescu, C., Eppstein, D., Galil, Z., Italiano, G.F.: Dynamic graph algorithms. In: Atallah, M.J., Blanton, M. (eds.) Algorithms and Theory of Computation Handbook, p. 9. Chapman & Hall/CRC, Boca Raton (2010)Google Scholar
- 5.Sathya Peri, M.S., Singhal, N.: Maintaining Acyclicity of Concurrent Graphs CoRR abs/1611.03947 (2016). http://arxiv.org/abs/1611.03947
- 6.Sa, M.: Maintenance of Strongly Connected Component in Shared-memory Graph CoRR abs/1804.01276 (2018). http://arxiv.org/abs/1804.01276