Safe session-based asynchronous coordination in rust
File(s) zak.pdf (320.82 KB)
Accepted version
Author(s)
Yoshida, Nobuko
Cutner, Zak
Type
Conference Paper
Abstract
Rust is a popular systems language focused on performance and reliability, with an emphasis on providing “fearless concurrency”. Message passing has become a widely-used pattern by Rust developers although the potential for communication errors leaves developing safe and concurrent applications an unsolved challenge. In this ongoing work, we use multiparty session types to provide safety guarantees such as deadlock-freedom by coordinating message-passing processes. In contrast to previous contributions [22,21,20], our implementation targets asynchronous applications using a sync/await code in Rust. Specifically, we incorporate a synchronous subtyping theory, which allows program optimisation through reordering input and output actions. We evaluate our ideas by developing several representative use cases from the literature and by taking microbenchmarks. We discuss our plans to support full API generation integrating asynchronous optimisations.
Date Issued
2021-06-08
Date Acceptance
2021-04-01
Citation
Lecture Notes in Computer Science, 2021, 12717, pp.80-89
ISSN
0302-9743
Publisher
Springer Verlag
Start Page
80
End Page
89
Journal / Book Title
Lecture Notes in Computer Science
Volume
12717
Copyright Statement
© IFIP International Federation for Information Processing 2021. The final publication is available at Springer via https://doi.org/10.1007/978-3-030-78142-2
Sponsor
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (E
Engineering and Physical Sciences Research Council
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (EPSRC)
Engineering and Physical Sciences Research Council
Engineering & Physical Science Research Council (E
The National Cyber Security Centre (NCSC)
Identifier
https://link.springer.com/chapter/10.1007/978-3-030-78142-2_5
Grant Number
EP/T006544/1
EP/K011715/1
ERI 025567 (EP/K034413/1)
PO 20131167
EP/L00058X/1, PO 20131167
EP/N027833/1
PO 20287680
EP/T014709/1
EP/V000462/1
PO 20257975
4214176 / RFA 20601
Source
Coordination 2021
Subjects
Artificial Intelligence & Image Processing
Publication Status
Published
Start Date
2021-06-14
Finish Date
2021-06-18
Coverage Spatial
Virtual
Date Publish Online
2021-06-08
