[{"isi":1,"year":"2019","day":"04","publication":"ACM International Conference Proceeding Series","page":"168-177","date_published":"2019-01-04T00:00:00Z","doi":"10.1145/3288599.3288617","date_created":"2019-02-10T22:59:17Z","publisher":"ACM","quality_controlled":"1","oa":1,"citation":{"chicago":"Chatterjee, Bapi, Sathya Peri, Muktikanta Sa, and Nandini Singhal. “A Simple and Practical Concurrent Non-Blocking Unbounded Graph with Linearizable Reachability Queries.” In ACM International Conference Proceeding Series, 168–77. ACM, 2019. https://doi.org/10.1145/3288599.3288617.","ista":"Chatterjee B, Peri S, Sa M, Singhal N. 2019. A simple and practical concurrent non-blocking unbounded graph with linearizable reachability queries. ACM International Conference Proceeding Series. ICDCN: Conference on Distributed Computing and Networking, 168–177.","mla":"Chatterjee, Bapi, et al. “A Simple and Practical Concurrent Non-Blocking Unbounded Graph with Linearizable Reachability Queries.” ACM International Conference Proceeding Series, ACM, 2019, pp. 168–77, doi:10.1145/3288599.3288617.","short":"B. Chatterjee, S. Peri, M. Sa, N. Singhal, in:, ACM International Conference Proceeding Series, ACM, 2019, pp. 168–177.","ieee":"B. Chatterjee, S. Peri, M. Sa, and N. Singhal, “A simple and practical concurrent non-blocking unbounded graph with linearizable reachability queries,” in ACM International Conference Proceeding Series, Bangalore, India, 2019, pp. 168–177.","ama":"Chatterjee B, Peri S, Sa M, Singhal N. A simple and practical concurrent non-blocking unbounded graph with linearizable reachability queries. In: ACM International Conference Proceeding Series. ACM; 2019:168-177. doi:10.1145/3288599.3288617","apa":"Chatterjee, B., Peri, S., Sa, M., & Singhal, N. (2019). A simple and practical concurrent non-blocking unbounded graph with linearizable reachability queries. In ACM International Conference Proceeding Series (pp. 168–177). Bangalore, India: ACM. https://doi.org/10.1145/3288599.3288617"},"user_id":"4359f0d1-fa6c-11eb-b949-802e58b17ae8","author":[{"first_name":"Bapi","id":"3C41A08A-F248-11E8-B48F-1D18A9856A87","orcid":"0000-0002-2742-4028","full_name":"Chatterjee, Bapi","last_name":"Chatterjee"},{"last_name":"Peri","full_name":"Peri, Sathya","first_name":"Sathya"},{"first_name":"Muktikanta","last_name":"Sa","full_name":"Sa, Muktikanta"},{"first_name":"Nandini","full_name":"Singhal, Nandini","last_name":"Singhal"}],"article_processing_charge":"No","external_id":{"arxiv":["1809.00896"],"isi":["000484491600019"]},"title":"A simple and practical concurrent non-blocking unbounded graph with linearizable reachability queries","publication_identifier":{"isbn":["978-1-4503-6094-4 "]},"publication_status":"published","language":[{"iso":"eng"}],"abstract":[{"text":"Graph algorithms applied in many applications, including social networks, communication networks, VLSI design, graphics, and several others, require dynamic modifications - addition and removal of vertices and/or edges - in the graph. This paper presents a novel concurrent non-blocking algorithm to implement a dynamic unbounded directed graph in a shared-memory machine. The addition and removal operations of vertices and edges are lock-free. For a finite sized graph, the lookup operations are wait-free. Most significant component of the presented algorithm is the reachability query in a concurrent graph. The reachability queries in our algorithm are obstruction-free and thus impose minimal additional synchronization cost over other operations. We prove that each of the data structure operations are linearizable. We extensively evaluate a sample C/C++ implementation of the algorithm through a number of micro-benchmarks. The experimental results show that the proposed algorithm scales well with the number of threads and on an average provides 5 to 7x performance improvement over a concurrent graph implementation using coarse-grained locking.","lang":"eng"}],"oa_version":"Preprint","scopus_import":"1","main_file_link":[{"url":"https://arxiv.org/abs/1809.00896","open_access":"1"}],"month":"01","date_updated":"2023-08-24T14:41:53Z","department":[{"_id":"DaAl"}],"_id":"5947","type":"conference","conference":{"start_date":"2019-01-04","end_date":"2019-01-07","location":"Bangalore, India","name":"ICDCN: Conference on Distributed Computing and Networking"},"status":"public"}]