Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1534530.1534532acmotherconferencesArticle/Chapter ViewAbstractPublication PagessystorConference Proceedingsconference-collections
research-article

Optimistic concurrency for clusters via speculative locking

Published: 04 May 2009 Publication History

Abstract

Transactional memory and speculative locking are optimistic concurrency control mechanisms, whose goal is to enable highly concurrent execution while reducing the programming effort. The same basic idea lies in the heart of both methods: optimistically execute a critical code segment, determine whether there have been data conflicts and roll back in case validation fails. Transactional memory is widely considered to have advantages over lock-based synchronization on shared memory multiprocessors. Several recent works suggest employment of transactional memory in a distributed environment. However, being derived from traditional shared-memory design space, these schemes seem to be not "optimistic" enough for this setting. Each thread must validate the current transaction before proceeding to the next. Hence, blocking remote requests whose purpose is to detect/avoid data conflicts are placed on the critical path and thus delay execution.
In this paper, we investigate whether in light of the above shortcomings speculative locking can be a suitable alternative for transactional memory in a distributed environment. We present a novel distributed speculative locking scheme and compare its properties to the existing distributed transactional memory protocols. Despite the conceptual similarity to transactional memory, the distributed implementation of speculative locking manages to overlap communication with computation. It allows a thread to speculatively acquire multiple locks simultaneously, which is analogous to executing one transaction before validating the previous.

References

[1]
R. L. Bocchino, V. S. Adve, and B. L. Chamberlain. Software transactional memory for large scale clusters. In PPoPP '08: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, pages 247--258, New York, NY, USA, 2008. ACM.
[2]
B. Carlstrom, J. Chung, H. Chafi, A. McDonald, C. Minh, L. Hammond, C. Kozyrakis, and K. Olukotun. Transactional Execution of Java Programs. SCOOL' 05.
[3]
M. Factor, A. Schuster, and K. Shagin. JavaSplit: A runtime for execution of monolithic java programs on heterogeneous collections of commodity workstations. In IEEE Fifth Int'l Conference on Cluster Computing, December 2003.
[4]
M. Factor, A. Schuster, and K. Shagin. Handbook of Parallel Computing: Models, Algorithms and Applications. Chapman and Hall, December 2007.
[5]
C. Gniady and B. Falsafi. Speculative sequential consistency with little custom storage. In PACT '02: Proceedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques, pages 179--188, Washington, DC, USA, 2002. IEEE Computer Society.
[6]
C. Gniady, B. Falsafi, and T. N. Vijaykumar. Is SC + ILP = RC? SIGARCH Comput. Archit. News, 27(2):162--171, 1999.
[7]
S. Gopal, T. N. Vijaykumar, J. E. Smith, and G. S. Sohi. Speculative versioning cache. In HPCA, pages 195--205, 1998.
[8]
L. Hammond, B. D. Carlstrom, V. Wong, M. Chen, C. Kozyrakis, and K. Olukotun. Transactional coherence and consistency: Simplifying parallel hardware and software. IEEE Micro, 24(6), Nov-Dec 2004.
[9]
T. Harris and K. Fraser. Language support for lightweight transactions. SIGPLAN Not., 38(11):388--402, 2003.
[10]
T. Harris, S. Marlow, S. P. Jones, and M. Herlihy. Composable memory transactions. Commun. ACM, 51(8):91--100, 2008.
[11]
M. Herlihy, V. Luchangco, and M. Moir. A flexible framework for implementing software transactional memory. SIGPLAN Not., 41(10):253--262, 2006.
[12]
M. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer, III. Software transactional memory for dynamic-sized data structures. In PODC '03: Proceedings of the twenty-second annual symposium on Principles of distributed computing, pages 92--101, New York, NY, USA, 2003. ACM.
[13]
M. Herlihy and J. E. B. Moss. Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News, 21(2):289--300, 1993.
[14]
M. Herlihy and Y. Sun. Distributed transactional memory for metric-space networks. Distributed Computing, 20(3):195--208, October 2007.
[15]
C. Kotselidis, M. Ansari, K. Jarvis, M. Luján, C. Kirkham, and I. Watson. DiSTM: A software transactional memory framework for clusters. In ICPP '08: Proceedings of the 37th IEEE International Conference on Parallel Processing, September 2008.
[16]
V. Krishnan and J. Torrellas. A chip-multiprocessor architecture with speculative multithreading. IEEE Transactions on Computers, 48(9):866--880, 1999.
[17]
K. Manassiev, M. Mihailescu, and C. Amza. Exploiting distributed version concurrency in a transactional memory cluster. In Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming, pages 198--208, 2006.
[18]
M. Martin, C. Blundell, and E. Lewis. Subtleties of transactional memory atomicity semantics. IEEE Comput. Archit. Lett., 5(2):17, 2006.
[19]
J. Martínez and J. Torrellas. Speculative synchronization: applying thread-level speculation to explicitly parallel applications. Proceedings of the 10th international conference on Architectural support for programming languages and operating systems, pages 18--29, 2002.
[20]
R. Rajwar and J. Goodman. Speculative lock elision: Enabling highly concurrent multithreaded execution. Proceedings of the 34th annual ACM/IEEE international symposium on Microarchitecture, December, pages 01--05, 2001.
[21]
P. Rundberg and P. Stenstrom. Speculative lock reordering: optimistic out-of-order execution of critical sections. International Parallel and Distributed Processing Symposium, page 8, 2003.
[22]
R. Samanta, A. Bilas, L. Iftode, and J. P. Singh. Home-based SVM protocols for SMP clusters: Design, simulations, implementation and performance. In Proc. of the 4th International Symposium on High Performance Computer Architecture, 1998.
[23]
N. Shavit and D. Touitou. Software transactional memory. In Symposium on Principles of Distributed Computing, pages 204--213, 1995.
[24]
L. A. Smith and J. M. Bull. A multithreaded Java Grande benchmark suite. In Proc. of the Third Workshop on Java for High Performance Computing, 2001.
[25]
J. M. Stone, H. S. Stone, P. Heidelberger, and J. Turek. Multiple reservations and the oklahoma update. IEEE Parallel Distrib. Technol., 1(4):58--71, 1993.
[26]
W. Zwaenepoel, J. Bennett, J. Carter, and P. Keleher. Munin: distributed shared memory using multi-protocol release consistency. IEEE Computer Society Technical Committee Newsletter on Operating Systems and Application Environments, 5(4), 1992.

Cited By

View all
  • (2021)Concurrency control for real‐time and mobile transactions: Historical view, challenges, and evolution of practicesConcurrency and Computation: Practice and Experience10.1002/cpe.654934:3Online publication date: 5-Aug-2021

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SYSTOR '09: Proceedings of SYSTOR 2009: The Israeli Experimental Systems Conference
May 2009
191 pages
ISBN:9781605586236
DOI:10.1145/1534530
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

  • Hebrew University of Jerusalem
  • Melanox Technologies
  • IBM: IBM

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 May 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. distributed computing
  2. optimistic concurrency control

Qualifiers

  • Research-article

Conference

SYSTOR '09
Sponsor:
  • IBM

Acceptance Rates

Overall Acceptance Rate 108 of 323 submissions, 33%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Concurrency control for real‐time and mobile transactions: Historical view, challenges, and evolution of practicesConcurrency and Computation: Practice and Experience10.1002/cpe.654934:3Online publication date: 5-Aug-2021

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media