TY - GEN
T1 - Colorama
T2 - 2007 IEEE 13th International Symposium on High Performance Computer Architecture, HPCA-13
AU - Ceze, Luis
AU - Montesinos, Pablo
AU - Von Praun, Christoph
AU - Torrellas, Josep
PY - 2007
Y1 - 2007
N2 - 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 non-local 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.
AB - 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 non-local 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.
UR - http://www.scopus.com/inward/record.url?scp=34547678137&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34547678137&partnerID=8YFLogxK
U2 - 10.1109/HPCA.2007.346192
DO - 10.1109/HPCA.2007.346192
M3 - Conference contribution
AN - SCOPUS:34547678137
SN - 1424408059
SN - 9781424408054
T3 - Proceedings - International Symposium on High-Performance Computer Architecture
SP - 133
EP - 144
BT - 2007 IEEE 13th Annual International Symposium on High Performance Computer Architecture, HPCA-13
Y2 - 10 February 2007 through 14 February 2007
ER -