{"scopus_import":"1","conference":{"start_date":"2019-08-26","location":"Göttingen, Germany","end_date":"2019-08-30","name":"Euro-Par: European Conference on Parallel Processing"},"publisher":"Springer Nature","publication":"25th Anniversary of Euro-Par","date_updated":"2023-09-06T14:53:59Z","day":"13","status":"public","volume":11725,"year":"2019","oa_version":"None","isi":1,"date_published":"2019-08-13T00:00:00Z","abstract":[{"lang":"eng","text":"Traditional concurrent programming involves manipulating shared mutable state. Alternatives to this programming style are communicating sequential processes (CSP) and actor models, which share data via explicit communication. These models have been known for almost half a century, and have recently had started to gain significant traction among modern programming languages. The common abstraction for communication between several processes is the channel. Although channels are similar to producer-consumer data structures, they have different semantics and support additional operations, such as the select expression. Despite their growing popularity, most known implementations of channels use lock-based data structures and can be rather inefficient.\r\n\r\nIn this paper, we present the first efficient lock-free algorithm for implementing a communication channel for CSP programming. We provide implementations and experimental results in the Kotlin and Go programming languages. Our new algorithm outperforms existing implementations on many workloads, while providing non-blocking progress guarantee. Our design can serve as an example of how to construct general communication data structures for CSP and actor models. "}],"citation":{"apa":"Koval, N., Alistarh, D.-A., & Elizarov, R. (2019). Scalable FIFO channels for programming via communicating sequential processes. In 25th Anniversary of Euro-Par (Vol. 11725, pp. 317–333). Göttingen, Germany: Springer Nature. https://doi.org/10.1007/978-3-030-29400-7_23","chicago":"Koval, Nikita, Dan-Adrian Alistarh, and Roman Elizarov. “Scalable FIFO Channels for Programming via Communicating Sequential Processes.” In 25th Anniversary of Euro-Par, 11725:317–33. Springer Nature, 2019. https://doi.org/10.1007/978-3-030-29400-7_23.","ama":"Koval N, Alistarh D-A, Elizarov R. Scalable FIFO channels for programming via communicating sequential processes. In: 25th Anniversary of Euro-Par. Vol 11725. Springer Nature; 2019:317-333. doi:10.1007/978-3-030-29400-7_23","ista":"Koval N, Alistarh D-A, Elizarov R. 2019. Scalable FIFO channels for programming via communicating sequential processes. 25th Anniversary of Euro-Par. Euro-Par: European Conference on Parallel Processing, LNCS, vol. 11725, 317–333.","ieee":"N. Koval, D.-A. Alistarh, and R. Elizarov, “Scalable FIFO channels for programming via communicating sequential processes,” in 25th Anniversary of Euro-Par, Göttingen, Germany, 2019, vol. 11725, pp. 317–333.","short":"N. Koval, D.-A. Alistarh, R. Elizarov, in:, 25th Anniversary of Euro-Par, Springer Nature, 2019, pp. 317–333.","mla":"Koval, Nikita, et al. “Scalable FIFO Channels for Programming via Communicating Sequential Processes.” 25th Anniversary of Euro-Par, vol. 11725, Springer Nature, 2019, pp. 317–33, doi:10.1007/978-3-030-29400-7_23."},"type":"conference","language":[{"iso":"eng"}],"date_created":"2020-01-05T23:00:46Z","title":"Scalable FIFO channels for programming via communicating sequential processes","user_id":"c635000d-4b10-11ee-a964-aac5a93f6ac1","month":"08","department":[{"_id":"DaAl"}],"publication_status":"published","alternative_title":["LNCS"],"article_processing_charge":"No","page":"317-333","doi":"10.1007/978-3-030-29400-7_23","quality_controlled":"1","intvolume":" 11725","author":[{"id":"2F4DB10C-F248-11E8-B48F-1D18A9856A87","first_name":"Nikita","full_name":"Koval, Nikita","last_name":"Koval"},{"id":"4A899BFC-F248-11E8-B48F-1D18A9856A87","orcid":"0000-0003-3650-940X","full_name":"Alistarh, Dan-Adrian","last_name":"Alistarh","first_name":"Dan-Adrian"},{"first_name":"Roman","last_name":"Elizarov","full_name":"Elizarov, Roman"}],"_id":"7228","publication_identifier":{"eissn":["1611-3349"],"isbn":["978-3-0302-9399-4"],"issn":["0302-9743"]},"external_id":{"isi":["000851061400023"]}}