Concurrent clustered programming

  • Authors:
  • Vijay Saraswat;Radha Jagadeesan

  • Affiliations:
  • IBM T. J. Watson Research Lab;School of CTI, DePaul University

  • Venue:
  • CONCUR 2005 - Concurrency Theory
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present the concurrency and distribution primitives of MediaObjects/InlineFigure1.png, a modern, statically typed, class-based object-oriented (OO) programming language, designed for high productivity programming of scalable applications on high-end machines. The basic move in the MediaObjects/InlineFigure2.png, programming model is to reify locality through a notion of place, which hosts multiple data items and activities that operate on them. Aggregate objects (such as arrays) may be distributed across multiple places. Activities may dynamically spawn new activities in mulitple places and sequence them through a finish operation that detects termination of activities. Atomicity is obtained through the use of atomic blocks. Activities may repeatedly detect quiescence of a data-dependent collection of (distributed) activities through a notion of clocks, generalizing barriers. Thus MediaObjects/InlineFigure3.png, has a handful of orthogonal constructs for space, time, sequencing and atomicity. MediaObjects/InlineFigure4.png, smoothly combines and generalizes the current dominant paradigms for shared memory computing and message passing. We present a bisimulation-based operational semantics for MediaObjects/InlineFigure5.png, building on the formal semantics for "Middleweight Java". We establish the central theorem of MediaObjects/InlineFigure6.png,: programs without conditional atomic blocks do not deadlock.