---
_id: '7228'
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. "
alternative_title:
- LNCS
article_processing_charge: No
author:
- first_name: Nikita
  full_name: Koval, Nikita
  id: 2F4DB10C-F248-11E8-B48F-1D18A9856A87
  last_name: Koval
- first_name: Dan-Adrian
  full_name: Alistarh, Dan-Adrian
  id: 4A899BFC-F248-11E8-B48F-1D18A9856A87
  last_name: Alistarh
  orcid: 0000-0003-3650-940X
- first_name: Roman
  full_name: Elizarov, Roman
  last_name: Elizarov
citation:
  ama: 'Koval N, Alistarh D-A, Elizarov R. Scalable FIFO channels for programming
    via communicating sequential processes. In: <i>25th Anniversary of Euro-Par</i>.
    Vol 11725. Springer Nature; 2019:317-333. doi:<a href="https://doi.org/10.1007/978-3-030-29400-7_23">10.1007/978-3-030-29400-7_23</a>'
  apa: 'Koval, N., Alistarh, D.-A., &#38; Elizarov, R. (2019). Scalable FIFO channels
    for programming via communicating sequential processes. In <i>25th Anniversary
    of Euro-Par</i> (Vol. 11725, pp. 317–333). Göttingen, Germany: Springer Nature.
    <a href="https://doi.org/10.1007/978-3-030-29400-7_23">https://doi.org/10.1007/978-3-030-29400-7_23</a>'
  chicago: Koval, Nikita, Dan-Adrian Alistarh, and Roman Elizarov. “Scalable FIFO
    Channels for Programming via Communicating Sequential Processes.” In <i>25th Anniversary
    of Euro-Par</i>, 11725:317–33. Springer Nature, 2019. <a href="https://doi.org/10.1007/978-3-030-29400-7_23">https://doi.org/10.1007/978-3-030-29400-7_23</a>.
  ieee: N. Koval, D.-A. Alistarh, and R. Elizarov, “Scalable FIFO channels for programming
    via communicating sequential processes,” in <i>25th Anniversary of Euro-Par</i>,
    Göttingen, Germany, 2019, vol. 11725, pp. 317–333.
  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.'
  mla: Koval, Nikita, et al. “Scalable FIFO Channels for Programming via Communicating
    Sequential Processes.” <i>25th Anniversary of Euro-Par</i>, vol. 11725, Springer
    Nature, 2019, pp. 317–33, doi:<a href="https://doi.org/10.1007/978-3-030-29400-7_23">10.1007/978-3-030-29400-7_23</a>.
  short: N. Koval, D.-A. Alistarh, R. Elizarov, in:, 25th Anniversary of Euro-Par,
    Springer Nature, 2019, pp. 317–333.
conference:
  end_date: 2019-08-30
  location: Göttingen, Germany
  name: 'Euro-Par: European Conference on Parallel Processing'
  start_date: 2019-08-26
date_created: 2020-01-05T23:00:46Z
date_published: 2019-08-13T00:00:00Z
date_updated: 2023-09-06T14:53:59Z
day: '13'
department:
- _id: DaAl
doi: 10.1007/978-3-030-29400-7_23
external_id:
  isi:
  - '000851061400023'
intvolume: '     11725'
isi: 1
language:
- iso: eng
month: '08'
oa_version: None
page: 317-333
publication: 25th Anniversary of Euro-Par
publication_identifier:
  eissn:
  - 1611-3349
  isbn:
  - 978-3-0302-9399-4
  issn:
  - 0302-9743
publication_status: published
publisher: Springer Nature
quality_controlled: '1'
scopus_import: '1'
status: public
title: Scalable FIFO channels for programming via communicating sequential processes
type: conference
user_id: c635000d-4b10-11ee-a964-aac5a93f6ac1
volume: 11725
year: '2019'
...
