skip to main content
10.1145/1353522.1353525acmconferencesArticle/Chapter ViewAbstractPublication PagesmspConference Proceedingsconference-collections
research-article

Concurrency control with data coloring

Published: 02 March 2008 Publication History

Abstract

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.

References

[1]
A.-R. Adl-Tabatabai, B. T. Lewis, V. Menon, B. R. Murphy, B. Saha, and T. Shpeisman, "Compiler and runtime support for effficient software transactional memory," in PLDI'06.
[2]
L. Ceze, P. Montesinos, C. von Praun, and J. Torrellas, "Colorama: Architectural support for data-centric synchronization," in HPCA'07.
[3]
C. Flanagan and S. Qadeer, "A type and effect system for atomicity," in PLDI'03.
[4]
L. Hammond, V. Wong, M. Chen, B. D. Carlstrom, J. D. Davis, B. Hertzberg, M. K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun, "Transactional Memory Coherence and Consistency," in ISCA '04.
[5]
M. Herlihy, V. Luchangco, M. Moir, and I. William N. Scherer, "Software transactional memory for dynamic-sized data structures," in PODC'03.
[6]
M. Herlihy and J. E. B. Moss, "Transactional memory: Architectural support for lock-free data structures," in ISCA'93.
[7]
C. Hoare, "Monitors: An operating system structuring concept," CACM, vol. 17(10), 1974.
[8]
B. McCloskey, F. Zhou, D. Gay, and E. Brewer, "Autolocker: Synchronization inference for atomic sections," in POPL '06.
[9]
P. McKenney, "Selecting locking designs for parallel programs," in Pattern Languages of Program Design, 1996.
[10]
J. E. B. Moss and T. Hosking, "Nested transactional memory: Model and preliminary architecture sketches," in SCOOL'05.
[11]
Y. Ni, V. Menon, A.-R. Adl-Tabatabai, and A. L. Hosking, "Open nesting in software transactional memory," in PPoPP'07.
[12]
B. Saha, A.-R. Adl-Tabatabai, R. L. Hudson, C. C. Minh, and B. Hertzberg, "McRT-STM: A high performance software transactional memory system for a multi-core runtime," in PPoPP'06.
[13]
M. Vaziri, F. Tip, and J. Dolby, "Associating synchronization constraints with data in an object-oriented language," in POPL'06.

Cited By

View all
  • (2023)AtomiS: Data-Centric Synchronization Made PracticalProceedings of the ACM on Programming Languages10.1145/36228017:OOPSLA2(116-145)Online publication date: 16-Oct-2023
  • (2021)Automatically enforcing fresh and consistent inputs in intermittent systemsProceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3453483.3454081(851-866)Online publication date: 19-Jun-2021
  • (2018)SOFRITASACM SIGPLAN Notices10.1145/3296957.317319253:2(286-300)Online publication date: 19-Mar-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MSPC '08: Proceedings of the 2008 ACM SIGPLAN workshop on Memory systems performance and correctness: held in conjunction with the Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '08)
March 2008
44 pages
ISBN:9781605580494
DOI:10.1145/1353522
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 March 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrency control
  2. data coloring
  3. programming model

Qualifiers

  • Research-article

Funding Sources

Conference

ASPLOS08
Sponsor:

Acceptance Rates

Overall Acceptance Rate 6 of 20 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)AtomiS: Data-Centric Synchronization Made PracticalProceedings of the ACM on Programming Languages10.1145/36228017:OOPSLA2(116-145)Online publication date: 16-Oct-2023
  • (2021)Automatically enforcing fresh and consistent inputs in intermittent systemsProceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3453483.3454081(851-866)Online publication date: 19-Jun-2021
  • (2018)SOFRITASACM SIGPLAN Notices10.1145/3296957.317319253:2(286-300)Online publication date: 19-Mar-2018
  • (2018)SOFRITASProceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3173162.3173192(286-300)Online publication date: 19-Mar-2018
  • (2017)Synchronized-by-Default Concurrency for Shared-Memory SystemsACM SIGPLAN Notices10.1145/3155284.301874752:8(299-312)Online publication date: 26-Jan-2017
  • (2017)Synchronized-by-Default Concurrency for Shared-Memory SystemsProceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3018743.3018747(299-312)Online publication date: 26-Jan-2017
  • (2012)A data-centric approach to synchronizationACM Transactions on Programming Languages and Systems10.1145/2160910.216091334:1(1-48)Online publication date: 4-May-2012
  • (2010)A type system for data-centric synchronizationProceedings of the 24th European conference on Object-oriented programming10.5555/1883978.1884000(304-328)Online publication date: 21-Jun-2010
  • (2010)A time-aware type system for data-race protection and guaranteed initializationACM SIGPLAN Notices10.1145/1932682.186951145:10(634-651)Online publication date: 17-Oct-2010
  • (2010)A time-aware type system for data-race protection and guaranteed initializationProceedings of the ACM international conference on Object oriented programming systems languages and applications10.1145/1869459.1869511(634-651)Online publication date: 17-Oct-2010
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media