Linear forwarders

  • Authors:
  • Philippa Gardner;Cosimo Laneve;Lucian Wischik

  • Affiliations:
  • Imperial College, London, United Kingdom;University of Bologna, Italy;Microsoft, Redmond, WA, USA

  • Venue:
  • Information and Computation
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

A linear forwarder is a process that receives one message on a channel and sends it on a different channel. We use linear forwarders to provide a distributed implementation of Milner's asynchronous pi calculus. Such a distributed implementation is known to be difficult due to input capability, where a received name is used as the subject of a subsequent input. This allows the dynamic creation of large input processes in the wrong place, thus requiring comparatively large code migrations in order to avoid consensus problems. Linear forwarders constitute a small atom of input capability that is easy to move. We show that the full input capability can be simply encoded using linear forwarders. We also design a distributed machine, demonstrating the ease with which we can implement the pi calculus using linear forwarders. We also show that linear forwarders allow for a simple encoding of distributed choice and have ''clean'' behaviour in the presence of failures.