Abstract
Graphs stand out as a paramount data structure for addressing real-world challenges. The binary relationships among entities or objects are vital in navigating intricate, real-time issues seen in areas like blockchain, social networks, scheduling, biological systems, and telecommunications. Unlike static graphs with immutable vertices and edges, dynamic graphs adapt to the ever-changing real-world scenarios by allowing modifications to both vertices and edges. In this context, we introduce a concurrent, lock-free dynamic graph that enables the addition, deletion, and retrieval of vertices and edges. Furthermore, we present the novel wait-free snapshot algorithm capable of both full and partial graph snapshots using multi-versioning. These snapshots pave the way for advanced graph analytics tasks, including SSSP, getpath, BFS, and more.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The code is available at https://github.com/PDCRL/VersionConcGraph.git.
References
SNAP Stanford network analysis project: wiki-vote dataset. https://snap.stanford.edu/data/wiki-Vote.html. Accessed Mar 2024
Bhardwaj, G., Peri, S., Shetty, P.: Brief announcement: non-blocking dynamic unbounded graphs with wait-free snapshot. In: Dolev, S., Schieber, B. (eds.) International Symposium on Stabilizing, Safety, and Security of Distributed Systems, pp. 106–110. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-44274-2_9
Brown, T.A.: Reclaiming memory for lock-free data structures: there has to be a better way. In: Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing, pp. 261–270 (2015)
Chatterjee, B., Peri, S., Sa, M., Manogna, K.: Non-blocking dynamic unbounded graphs with worst-case amortized bounds. In: International Conference on Principles of Distributed Systems (2021)
Chatterjee, B., Peri, S., Sa, M., Singhal, N.: A simple and practical concurrent non-blocking unbounded graph with linearizable reachability queries. In: ICDCN 2019, Bangalore, India, January 04-07, 2019, pp. 168–177 (2019)
Chatterjee, B., Walulya, I., Tsigas, P.: Help-optimal and language-portable lock-free concurrent data structures. In: ICPP, pp. 360–369 (2016)
Chaudhary, V.P., Juyal, C., Kulkarni, S., Kumari, S., Peri, S.: Achieving starvation-freedom in multi-version transactional memory systems. In: Atig, M.F., Schwarzmann, A.A. (eds.) NETYS 2019. LNCS, vol. 11704, pp. 291–310. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-31277-0_20
Feng, G., et al: Risgraph: a real-time streaming system for evolving graphs to support sub-millisecond per-update analysis at millions ops/s. In: Proceedings of the 2021 International Conference on Management of Data, pp. 513–527 (2021)
Harris, T.L.: A pragmatic implementation of non-blocking linked-lists. In: DISC, pp. 300–314 (2001)
Heller, S., Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N., Shavit, N.: A lazy concurrent list-based set algorithm. Parallel Process. Lett. 17(4), 411–424 (2007)
Hendler, D., Shavit, N., Yerushalmi, L.: A scalable lock-free stack algorithm. J. Parallel Distrib. Comput. 70(1), 1–12 (2010)
Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)
Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: double-ended queues as an example. In: ICDCS, pp. 522–529 (2003)
Herlihy, M., Shavit, N.: On the nature of progress. In: OPODIS, pp. 313–328 (2011)
Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. (TOPLAS) 12(3), 463–492 (1990)
Kallimanis, N.D., Kanellou, E.: Wait-free concurrent graph objects with dynamic traversals. In: OPODIS, pp. 1–27 (2015)
Kogan, A., Petrank, E.: Wait-free queues with multiple enqueuers and dequeuers. In: PPOPP, pp. 223–234 (2011)
Kumar, P., Huang, H.H.: Graphone: a data store for real-time analytics on evolving graphs. ACM Trans. Storage (TOS) 15(4), 1–40 (2020)
Kumar, P., Peri, S., Vidyasankar, K.: A timestamp based multi-version STM algorithm. In: ICDCN, pp. 212–226 (2014)
Ladan-Mozes, E., Shavit, N.: An optimistic approach to lock-free FIFO queues. Distrib. Comput. 20(5), 323–341 (2008)
Liu, Y., Zhang, K., Spear, M.: Dynamic-sized nonblocking hash tables. In: PODC, pp. 242–251 (2014)
Michael, M.M.: High performance dynamic lock-free hash tables and list-based sets. In: SPAA, pp. 73–82 (2002)
Nelson, J., Hassan, A., Palmieri, R.: Bundled references: an abstraction for highly-concurrent linearizable range queries. In: Proceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 448–450 (2021)
Petrank, E., Timnat, S.: Lock-free data-structure iterators. In: International Symposium on Distributed Computing (2013)
Shun, J., Blelloch, G.E.: Ligra: a lightweight graph processing framework for shared memory. SIGPLAN Not. 48(8), 135–146 (2013). https://doi.org/10.1145/2517327.2442530
Timnat, S., Braginsky, A., Kogan, A., Petrank, E.: Wait-free linked-lists. In: OPODIS, pp. 330–344 (2012)
Wei, Y., Ben-David, N., Blelloch, G.E., Fatourou, P., Ruppert, E., Sun, Y.: Constant-time snapshots with applications to concurrent data structures. In: Proceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 31–46 (2021)
Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann (2002)
Zhang, K., Zhao, Y., Yang, Y., Liu, Y., Spear, M.F.: Practical non-blocking unordered lists. In: DISC, pp. 239–253 (2013)
Funding
The work is partially funded by SERB, GoI research project: CRG/2022/009391.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Bhardwaj, G., Ahmed, A., Peri, S. (2024). Concurrent Wait-Free Graph Snapshots Using Multi-versioning. In: Castañeda, A., Enea, C., Gupta, N. (eds) Networked Systems. NETYS 2024. Lecture Notes in Computer Science, vol 14783. Springer, Cham. https://doi.org/10.1007/978-3-031-67321-4_2
Download citation
DOI: https://doi.org/10.1007/978-3-031-67321-4_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-67320-7
Online ISBN: 978-3-031-67321-4
eBook Packages: Computer ScienceComputer Science (R0)