CAMP: Cost-Aware Multiparty Session Protocols

10/09/2020
by   David Castro-Perez, et al.
0

This paper presents CAMP, a new static performance analysis framework for message-passing concurrent and distributed systems, based on the theory of multiparty session types (MPST). Understanding the run-time performance of concurrent and distributed systems is of great importance for the identification of bottlenecks and optimisation opportunities. In the message-passing setting, these bottlenecks are generally communication overheads and synchronisation times. Despite its importance, reasoning about these intensional properties of software, such as performance, has received little attention, compared to verifying extensional properties, such as correctness. Behavioural protocol specifications based on sessions types capture not only extensional, but also intensional properties of concurrent and distributed systems. CAMP augments MPST with annotations of communication latency and local computation cost, defined as estimated execution times, that we use to extract cost equations from protocol descriptions. CAMP is also extendable to analyse asynchronous communication optimisation built on a recent advance of session type theories. We apply our tool to different existing benchmarks and use cases in the literature with a wide range of communication protocols, implemented in C, MPI-C, Scala, Go, and OCaml. Our benchmarks show that, in most of the cases, we predict an upper-bound on the real execution costs with < 15

READ FULL TEXT

Authors

page 1

page 2

page 3

page 4

01/22/2021

A Decentralized Analysis of Multiparty Protocols

Protocols provide the unifying glue in concurrent and distributed softwa...
10/28/2020

Actris 2.0: Asynchronous Session-Type Based Reasoning in Separation Logic

Message passing is a useful abstraction for implementing concurrent prog...
11/23/2021

kmclib: Automated Inference and Verification of Session Types

Theories and tools based on multiparty session types offer correctness g...
09/14/2020

Statically Verified Refinements for Multiparty Protocols

With distributed computing becoming ubiquitous in the modern era, safe d...
05/06/2021

The Canonical Amoebot Model: Algorithms and Concurrency Control

The amoebot model abstracts active programmable matter as a collection o...
01/25/2021

Data Flow Analysis of Asynchronous Systems using Infinite Abstract Domains

Asynchronous message-passing systems are employed frequently to implemen...
09/05/2017

Trace-Based Run-time Analysis of Message-Passing Go Programs

We consider the task of analyzing message-passing programs by observing ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.