P. Fatourou, Y. Nikolakopoulos, M. Papatriantafilou
{"title":"Linearizable Wait-Free Iteration Operations in Shared Double-Ended Queues","authors":"P. Fatourou, Y. Nikolakopoulos, M. Papatriantafilou","doi":"10.1142/S0129626417500013","DOIUrl":null,"url":null,"abstract":"Shared data object implementations that allow non-blocking concurrent operations are useful for in-memory data-processing, especially when they support consistent bulk operations like iterations. We propose an algorithmic implementation for concurrent iterators on shared double-ended queues (deques), building on and complementing a known lock-free deque implementation by M. Michael. The proposed construction is linearizable and wait-free. Moreover, it is read-only, so it does not execute expensive synchronization primitives and it does not interfere with update operations.","PeriodicalId":422436,"journal":{"name":"Parallel Process. Lett.","volume":"40 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Parallel Process. Lett.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1142/S0129626417500013","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
Shared data object implementations that allow non-blocking concurrent operations are useful for in-memory data-processing, especially when they support consistent bulk operations like iterations. We propose an algorithmic implementation for concurrent iterators on shared double-ended queues (deques), building on and complementing a known lock-free deque implementation by M. Michael. The proposed construction is linearizable and wait-free. Moreover, it is read-only, so it does not execute expensive synchronization primitives and it does not interfere with update operations.