{"title":"Going with the Flow: Real-Time Max-Flow on Asynchronous Dynamic Graphs","authors":"Juntong Luo, Scott Sallinen, M. Ripeanu","doi":"10.1145/3594778.3594882","DOIUrl":null,"url":null,"abstract":"Processing graphs that evolve over time has seen renewed attention. Processing solutions on dynamic graphs (often dubbed \"graph streaming\" solutions) aim to maintain the state for a graph query as the graph evolves over time, and to timely offer a solution (approximate, or precise) when requested by the user. In this space, and in the context of shared-nothing platforms, solutions have been proposed only for relatively simple problems (e.g., BFS, SSSP, PageRank), and some are limited to incremental-only evolutions traces. Support for more complex problems remains rather unexplored. To close this gap, we present a solution for the maximum flow problem that supports both add and delete events. We build this solution on top of an event-based abstraction. Integral to this abstraction is that events tied to both graph topology changes and algorithmic maintenance are processed asynchronously, concurrently, and autonomously (i.e., without shared state). We show that our implementation provides favourable time-to-solution and scales well by evaluating it on a real-world dynamic graph with 80 million edges. We compare its performance with snapshot-based solutions both internally (with our own implementation of a shared-nothing static algorithm) and externally (with Galois, a popular shared-memory framework for static graphs).","PeriodicalId":371215,"journal":{"name":"Proceedings of the 6th Joint Workshop on Graph Data Management Experiences & Systems (GRADES) and Network Data Analytics (NDA)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 6th Joint Workshop on Graph Data Management Experiences & Systems (GRADES) and Network Data Analytics (NDA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3594778.3594882","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Processing graphs that evolve over time has seen renewed attention. Processing solutions on dynamic graphs (often dubbed "graph streaming" solutions) aim to maintain the state for a graph query as the graph evolves over time, and to timely offer a solution (approximate, or precise) when requested by the user. In this space, and in the context of shared-nothing platforms, solutions have been proposed only for relatively simple problems (e.g., BFS, SSSP, PageRank), and some are limited to incremental-only evolutions traces. Support for more complex problems remains rather unexplored. To close this gap, we present a solution for the maximum flow problem that supports both add and delete events. We build this solution on top of an event-based abstraction. Integral to this abstraction is that events tied to both graph topology changes and algorithmic maintenance are processed asynchronously, concurrently, and autonomously (i.e., without shared state). We show that our implementation provides favourable time-to-solution and scales well by evaluating it on a real-world dynamic graph with 80 million edges. We compare its performance with snapshot-based solutions both internally (with our own implementation of a shared-nothing static algorithm) and externally (with Galois, a popular shared-memory framework for static graphs).