Concurrency among strangers: programming in E as plan coordination

  • Authors:
  • Mark S. Miller;E. Dean Tribble;Jonathan Shapiro

  • Affiliations:
  • Johns Hopkins University and Hewlett Packard Laboratories;Johns Hopkins University;Johns Hopkins University

  • Venue:
  • TGC'05 Proceedings of the 1st international conference on Trustworthy global computing
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Programmers write programs, expressing plans for machines to execute. When composed so that they may cooperate, plans may instead interfere with each other in unanticipated ways. Plan coordination is the art of simultaneously enabling plans to cooperate, while avoiding hazards of destructive plan interference. For sequential computation within a single machine, object programming supports plan coordination well. For concurrent computation, this paper shows how hard it is to use locking to prevent plans from interfering without also destroying their ability to cooperate. In Internet-scale computing, machines proceed concurrently, interact across barriers of large latencies and partial failure, and encounter each other's misbehavior. Each dimension presents new plan coordination challenges. This paper explains how the E language addresses these joint challenges by changing only a few concepts of conventional sequential object programming. Several projects are adapting these insights to existing platforms.