ACM Home Page
Please provide us with feedback. Feedback
Optimistic concurrency for clusters via speculative locking
Full text PdfPdf (538 KB)
Source ACM International Conference Proceeding Series archive
Proceedings of SYSTOR 2009: The Israeli Experimental Systems Conference table of contents
Haifa, Israel
SESSION: Distributed systems and concurrency table of contents
Article No. 1  
Year of Publication: 2009
ISBN:978-1-60558-623-6
Authors
Michael Factor  Haifa University Campus, Haifa, Israel
Assaf Schuster  Israel Institute of Technology, Haifa, Israel
Konstantin Shagin  Haifa University Campus, Haifa, Israel
Tal Zamir  Israel Institute of Technology, Haifa, Israel
Sponsors
: Melanox Technologies
: Hebrew University of Jerusalem
IBM : IBM
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 41,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1534530.1534532
What is a DOI?

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

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
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
6
 
7
 
8
9
10
11
12
13
 
14
M. Herlihy and Y. Sun. Distributed transactional memory for metric-space networks. Distributed Computing, 20(3):195--208, October 2007.
 
15
 
16
17
 
18
19
 
20
 
21
 
22
23
 
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
 
26

Collaborative Colleagues:
Michael Factor: colleagues
Assaf Schuster: colleagues
Konstantin Shagin: colleagues
Tal Zamir: colleagues