Deadlock-free asynchronous message reordering in rust with multiparty session types
Zak Cutner, Nobuko Yoshida, Martin Vassor
Abstract
Rust is a modern systems language focused on performance and reliability. Complementing Rust's promise to provide "fearless concurrency", developers frequently exploit asynchronous message passing. Unfortunately, sending and receiving messages in an arbitrary order to maximise computation-communication overlap (a popular optimisation in message-passing applications) opens up a Pandora's box of subtle concurrency bugs.
Topics & Concepts
Computer scienceConcurrencyAsynchronous communicationMessage passingExploitSession (web analytics)Rust (programming language)DeadlockDistributed computingConcurrent computingComputationParallel computingComputer networkProgramming languageComputer securityWorld Wide WebParallel Computing and Optimization TechniquesDistributed systems and fault toleranceSoftware Testing and Debugging Techniques