September 3, 2010

Buffered Communication Analysis in Distributed Multiparty Sessions

CONCUR'10, joint work with Nobuko Yoshida.

Abstract

Many communication-centred systems today rely on asynchronous messaging among distributed peers to make efficient use of parallel execution and resource access. With such asynchrony, the communication buffers can happen to grow inconsiderately over time. This paper proposes a static verification methodology based on multiparty session types which can efficiently compute the upper bounds on buffer sizes. Our analysis relies on a uniform causality audit of the entire collaboration pattern -- an examination that is not always possible from each end-point type. We extend this method to design algorithms that allocate communication channels in order to optimise the memory requirements of session executions. From these analyses, we propose two refinements methods which respect buffer bounds: a global protocol refinement that automatically inserts confirmation messages to guarantee stipulated buffer sizes and a local protocol refinement to optimise asynchronous messaging without buffer overflow. Finally our work is applied to overcome a buffer overflow problem of the multi-buffering algorithm. taken from parallel algorithms and Web services usecases.

Short version

This short version is close to the paper that is publised at CONCUR'2010 [pdf].

Long version

The long version provides definitions, examples and proofs [pdf].

Presentation

The slides from the CONCUR presentation in Paris [pdf].

This site was made with Stog.