TY - GEN
T1 - Concurrency control with data coloring
AU - Ceze, Luis
AU - Von Praun, Christoph
AU - Caşcaval, Cǎlin
AU - Montesinos, Pablo
AU - Torrellas, Josep
PY - 2008
Y1 - 2008
N2 - Concurrency control is one of the main sources of error and complexity in shared memory parallel programming. While there are several techniques to handle concurrency control such as locks and transactional memory, simplifying concurrency control has proved elusive. In this paper we introduce the Data Coloring programming model, based on the principles of our previous work on architecture support for data-centric synchronization. The main idea is to group data structures into consistency domains and mark places in the control flow where data should be consistent. Based on these annotations, the system dynamically infers transaction boundaries. An important aspect of data coloring is that the occurrence of a synchronization defect is typically determinate and leads to a violation of liveness rather than to a safety violation. Finally, this paper includes empirical data that shows that most of the critical sections in large applications are used in a data-centric manner.
AB - Concurrency control is one of the main sources of error and complexity in shared memory parallel programming. While there are several techniques to handle concurrency control such as locks and transactional memory, simplifying concurrency control has proved elusive. In this paper we introduce the Data Coloring programming model, based on the principles of our previous work on architecture support for data-centric synchronization. The main idea is to group data structures into consistency domains and mark places in the control flow where data should be consistent. Based on these annotations, the system dynamically infers transaction boundaries. An important aspect of data coloring is that the occurrence of a synchronization defect is typically determinate and leads to a violation of liveness rather than to a safety violation. Finally, this paper includes empirical data that shows that most of the critical sections in large applications are used in a data-centric manner.
KW - concurrency control
KW - data coloring
KW - programming model
UR - http://www.scopus.com/inward/record.url?scp=77953969431&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=77953969431&partnerID=8YFLogxK
U2 - 10.1145/1353522.1353525
DO - 10.1145/1353522.1353525
M3 - Conference contribution
AN - SCOPUS:77953969431
SN - 9781605580494
T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
SP - 6
EP - 10
BT - Proc. 2008 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, MSPC 2008, Held with 13th Int. Conf. Architectural Support for Programming Languages and Operating Systems, ASPLOS '08
T2 - 2008 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, MSPC 2008, Held in Conjunction with the 13th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '08
Y2 - 2 March 2008 through 2 March 2008
ER -