Skip to main content

Concurrent Wait-Free Graph Snapshots Using Multi-versioning

  • Conference paper
  • First Online:
Networked Systems (NETYS 2024)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14783))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    The code is available at https://github.com/PDCRL/VersionConcGraph.git.

References

  1. SNAP Stanford network analysis project: wiki-vote dataset. https://snap.stanford.edu/data/wiki-Vote.html. Accessed Mar 2024

  2. 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

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Chatterjee, B., Walulya, I., Tsigas, P.: Help-optimal and language-portable lock-free concurrent data structures. In: ICPP, pp. 360–369 (2016)

    Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. 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)

    Google Scholar 

  9. Harris, T.L.: A pragmatic implementation of non-blocking linked-lists. In: DISC, pp. 300–314 (2001)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. Hendler, D., Shavit, N., Yerushalmi, L.: A scalable lock-free stack algorithm. J. Parallel Distrib. Comput. 70(1), 1–12 (2010)

    Article  Google Scholar 

  12. Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)

    Article  Google Scholar 

  13. Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: double-ended queues as an example. In: ICDCS, pp. 522–529 (2003)

    Google Scholar 

  14. Herlihy, M., Shavit, N.: On the nature of progress. In: OPODIS, pp. 313–328 (2011)

    Google Scholar 

  15. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. (TOPLAS) 12(3), 463–492 (1990)

    Article  Google Scholar 

  16. Kallimanis, N.D., Kanellou, E.: Wait-free concurrent graph objects with dynamic traversals. In: OPODIS, pp. 1–27 (2015)

    Google Scholar 

  17. Kogan, A., Petrank, E.: Wait-free queues with multiple enqueuers and dequeuers. In: PPOPP, pp. 223–234 (2011)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. Kumar, P., Peri, S., Vidyasankar, K.: A timestamp based multi-version STM algorithm. In: ICDCN, pp. 212–226 (2014)

    Google Scholar 

  20. Ladan-Mozes, E., Shavit, N.: An optimistic approach to lock-free FIFO queues. Distrib. Comput. 20(5), 323–341 (2008)

    Article  Google Scholar 

  21. Liu, Y., Zhang, K., Spear, M.: Dynamic-sized nonblocking hash tables. In: PODC, pp. 242–251 (2014)

    Google Scholar 

  22. Michael, M.M.: High performance dynamic lock-free hash tables and list-based sets. In: SPAA, pp. 73–82 (2002)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. Petrank, E., Timnat, S.: Lock-free data-structure iterators. In: International Symposium on Distributed Computing (2013)

    Google Scholar 

  25. 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

    Article  Google Scholar 

  26. Timnat, S., Braginsky, A., Kogan, A., Petrank, E.: Wait-free linked-lists. In: OPODIS, pp. 330–344 (2012)

    Google Scholar 

  27. 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)

    Google Scholar 

  28. Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann (2002)

    Google Scholar 

  29. Zhang, K., Zhao, Y., Yang, Y., Liu, Y., Spear, M.F.: Practical non-blocking unordered lists. In: DISC, pp. 239–253 (2013)

    Google Scholar 

Download references

Funding

The work is partially funded by SERB, GoI research project: CRG/2022/009391.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gaurav Bhardwaj .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics