Analysis of Clocks in X10 Programs (Extended)

Download Now Free registration required

Executive Summary

The correct coordination and synchronization of concurrent tasks is one of the major challenges of concurrent programming. Low-level primitives, such as locks or compare-and-swap, can lead to optimum performance but they are hard to use and error-prone. In this paper, the authors consider higher-level concurrency constructs that are supplied in libraries. They have the advantage of providing the user a richer, less error-prone abstraction. The usual disadvantage of general-purpose libraries is their generality: their implementation includes code to handle all possible cases, which slows down the relatively few cases each program uses. The authors present an optimization technique that greatly reduces the performance penalty of a general-purpose concurrency library.

  • Format: PDF
  • Size: 183.7 KB