DocumentCode
2283285
Title
Colorama: Architectural Support for Data-Centric Synchronization
Author
Ceze, Luis ; Montesinos, Pablo ; Von Praun, Christoph ; Torrellas, Josep
Author_Institution
Univ. of Illinois at Urbana-Champaign
fYear
2007
fDate
10-14 Feb. 2007
Firstpage
133
Lastpage
144
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
Keywords
constraint handling; parallel architectures; parallel programming; ubiquitous computing; Colorama; architectural support; data-centric synchronization; local reasoning; parallel programming; programming complexity; synchronization constraints; ubiquitous multicore architectures; Data structures; Distributed control; Hardware; Joining processes; Parallel programming; Programming profession; Proposals; Technological innovation; Writing; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
High Performance Computer Architecture, 2007. HPCA 2007. IEEE 13th International Symposium on
Conference_Location
Scottsdale, AZ
Print_ISBN
1-4244-0805-9
Electronic_ISBN
1-4244-0805-9
Type
conf
DOI
10.1109/HPCA.2007.346192
Filename
4147655
Link To Document