TY - JOUR
T1 - Distributed transactional memory for general networks
AU - Sharma, Gokarna
AU - Busch, Costas
N1 - Funding Information:
This research is supported in part by the National Science Foundation Grant No. CCF-1320835. A preliminary version of this paper appears in Proceedings of the 26th International Parallel and Distributed Processing Symposium (IPDPS), pp. 1045–1056, 2012 [].
Publisher Copyright:
© 2014, Springer-Verlag Berlin Heidelberg.
PY - 2014/9/27
Y1 - 2014/9/27
N2 - We consider the problem of implementing transactional memory in large-scale distributed networked systems. We present Spiral, a novel distributed directory-based protocol for transactional memory, and theoretically analyze and experimentally evaluate it for the performance boundaries of this approach from the worst-case perspective. Spiral is designed for the data-flow distributed implementation of software transactional memory which supports three basic operations: publish, allowing a shared object to be inserted in the directory so that other nodes can find it; lookup, providing a read-only copy of the object to the requesting node; move, allowing the requesting node to write the object locally after the node gets it. The protocol runs on a hierarchical directory construction based on sparse covers, where clusters at each level are ordered to avoid race conditions while serving concurrent requests. Given a shared object the protocol maintains a directory path pointing to the object. The basic idea is to use “spiral” paths that grow outward to search for the directory path of the object in a bottom-up fashion. For general networks, this protocol guarantees an (Formula presented.)is the diameter of the network. It also guarantees poly-log approximation for any single lookup request. Our bounds are deterministic and hold in the worst-case. Moreover, this protocol requires only polylogarithmic bits of memory per node. Experimental evaluations in real networks also confirm our theoretical findings. To the best of our knowledge, this is the first deterministic consistency protocol for distributed transactional memory that achieves poly-log approximation in general networks.
AB - We consider the problem of implementing transactional memory in large-scale distributed networked systems. We present Spiral, a novel distributed directory-based protocol for transactional memory, and theoretically analyze and experimentally evaluate it for the performance boundaries of this approach from the worst-case perspective. Spiral is designed for the data-flow distributed implementation of software transactional memory which supports three basic operations: publish, allowing a shared object to be inserted in the directory so that other nodes can find it; lookup, providing a read-only copy of the object to the requesting node; move, allowing the requesting node to write the object locally after the node gets it. The protocol runs on a hierarchical directory construction based on sparse covers, where clusters at each level are ordered to avoid race conditions while serving concurrent requests. Given a shared object the protocol maintains a directory path pointing to the object. The basic idea is to use “spiral” paths that grow outward to search for the directory path of the object in a bottom-up fashion. For general networks, this protocol guarantees an (Formula presented.)is the diameter of the network. It also guarantees poly-log approximation for any single lookup request. Our bounds are deterministic and hold in the worst-case. Moreover, this protocol requires only polylogarithmic bits of memory per node. Experimental evaluations in real networks also confirm our theoretical findings. To the best of our knowledge, this is the first deterministic consistency protocol for distributed transactional memory that achieves poly-log approximation in general networks.
KW - Cache-coherence
KW - Competitive ratio
KW - Distributed transactional memory
KW - General networks
KW - Hierarchical clustering
KW - Sparse covers
UR - http://www.scopus.com/inward/record.url?scp=84919463527&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84919463527&partnerID=8YFLogxK
U2 - 10.1007/s00446-014-0214-7
DO - 10.1007/s00446-014-0214-7
M3 - Article
AN - SCOPUS:84919463527
SN - 0178-2770
VL - 27
SP - 329
EP - 362
JO - Distributed Computing
JF - Distributed Computing
IS - 5
ER -