Colorama: Architectural Support for Data-Centric Synchronization

  • Authors:
  • Luis Ceze;Pablo Montesinos;Christoph von Praun;Josep Torrellas

  • Affiliations:
  • University of Illinois, Urbana-Champaign. luisceze@cs.uiuc.edu;University of Illinois, Urbana-Champaign. pmontesi@cs.uiuc.edu;IBM T.J. Watson Research Center, praun@us.ibm.com;University of Illinois, Urbana-Champaign. torrellas@cs.uiuc.edu

  • Venue:
  • HPCA '07 Proceedings of the 2007 IEEE 13th International Symposium on High Performance Computer Architecture
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

With the advent of ubiquitous multi-core architectures, a major challenge is to simplify parallel programming. One way to tame one of the main sources of programming complexity, namely synchronization, is transactional memory (TM). However, we argue that TM does not go far enough, since the programmer still needs nonlocal reasoning to decide where to place transactions in the code. A significant improvement to the art is Data-Centric Synchronization (DCS), where the programmer uses local reasoning to assign synchronization constraints to data. Based on these, the system automatically infers critical sections and inserts synchronization operations. This paper proposes novel architectural support to make DCS feasible, and describes its programming model and interface. The proposal, called Colorama, needs only modest hardware extensions, supports general-purpose, pointer-based languages such as C/C++ and, in our opinion, can substantially simplify the task of writing new parallel programs.