TY - GEN
T1 - Transaction chains
T2 - 24th ACM Symposium on Operating Systems Principles, SOSP 2013
AU - Zhang, Yang
AU - Power, Russell
AU - Zhou, Siyuan
AU - Sovran, Yair
AU - Aguilera, Marcos K.
AU - Li, Jinyang
N1 - Copyright:
Copyright 2013 Elsevier B.V., All rights reserved.
PY - 2013
Y1 - 2013
N2 - Currently, users of geo-distributed storage systems face a hard choice between having serializable transactions with high latency, or limited or no transactions with low latency. We show that it is possible to obtain both serializable transactions and low latency, under two conditions. First, transactions are known ahead of time, permitting an a priori static analysis of conflicts. Second, transactions are structured as transaction chains consisting of a sequence of hops, each hop modifying data at one server. To demonstrate this idea, we built Lynx, a geo-distributed storage system that offers transaction chains, secondary indexes, materialized join views, and geo-replication. Lynx uses static analysis to determine if each hop can execute separately while preserving serializability - if so, a client needs wait only for the first hop to complete, which occurs quickly. To evaluate Lynx, we built three applications: an auction service, a Twitter-like microblogging site and a social networking site. These applications successfully use chains to achieve low latency operation and good throughput.
AB - Currently, users of geo-distributed storage systems face a hard choice between having serializable transactions with high latency, or limited or no transactions with low latency. We show that it is possible to obtain both serializable transactions and low latency, under two conditions. First, transactions are known ahead of time, permitting an a priori static analysis of conflicts. Second, transactions are structured as transaction chains consisting of a sequence of hops, each hop modifying data at one server. To demonstrate this idea, we built Lynx, a geo-distributed storage system that offers transaction chains, secondary indexes, materialized join views, and geo-replication. Lynx uses static analysis to determine if each hop can execute separately while preserving serializability - if so, a client needs wait only for the first hop to complete, which occurs quickly. To evaluate Lynx, we built three applications: an auction service, a Twitter-like microblogging site and a social networking site. These applications successfully use chains to achieve low latency operation and good throughput.
UR - http://www.scopus.com/inward/record.url?scp=84889660968&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84889660968&partnerID=8YFLogxK
U2 - 10.1145/2517349.2522729
DO - 10.1145/2517349.2522729
M3 - Conference contribution
AN - SCOPUS:84889660968
SN - 9781450323888
T3 - SOSP 2013 - Proceedings of the 24th ACM Symposium on Operating Systems Principles
SP - 276
EP - 291
BT - SOSP 2013 - Proceedings of the 24th ACM Symposium on Operating Systems Principles
Y2 - 3 November 2013 through 6 November 2013
ER -