scieee Science in your language
[en] (orig)

A fast implementation of Parallel Snapshot Isolation

Abstract

Most distributed database systems offer weak consistency models in order to avoid the performance penalty of coordinating replicas. Ideally, distributed databases would offer strong consistency models, like serialisability, since they make it easy to verify application invariants, and free programmers from worrying about concurrency. However, implementing and scaling systems with strong consistency is difficult, since it usually requires global communication. Weak models, while easier to scale, impose on the programmers the need to reason about possible anomalies, and the need to implement conflict resolution mechanisms in application code. Recently proposed consistency models, like Parallel Snapshot Isolation (PSI) and NonMonotonic Snapshot Isolation (NMSI), represent the strongest models that still allow to build scalable systems without global communication. They allow comparable performance to previous, weaker models, as well as similar abort rates. However, both models still provide weaker guarantees than serialisability, and may prove difficult to use in applications. This work shows an approach to bridge the gap between PSI, NMSI and strong consistency models like serialisability. It introduces and implements fastPSI, a consistency protocol that allows the user to selectively enforce serialisability for certain executions, while retaining the scalability properties of weaker consistency models like PSI and NMSI. In addition, it features a comprehensive evaluation of fastPSI in comparison with other consistency protocols, both weak and strong, showing that fastPSI offers better performance than serialisability, while retaining the scalability of weaker protocols.

Read accessible full text

A fast implementation of Parallel Snapshot Isolation

Author: Arnau de Régil Basáñez, Borja
Year: 2020
Source: https://docta.ucm.es/bitstreams/bf86f97a-6ba3-440a-ba97-18bd669093e1/download
A FAST IMPLEMENTATION OF PARALLEL SNAPSHOT
ISOLATION
UNA IMPLEMENTACIÓN RÁPIDA DE PARALLEL
SNAPSHOT ISOLATION
Bo ja A nau de Régil Basáñez
T abajo de Fin de G ado del G ado en Ingenie ía
In o má ica
Facul ad de In o má ica,
Uni e sidad Complu ense de Mad id
Junio 2020
Di ec o : Ma ia Vic o ia López López
Co-di ec o : Alexey Go sman
Con en s
Acknowledgemen s i
Abs ac
Resumen i
1. In oduc ion 1
1.1. Mo i a ion..................................... 1
1.2. Goals........................................ 2
1.3. Wo kPlan..................................... 3
1.4. Documen S uc u e ............................... 3
1.5. Sou ces and Reposi o ies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6. Rela edP og amCou ses ............................ 4
2. P elimina ies 5
2.1. No a ion...................................... 5
2.1.1. Objec s and Replica ion . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2. T ansac ions................................ 5
2.1.3. His o ies.................................. 6
2.2. Consis encyModels................................ 6
2.2.1. ReadCommi ed(RC).......................... 7
2.2.2. Se ialisabili y (SER) . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.3. Snapsho Isola ion (SI) . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.4. Pa allel Snapsho Isola ion (PSI) . . . . . . . . . . . . . . . . . . . . 10
2.2.5. Non-Mono onic Snapsho Isola ion (NMSI) . . . . . . . . . . . . . . . 11
2.2.6. Anomaly Compa ison . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3. The as PSI p o ocol 12
3.1. Consis encyGua an ees ............................. 12
3.2. O e iew and Sys em Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3. Se e da as uc u es .............................. 14
3.4. P o ocolDesc ip ion ............................... 16
3.4.1. T ansac ion Execu ion . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4.2. T ansac ion Te mina ion . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5. Consis ency T adeo s and Read Abo s . . . . . . . . . . . . . . . . . . . . . 23
ii
4. Implemen a ion and E alua ion 26
4.1. Implemen a ion.................................. 26
4.2. E alua ion..................................... 27
4.2.1. Pe o mance & Scalabili y Limi s . . . . . . . . . . . . . . . . . . . . 28
4.2.2. Abo Ra io................................ 31
5. Rela ed Wo k 35
6. Conclusions and Fu u e Wo k 37
6.1. Conclusions .................................... 37
6.2. Fu u eWo k.................................... 37
A. Se ialisable and Read Commi ed P o ocols 39
A.1.Se ialisabili y ................................... 39
A.2.ReadCommi ed ................................. 44
Bibliog aphy 50
iii
Acknowledgemen s
To my ad iso s Ma ia Vic o ia López López a Uni e sidad Complu ense de Mad id, and
Alexey Go sman and Manuel B a o a he IMDEA So wa e Ins i u e, o hei guidance
and suppo , and o gi ing me he oppo uni y o wo k along hem.
I also hank Ch is ophe Meiklejohn, who allowed me o wo k wi h him, and ga e me
he oppo uni y o disco e he IMDEA So wa e Ins i u e. To my colleagues a IMDEA,
hank you o gi ing me ad ice, and o o e ing a helping hand.
Finally, o my gi l iend Paula, and my amily, o hei lo e, pa ience and suppo .
i
Abs ac
Mos dis ibu ed da abase sys ems o e weak consis ency models in o de o a oid he
pe o mance penal y o coo dina ing eplicas. Ideally, dis ibu ed da abases would o e
s ong consis ency models, like se ialisabili y, since hey make i easy o e i y applica ion
in a ian s, and ee p og amme s om wo ying abou concu ency. Howe e , implemen ing
and scaling sys ems wi h s ong consis ency is di icul , since i usually equi es global
communica ion. Weak models, while easie o scale, impose on he p og amme s he need o
eason abou possible anomalies, and he need o implemen con lic esolu ion mechanisms
in applica ion code.
Recen ly p oposed consis ency models, like Pa allel Snapsho Isola ion (PSI) and Non-
Mono onic Snapsho Isola ion (NMSI), ep esen he s onges models ha s ill allow o
build scalable sys ems wi hou global communica ion. They allow compa able pe o mance
o p e ious, weake models, as well as simila abo a es. Howe e , bo h models s ill p o ide
weake gua an ees han se ialisabili y, and may p o e di icul o use in applica ions.
This wo k shows an app oach o b idge he gap be ween PSI, NMSI and s ong con-
sis ency models like se ialisabili y. I in oduces and implemen s as PSI, a consis ency
p o ocol ha allows he use o selec i ely en o ce se ialisabili y o ce ain execu ions,
while e aining he scalabili y p ope ies o weake consis ency models like PSI and NMSI.
In addi ion, i ea u es a comp ehensi e e alua ion o as PSI in compa ison wi h o he con-
sis ency p o ocols, bo h weak and s ong, showing ha as PSI o e s be e pe o mance
han se ialisabili y, while e aining he scalabili y o weake p o ocols.
Keywo ds
Consis ency models, T ansac ions, Pa allel Snapsho Isola ion, Non-Mono onic Snapsho
Isola ion, Concu ency con ol.

Resumen
La mayo ía de las bases de da os dis ibuidas o ecen modelos de consis encia débil,
con la inalidad de e i a la penalización de endimien o que supone la coo dinación de las
dis in as éplicas. Idealmen e, las bases de da os dis ibuidas o ece ían modelos de con-
sis encia ue e, como se ialisabili y, ya que acili an la e i icación de los in a ian es de
las aplicaciones, y pe mi en que los p og amado es no deban p eocupa se sob e posibles
p oblemas de concu encia. Sin emba go, implemen a sis emas escalables que con modelos
de consis encia ue e no es ácil, pues equie en el uso de comunicación global. Sin em-
ba go, aunque los modelos de consis encia más débiles pe mi en sis emas más escalables,
imponen en los p og amado es la necesidad de azona sob e posibles anomalías, así como
implemen a mecanismos de esolución de con lic os en el código de las aplicaciones.
Dos modelos de consis encia p opues os ecien emen e, Pa allel Snapsho Isola ion (PSI)
y Non-Mono onic Snapsho Isola ion (NMSI), ep esen an los modelos más ue es que pe -
mi en implemen aciones escalables sin necesidad de comunicación global. Pe mi en, a su
ez, implemen a sis emas con endimien os simila es a aquellos con modelos más débiles,
a la ez que man ienen asas de cancelación de ansacciones simila es. Aun así, ambos
modelos no log an o ece las mismas ga an ías que se ialisabili y, po lo que pueden se
di íciles de usa desde el pun o de is a de las aplicaciones.
Es e abajo p esen a una p opues a que busca aco a la dis ancia en e modelos como
PSI y NMSI y modelos ue es como se ialisabili y. Con esa inalidad, es e abajo p esen a
as PSI, un p o ocolo de consis encia que pe mi e al usua io ejecu a de mane a selec i a
ansacciones se ializables, e eniendo a su ez las p opiedades de escalabilidad p opias
de modelos de consis encia débiles como PSI o NMSI. Además, es e abajo cuen a con
una e aluación exhaus i a de as PSI, compa ándolo con o os p o ocolos de consis encia,
an o ue es como débiles. Se mues a así que as PSI log a un endimien o mayo que
se ialisabili y sin po ello enuncia a la escalabilidad de p o ocolos más débiles.
Palab as cla e
Modelos de Consis encia, T ansacciones, Pa allel Snapsho Isola ion, Non-Mono onic
Snapsho Isola ion, Con ol de Concu encia.
i
Chap e 1
In oduc ion
1.1. Mo i a ion
Mode n cloud applica ions a e cha ac e ised by being globally a ailable, and use s expec
o use he se ices p o ided by hese applica ions wi h low la ency, and in a eliable manne .
To sa is y hese equi emen s, p og amme s usually eso o dis ibu ed da abases and
s o age, ha allow o pa i ion applica ion da a and place i geog aphically close o he
use s ha need i . Fo example, a social media si e would place da a ela ed o Eu opean
use s on da a cen e s loca ed in he same egion, and he same o use s in he Uni ed
S a es. Unde his design, howe e , hose use s eques ing da a om ano he egion would
su e om high la ency, as eques s a el ac oss di e en geog aphical egions. To his
end, hese da a pa i ions a e also eplica ed ac oss di e en geog aphical egions, o ensu e
bo h low la ency o all kinds o use eques s, and aul ole ance, which allows applica ions
o ensu e a smoo h ope a ion e en i an en i e egion goes o line.
These app oaches, howe e , add signi ican complexi y o he design and implemen a ion
o applica ions and he unde lying da abases. The p esence o mul iple eplicas aises he
ques ion o how o keep hem consis en , ha is, e lec ing an uni ied e sion o he da a
hey con ain. T adi ional mechanisms o deal wi h da abase consis ency p o e ha de o im-
plemen in e icien ways in dis ibu ed da abases. Fo example, ansac ions should sa is y
a se o desi able p ope ies, commonly known as ACID: A omici y, Consis ency, Isola ion,
and Du abili y. These p ope ies allow p og amme s o eason abou concu ency as a se
o isola ed, a omic ope a ions, bu in geo-dis ibu ed scena ios i equi es he coo dina ion
o mul iple eplicas in o de o apply hei upda es.
The usual app oach o b idge hese p oblems in ol es elaxing he consis ency gua an ees
ha da abases o e p og amme s [40]. Indeed, he CAP Theo em [16,23] p o es i is
impossible o build applica ions ha con inue ope a ing in he p esence o ne wo k pa i ions
wi hou sac i icing consis ency gua an ees. Howe e , he deg ee o which hese gua an ees
can be elaxed o e s a ade-o : on he one hand, weak consis ency allows o build scalable
applica ions wi hou loss o a ailabili y, bu p o es di icul o eason abou gi en ha i
allows non-se ialisable beha iou s called anomalies, and o ces p og amme s o deal wi h
1
inconsis en da a a he applica ion le el; on he o he hand, s eng hening consis ency
gua an ees can educe pe o mance and hu applica ion a ailabili y, while being much easie
o eason abou .
Un il ecen ly, sys ems ha o e ed weak consis ency gua an ees did no p o ide ans-
ac ions (e.g. Dynamo [20]). In he ecen yea s, howe e , a la ge numbe o ansac ional
consis ency models ha e been p oposed o la ge-scale da abases [6,10,32,39]. Gi en he
p oli e a ion o di e en consis ency models, i can be ha d o choose which one is app op i-
a e o a pa icula applica ion, as i equi es he p og amme o hink abou he possible
anomalies ha can a ise du ing an execu ion and abou how hey can in e e e wi h applica-
ion logic. Ideally, one would wan o un all applica ions unde s ong consis ency models,
like se ialisabili y [15], as p og amme s only need o check ha applica ion in a ian s hold as
i ansac ions execu ed one a e he o he , wi hou wo ying abou concu ency. Un o u-
na ely, gua an eeing a se ialisable execu ion in dis ibu ed da abases is no possible wi hou
equi ing global communica ion, which inc eases la ency and limi s a ailabili y [23].
This lea es he p og amme s wi h he esponsibili y o choosing an adequa e consis ency
model o hei applica ions. Howe e , p og amme s o en lack echniques o ensu e ha
a gi en consis ency model is sa e o use o a pa icula applica ion. One way o add ess
his p oblem is o ely on he no ion o applica ion obus ness [14,22]: an applica ion
is obus agains a pa icula consis ency model i i beha es in he same way whe he
using a da abase p o iding his model o se ialisabili y. When an applica ion is obus ,
he p og amme can ake ad an age o he scalabili y p ope ies o a weak consis ency
model wi hou paying he p ice o anomalous beha iou s. P e ious wo k has ocused on
s a ic analysis o applica ions [29,34], which le p og amme s know which pa s o hei
applica ions a e suscep ible o anomalies. In hese cases, p og amme s can selec i ely un
ansac ions unde se ialisabili y: Feke e e al. [21,22] p opose se e al echniques ha allow
ansac ions execu ing unde snapsho isola ion (SI) [13] o exhibi se ialisable beha iou s,
e ec i ely making hem equi alen o ansac ions unning unde se ialisabili y.
Mos ecen ly, Be na di and Go sman [14] p oposed a way o check he obus ness o
pa allel snapsho isola ion (PSI)1[39], which elaxes he consis ency gua an ees o snapsho
isola ion o allow mo e e icien implemen a ions o dis ibu ed da abases. PSI is also he
s onges model ha is weake han SI [17], hus i is an ob ious candida e o in es iga e
i s impac on he co ec ness o applica ions. Al hough he e a e se e al implemen a ions
ha gua an ee PSI [6,33,39], none o hem we e implemen ed wi h he ocus on explo ing
he ela ion be ween PSI and applica ion obus ness.
1.2. Goals
The goal o his wo k is o help p og amme s b idge he gap be ween weak and s ong
consis ency p o ocols, wi hou sac i icing applica ion co ec ness. To ha end, as PSI is
p oposed, an implemen a ion o Pa allel Snapsho Isola ion ha allows o selec i ely en-
o ce se ialisabili y o ansac ions h ough ca e ul g ouping o da abase objec s in o en i y
1Also known as non-mono onic snapsho isola ion [6]. This is discussed in §2.2.5.
2
g oups [11]: ansac ions accessing objec s in he same g oup execu e as i hey we e un-
ning unde a sys em gua an eeing SI (ins ead o he weake PSI). Following he echniques
p oposed by Feke e e al. [22], hese ansac ions can be u he cons ained so ha hey
execu e as i unning unde se ialisabili y.
As such, he con ibu ions o his wo k a e:
A hyb id consis ency p o ocol ha allows mixing Snapsho Isola ion wi h Pa allel
Snapsho Isola ion, by elying on en i y g oups. This p o ocol allows p og amme s o
combine he scalabili y o Pa allel Snapsho Isola ion wi h he amilia i y and in u-
i i eness o well-known consis ency models like Snapsho Isola ion and se ialisabili y.
A comp ehensi e e alua ion o he p oposed p o ocol, and a compa ison agains al e -
na i e implemen a ions o bo h weak and s ong consis ency models.
An exposi ion o he d awbacks and ade-o s o he p o ocol, and a discussion o how
hei impac can be minimised.
1.3. Wo k Plan
The wo k ca ied ou o his p ojec was di ided in he ollowing phases:
Explo e p e ious con ibu ions. I ’s necessa y o ge amilia ised wi h exis ing e mi-
nology, as well as p e ious wo k and implemen a ions.
Delimi p ojec scope. A e ha ing he necessa y knowledge o ca y ou he wo k,
he limi s and speci ic con ibu ions o he wo k a e es ablished. In addi ion, he
hypo heses ha he inal implemen a ion should alida e a e p oposed.
Implemen a ion phase. A e se ing clea objec i es and miles ones, he bulk o he
implemen a ion is done. Th oughou his phase, es ing and alida ion o he so wa e
is done, bo h wi h uni es s and wi h model checking echniques.
Benchma k and alida ion. Wi h he implemen a ion comple e, ep esen a i e bench-
ma ks a e designed, as well as scena ios o alida e he pe o mance o he imple-
men a ion. The esul s a e used alida e p e ious hypo heses, and also amed in he
con ex o he exis ing li e a u e.
1.4. Documen S uc u e
The es o his documen is s uc u ed as ollows. Chap e 2p o ides an o e iew o
p e ious wo k and he s a e o he a wi h ega ds o ele an consis ency models, as well
as basic no ions ha will be used h oughou his documen . Chap e 3in oduces as PSI,
3
2.2.4. Pa allel Snapsho Isola ion (PSI)
Pa allel Snapsho Isola ion (PSI), p oposed by So an e al. [39], is a consis ency model
aimed a sol ing he scalabili y limi s o classical Snapsho Isola ion in geo- eplica ed sys-
ems. While concu en con lic ing ansac ions a e no allowed, PSI allows non-con lic ing
ansac ions o exhibi a ela i e commi o de ha a ies be ween eplicas. This means ha
PSI can p opaga e ansac ions o eplicas in causal o de , sides epping ano he scalabili y
limi o SI.
Howe e , allowing di e en commi o de s o non-con lic ing ansac ions a di e en
eplicas (o si es) makes PSI suscep ible o he Long Fo k anomaly [39]. Conside he
his o y depic ed in Figu e 2.3. I ansac ions T4and T5execu e in di e en eplicas, hey
a e allowed o obse e di e en commi o de s o T2and T3.
4(y1)
2(x1).w2(x2).c2
3(y1).w3(y3).c3
5(y3).c5
4(x2).c4
5(x1)
T2
T3
T4
T5
w1(x1).w1(y1).c1
T1
Figu e 2.3:Example o a his o y showing he Long Fo k anomaly. T ansac ion T4obse es
T1T2T3while T5obse es T1T3T2.
De ini ion 2.6 (Long Fo k).ALong Fo k occu s whene e ansac ions a e able o obse e
di e en commi o de s o p e ious non-con lic ing upda e ansac ions.
Like SI, PSI exhibi s base eshness [8]: a ansac ion Tis limi ed o ead only e sions
o objec s w i en by ansac ions ha commi ed be o e Ts a ed. In he geo- eplica ed
scena ios ha PSI is mean o add ess, his limi a ion leads o a high numbe o s ale da a
eads. Conside he example o wo si es s1and s2sepa a ed by a high la ency link: i a
ansac ion s a s in s1and subsequen ly ies o ead an objec loca ed a s2, i migh be he
case ha he e sion i is o ced o ead due o base eshness has al eady been o e w i en
by o he ansac ions. Saeida A dekani e al. [38; Theo em 4] p o e ha base eshness
equi es eplicas ha do no eplica e da a accessed by a ansac ion T o coo dina e in
o de o commi T, which esul s in lowe sys em pe o mance and limi s scalabili y. Indeed,
he o iginal implemen a ion ad anced by So an e al. communica es wi h all he eplicas
in he sys em [39].
10

2.2.5. Non-Mono onic Snapsho Isola ion (NMSI)
The Non-Mono onic Snapsho Isola ion (NMSI) consis ency model also alle ia es he
o al commi o de scalabili y p oblem in classical Snapsho Isola ion. NMSI was p oposed
by Saeida A dekani e al. [6] as an imp o emen o e he p e iously desc ibed Pa allel
Snapsho Isola ion model, by exhibi ing o wa d eshness: a ansac ion Tis allowed o
ead e sions w i en by ansac ions ha commi ed a e Ts a ed, as long as hose
eads o m a causally consis en snapsho . A ansac ion Tobse es a causally consis en
snapsho i all he e sions ead by Ta e w i en by i s di ec causal dependencies, i.e. i a
ansac ion Tipe o ms i(xj)such ha i depends on Tj, hen he e’s no such wk(xk)such
ha Tj/Tk/Ti.
In spi e o his, he se o possible anomalies p oduced by bo h Pa allel Snapsho Isola ion
and Non-Mono onic Snapsho Isola ion a e he same, as can be seen in Figu e 2.4. In
addi ion, bo h models can be p o ed o be equi alen , as shown by A. Ce one (2016, pe sonal
communica ion wi h he au ho ), wi h he only di e ence being he choice o he concu ency
con ol algo i hm.
2.2.6. Anomaly Compa ison
Figu e 2.4 summa ises he consis ency models e iewed, oge he wi h he anomalies
ha hey allow.
Anomalies Consis ency Models
SER SI PSI NMSI RC
Di y W i e x x x x x
Di y Read x x x x x
Non-Repea able Read x x x x X
Los Upda e x x x x X
W i e Skew x X X X X
Long Fo k x x X X X
Figu e 2.4:Anomaly Compa ison o Consis ency Models (x:disallowed, X:allowed).
Adap ed om Saeida A dekani e al. [6].
11
Chap e 3
The as PSI p o ocol
This chap e desc ibes as PSI, a ansac ional p o ocol ha implemen s Pa allel Snap-
sho Isola ion and allows s onge consis ency gua an ees o ansac ions accessing objec s
inside en i y g oups. The chap e begins wi h an o e iew o wha en i y g oups a e, and
by explaining he consis ency gua an ees o as PSI o ansac ions execu ing bo h wi hin
and ac oss di e en g oups. I ollows wi h a summa y o how he di e en pa icipan s o
he p o ocol in e ac wi h each o he , and wi h a desc ip ion o he di e en da a s uc-
u es in ol ed. Nex , i shows how he p o ocol is s uc u ed by going o e he execu ion
o a ansac ion. The chap e concludes wi h a discussion o he possible d awbacks o he
design.
3.1. Consis ency Gua an ees
The as PSI p o ocol conside s a sys em in which objec s a e agg ega ed in en i y
g oups [11]. An en i y g oup σis de ined as a p ope pa i ion o objec s Obj. This means
ha wo p ope ies hold: (i) ∀σ, σ0=⇒σ∩σ0=∅, and (ii) ∀x∈Obj.∃σ. x ∈σ. The i s
p ope y says ha he se s o objec s co e ed by di e en en i y g oups a e disjoin , while
he second p ope y s a es ha any objec ha exis s in he sys em is pa o an en i y
g oup.
The goal o as PSI is as ollows: ansac ions ha only access objec s inside a single
en i y g oup should sa is y Snapsho Isola ion (SI), while ansac ions ha access objec s
ac oss en i y g oups should sa is y Pa allel Snapsho Isola ion (PSI). In ui i ely, i one has
a single en i y g oup ha encompasses e e y objec , any execu ion o as PSI is equi alen
o an execu ion unde Snapsho Isola ion, he eby p ecluding he Long Fo k anomaly. Con-
e sely, i one has an en i y g oup pe objec in he sys em, hen any execu ion o as PSI is
equi alen o an execu ion unde Pa allel Snapsho Isola ion. The decision o which objec s
o place in o di e en en i y g oups is le o he p og amme , who should ake applica ion
equi emen s in o accoun .
Recall om Sec ion 2.2.3 ha ansac ions execu ing unde SI a e only pa ially o de ed,
in con as wi h se ialisabili y, whe e hey a e o ally o de ed. Howe e , he equi emen o
12
ansac ions o ake mono onic s a and commi imes amps induces a o al commi o de
o ansac ions, e en o hose ha a e no in con lic wi h each o he . In he p esence o
di e en en i y g oups, his equi emen would equi e ansac ions o communica e wi h
e e y g oup in o de o de e mine a mono onic imes amp. In as PSI, his equi emen is
elaxed so ha ansac ions ha e mul iple, independen imes amps, one pe en i y g oup.
In o de o gua an ee Pa allel Snapsho Isola ion ac oss en i y g oups, he p o ocol
inco po a es he no ion o o wa d eshness [6], which allows a ansac ion T o ead e sions
o objec s w i en by ansac ions ha commi ed a e Ts a s. The as PSI p o ocol
accomplishes his by making a ansac ion T ix i s s a imes amp a a pa icula en i y
g oup only when T eads an objec om ha g oup. This also allows a ansac ion o
acqui e s a imes amps only a he g oups i eads om, hus a oiding coo dina ion wi h
o he g oups.
The as PSI p o ocol le e ages bo h app oaches o o e i s consis ency gua an ees: a
ansac ion is able o ead om e sions w i en by la e ansac ions as long as hose
eads o m a causally consis en snapsho . When a ansac ion Tpe o ms i s i s ead
ope a ion in an en i y g oup, i ixes a snapsho ha includes all he ansac ions ha
commi ed be o e T’s ead occu ed. As Tpe o ms u he ead ope a ions on o he en i y
g oups, he snapsho s ha T ixes a e es ic ed o e sions w i en by ansac ions ha
a e no causally dependen on he ansac ions ha Tal eady included in i s p e ious
snapsho s.
3.2. O e iew and Sys em Model
The p o ocol consis s o h ee componen s: clien p ocesses ha p o ide he sys em
in e ace o managing ansac ions, se e p ocesses ha handle he indi idual ope a ions o
ansac ions, and en i y g oups—managed by a se e —which s o e indi idual da a objec s.
Gi en ha en i y g oups p ope ly di ide he ange o objec s in o disjoin pa i ions, o he
emainde o his chap e he e m pa i ion is used as a sho hand o en i y g oup.
Bo h clien and se e p ocesses a e conside ed eliable and connec ed by eliable chan-
nels1. P ocesses communica e wi h each o he using an asynch onous message-passing sys-
em. Se e p ocesses a e deno ed as a se S={s1, . . . , sN}, and clien s as C={c1, . . . , cM}.
Da a objec s a e deno ed by a se Obj, spli in o Npa i ions, each s o ed by a se e p o-
cess. In addi ion, pa i ion(x) ep esen s he index o he pa i ion he objec xbelongs
o, such ha i is managed by se e spa i ion(x). Fo simplici y, i is assumed ha se e
p ocesses only manage a single pa i ion.
Clien s p o ide he ansac ional in e ace o he p o ocol h ough he s a , ead,
w i e and commi ope a ions. T ansac ions a e in e ac i e, i.e., when a ansac ion s a s,
he clien does no know which ope a ions i will pe o m in ad ance. In as PSI, he s a
and w i e ope a ions a e local o he clien . Clien s issue ead ope a ions o se e s, which
e u n he alues and me ada a associa ed wi h he objec s he clien eques ed. Clien s
1Faul - ole ance conce ns a e o hogonal o he p oblem add essed, al hough se e al app oaches a e
discussed in Chap e 5.
13
handle w i e ope a ions locally by s o ing he upda es in a bu e , called he w i e-se o a
ansac ion. A commi ime, he clien ac s a coo dina o o a wo-phase commi p o ocol
(2PC) [15], issuing p epa e and decide ope a ions o all he pa icipa ing se e s. The
w i en alues bu e ed locally a e ansmi ed o he se e s a p epa e ime, oge he
wi h he accumula ed me ada a o he objec s ha he clien ead. The decision o commi
o abo a ansac ion is aken based on his me ada a.
Se e s handle h ee ope a ions issued by clien s: ead,p epa e and decide. When a
se e handles ead ope a ions, i o wa ds he eques o he pa i ion esponsible o he
objec being eques ed. When ecei ing a p epa e eques o a ce ain ansac ion, he
se e checks o con lic s wi h o he ansac ions wai ing o be decided, which a e s o ed
in a commi queue. I he ansac ion con ained in he clien eques does no con lic , i
is added o he queue, and he se e eplies o he clien wi h a commi o e. I , on he
o he hand, he ansac ion is ound o be con lic ing, an abo o e is sen ins ead.
Pa i ions a e esponsible o ul illing ead eques s on behal o se e s, and o main-
aining causally consis en snapsho s on behal o he clien s. Pa i ions s o e mul iple e -
sions o an objec in acco dance wi h a mul i- e sion concu ency con ol p o ocol. When
execu ing a ead eques o an objec x, a pa i ion inds and e u ns he mos ecen
causally consis en e sion o x, along wi h some me ada a o he chosen e sion.
Each pa i ion s o es mul iple e sions o an objec ep esen ed by a uple h al, idi,
whe e al is he alue o a gi en e sion, and id is a logical iden i ie o he ansac ion
ha commi ed his e sion. This logical iden i ie is ep esen ed using e sion ec o s [35].
Such a ec o consis s o Nen ies, one o each pa i ion, s o ing a non-nega i e in ege .
Each en y id[i]in he ec o can also be ep esen ed by a pai (si, k), whe e kis he ac ual
alue o he i- h en y o he ec o . These pai s a e also called do s [12]. Ve sion ec o s
a e compa ed acco ding o he ollowing ela ion, showing when one ec o co e s mo e do s
han ano he : V1 V2⇐⇒ ∀i. V1[i]≤V2[i]. In addi ion, he e exis s a join ope a ion
on ec o s, aking hei en y-wise maximum, which will be deno ed by max om now on.
The se o all e sion ec o s is deno ed by Ve Vec o , and he ec o wi h all en ies se o
0by ~
0.
3.3. Se e da a s uc u es
Each se e simain ains i e main da a s uc u es, summa ised in Figu e 3.1. This
sec ion now ollows wi h a mo e de ailed explana ion o each o hem.
Las P ep is a coun e o he numbe o upda e ansac ions ha ini ia ed hei commi
phase a a gi en se e . When a ansac ion commi s a a se e si, i ge s assigned he alue
o he coun e as a sequence numbe k, which induces he commi o de o ansac ions a si.
A ansac ion compu es i s commi ec o Vc om hese sequence numbe s, such ha he
ec o ep esen s he se o do s {(si, k)|k≤Vc[i]}which iden i y he w i es by p e ious
ansac ions whose sequence numbe a siis no highe han Vc[i].
Ve sionLog is a mapping o objec s o a lis o e sions, called he da abase. As no ed
be o e, each e sion is a uple h al,Vcommisuch ha al is a alue and Vcomm is he
14
Da a S uc u es a a se e si
Las P ep In ege The numbe o upda e ansac ions ha ied o
commi a he se e .
Ve sionLog Map[Objec ,
Se [hValue al,Ve Vec o Vcommi]]
Da abase: a mapping om objec s o lis s o pai s
o a alue and he commi ec o o he ansac-
ion ha w o e i . The lis s a e o de ed by he
i- h componen o he commi ec o s.
Commi Log Sequence[hTx T, Ve Vec o Vagg i]Log o upda e ansac ions Tcommi ed a he
se e , o de ed by Vagg [i]. He e Vagg is he
agg ega e ec o o T: he join o he commi
ec o s o all ansac ions up o Tin Commi Log.
V o al Ve Vec o The join o he commi ec o s o all ansac ions
in Commi Log.
Commi Queue Sequence[hTx,pending,W i eSe i ∪
hTx,decided,W i eSe ,Ve Vec o i]
Queue con aining in o ma ion abou upda e
ansac ions ying o commi a he se e .
Figu e 3.1:Da a s uc u es used by se e s in he p o ocol. The o de s o en ies in
Commi Log,Ve sionLog and Commi Queue a e consis en wi h he commi o de o he as-
socia ed ansac ions. Componen s o a ious uples a e selec ed using he names gi en in
he igu e.
commi ec o o he ansac ion ha w o e al. The Ve sionLog a siis o de ed by he
i- h componen o he commi ec o o each e sion, which ollows he commi o de o
ansac ions a he se e . The mos ecen en y in he lis o he objec xis deno ed by
Ve sionLog[x].las .
Commi Log is an o de ed lis ha main ains a uple hT, Vagg i o each upda e ans-
ac ion ha commi ed a a se e , such ha Tis he iden i ie o a commi ed ansac ion
and Vagg is an agg ega e ec o . The agg ega e ec o ep esen s he join o he commi
ec o s o all he ansac ions up o Tin Commi Log. En ies in he log a sia e o ally
o de ed acco ding o he i- h en y o hei agg ega e ec o s, Vagg [i], which also ollows he
commi o de o ansac ions a he se e . These agg ega e ec o s a e s o ed o e iciency,
and a e used o compu e he snapsho o a ansac ion a he se e . The agg ega e ec o
o he las commi ed ansac ion is s o ed in V o al. Ini ially, he Commi Log con ains a
single placeholde en y h_,~
0i.
Finally, Commi Queue is an o de ed queue o ansac ions ying o commi upda es a
he se e . The queue has en ies o wo ypes. An en y hT,pending,WSimeans ha Tis
success ully p epa ed o commi a si, bu he inal decision on i is no ye known; WS is he
w i e-se o he ansac ion, con aining objec - alue pai s. An en y hT,decided,WS, V i
in he queue means ha Thas been decided o commi wi h a commi ec o V, bu i s
w i es ha e no ye been added o Ve sionLog. The o de o ansac ions in Commi Queue
ollows he commi o de a he se e .
15

3.4. P o ocol Desc ip ion
The p o ocol is now desc ibed in de ail by ollowing he execu ion o a ansac ion. This
sec ion begins by desc ibing how a ansac ion is ini ialised, along wi h he mechanism o
build a causally consis en snapsho . La e , i shows he mechanism o alida e and commi
a ansac ion.
3.4.1. T ansac ion Execu ion
The as PSI p o ocol uses op imis ic concu ency con ol, ha is, he execu ion o a
ansac ion is specula i e. Clien s ead objec s om se e s and bu e w i es locally. A he
end o he execu ion, he decision whe he o commi o abo a ansac ion is aken based
on he exis ence o con lic s wi h concu en ly execu ing ansac ions. Clien s execu ing a
ansac ion main ain a ansac ion con ex including se e al pieces o da a, summa ised in
Figu e 3.2 and explained below.
In he ollowing, he s eps aken by bo h clien s and se e s o execu e T e e o he
algo i hms in Figu es 3.3 and 3.4.
Con ex o a ansac ion Ta a clien ci
T.WS W i eSe W i e-se o T.
T.HasRead Vec o [Bool]Mapping showing whe he Thas ead a gi en pa i ion.
T.Vsnap Ve Vec o Snapsho ec o : de e mines snapsho s ixed a pa i ions T
has ead om and possible causal dependencies a all o he
pa i ions.
T.Vdep Ve Vec o Dependency ec o , ep esen ing all causal dependencies de-
eloped by Tdu ing i s execu ion.
Figu e 3.2:Da a s uc u es used in he ansac ion con ex , kep by he clien s in he
p o ocol. In he able, W i eSe =Se [hObjec ,Valuei]
When a clien s a s a ansac ion T, i i s ini ialises i s con ex (line 1). When a
ansac ion Tw i es a alue o an objec x(line 3), he clien bu e s his w i e in T’s
w i e-se ,T.WS, while disca ding any p e iously w i en alue o x.
1 unc ion s a ()
2 e u n new Tx(WS =∅,HasRead =~
⊥,Vsnap =~
0,Vdep =~
0);
3 unc ion w i e(T, x, )
4T.WS ←(T.WS {hx, _i})∪ {hx, i};
Figu e 3.3:Ini ialisa ion o a ansac ion and upda e o an objec xa clien ci.
When he ansac ion Tissues a ead ope a ion on an objec x(line 5), he clien i s
checks T.WS (line 6): i Thas al eady w i en o x, he alue s o ed in he w i e-se is
16
e u ned. O he wise, and assuming ha j=pa i ion(x), he clien sends a READREQUEST
message o he se e sj o e ch he alue o he objec (line 9).
When he ansac ion T eads an objec om a pa i ion j o he i s ime, he se e
sj ixes a snapsho o e sions om which i will se e all u u e eads by T. This snapsho
is de ined by an in ege k: i will include he e sions w i en by all he ansac ions ha
commi ed a he se e wi h a sequence numbe up o k. The clien keeps his in o ma ion
in he ansac ion con ex , by s o ing kin he j- h en y o a snapsho ec o T.Vsnap, and
by ma king he cu en pa i ion as ead in T.HasRead, a boolean mapping i s j- h en y
o >i T ead an objec om sj, and ⊥o he wise. I T.HasRead[j] = >, hen he ec o
T.Vsnap is equal o he join o he commi ec o s o all ansac ions commi ed a sjwi h
a sequence numbe no highe han Vsnap[j].
5 unc ion ead(T, x)
6i hx, i ∈ T.WS hen
7 e u n ;
8j←pa i ion(x);
9send READREQUEST(x, T.Vsnap, T.HasRead) o sj;
10 wai ecei e READRETURN(m) om sj;
11 i m=abo hen
12 h ow abo ;
13 else i m=h , Vdep,Vagg i hen
14 T.HasRead[j]← >;
15 T.Vdep ←max(T.Vdep,Vdep);
16 T.Vsnap ←max(T.Vsnap,Vagg );
17 e u n ;
18 when ecei ed READREQUEST(x, Vsnap,HasRead) om cj
19 i HasRead[i] hen
20 V←Vsnap;
21 else
22 wai un il V o al[i]≥Vsnap[i];
23 ←max{ ∈Commi Log | ∀j. HasRead[j] =⇒( .Vagg [j]≤Vsnap[j])};
24 i .Vagg [i]<Vsnap[i] hen
25 send READRETURN(abo ) o cj;
26 e u n;
27 V← .Vagg ;
28 e = max{ e ∈Ve sionLog | e .Vcomm[i]≤V[i]};
29 send READRETURN( e . al, e .Vcomm, V ) o cj;
Figu e 3.4:Local and emo e ead o objec x.
Thus, he en ies in he snapsho ec o o pa i ions ha Thas no ye ead om
17
T1
T2
ij k
(a)
T3
T4
T1
T2
ij k
(b)
T3
T4
Figu e 3.5:Illus a ions o he snapsho compu a ion. Ve ical lines depic he commi
o de a he co esponding pa i ions ( op o bo om) and ho izon al lines he cu -o s o
a ious snapsho s. A ows be ween pa i ions depic causal dependencies.
delimi all he possible causal dependencies Tmay de elop a hese pa i ions.
Bo h T.Vsnap and T.HasRead a e supplied by he clien when issuing a ead ope a ion
on objec x, by using hem as pa ame e s o he READREQUEST message sen o a se e si.
When he se e ecei es his message (line 18), i i s checks, using he HasRead mapping,
i he ansac ion has ead om i be o e (line 19). In his case, he snapsho is de e mined
by Vsnap[i], and he se e e u ns he la es e sion e o he objec xw i en by a
ansac ion in he snapsho , i.e., wi h a sequence numbe no highe han Vsnap[i](line 28).
This e sion is de e mined by examining he i- h en y o he commi ec o s in Ve sionLog.
The se e hen eplies o he clien wi h a READRETURN message con aining he alue o he
chosen e sion and i s associa ed e sion ec o , as well as he unmodi ied snapsho ec o
p o ided by he clien : since he se e used a p e iously ixed snapsho , no upda es o he
ec o a e equi ed.
In he case when he clien eads om he se e si o he i s ime (line 21), i is
necessa y o ix he snapsho o he ansac ion Ta his se e . Choosing a sui able
snapsho is complica ed by he ac ha ansac ions a e allowed o be in e ac i e— ha is,
i is no know in ad ance which objec s a ansac ion will ead in he u u e. The snapsho
is hence ixed in such a way ha any la e ead om his snapsho will be causally consis en
wi h any o he ead om he snapsho s ha Thas al eady ixed, as speci ied by HasRead
and Vsnap. To ensu e his, he selec ed snapsho has o sa is y wo equi emen s, depic ed
in Figu e 3.5.
On he one hand, he snapsho canno be oo esh. Fo example, suppose a ansac ion
T1 ha w o e o pa i ion jis excluded om he snapsho chosen by Ta j. Then, he
snapsho chosen by Ta pa i ion icanno con ain T1, no any o he ansac ion ha
causally depends on i , like T2(Figu e 3.5a). I he snapsho chosen by Tincluded T2,
i would be able o ead some o T2’s w i es a i, he eby o cing T o ead he w i es by
T2’s causal dependencies, including T1; bu Tcanno see hese w i es, because i excluded
18
hem om he snapsho a pa i ion j. Thus, when building he snapsho , he se e needs
o ake in o accoun he snapsho s aken by Ta he pa i ions i al eady ead; he se e
selec s he longes p e ix o Commi Log ansac ions, such ha hei w i es—and he ones by
hei causal dependencies—a e included in T’s p e ious snapsho s. This p e ix is deno ed
by (line 23), and is compu ed using he Vagg ec o included in each o he en ies o
Commi Log, summa ising he causal dependencies o all ansac ions up o a gi en eco d
in he log. Thus, he snapsho a siincludes all ansac ions wi h sequence numbe s up o
.Vagg [i].
On he o he hand, he snapsho selec ed canno be oo s ale. Con inuing wi h he
p e ious example, i a ansac ion T3is included in he snapsho aken by Ta some
pa i ion k, hen he snapsho o Ta pa i ion ihas o include he w i es by T3and i s
causal dependencies, e.g., he ansac ion T4in Figu e 3.5a. The snapsho ec o T.Vsnap
summa ises he upda es o he ansac ions (and o i s causal dependencies) included in he
snapsho s ixed by T. Thus, a e de e mining he app op ia e snapsho in line 23, he se e
sichecks ha his snapsho co e s ansac ions wi h sequence numbe s a iup o Vsnap[i]
(line 24). To maximise he chances o passing his check, be o e allowing a ansac ion T o
p oceed wi h a ead, he se e siwai s un il he w i es om he p e ix up o Vsnap[i]ha e
been inco po a ed in o i s s a e (line 22).
I may be he case ha i ’s impossible o sa is y bo h o he abo e equi emen s when
selec ing a snapsho ; e.g., in he si ua ion illus a ed in igu e 3.5b. Assuming ha he
ansac ion Thas ixed a alid snapsho a jand k, i is impossible o build a consis en
snapsho a pa i ion i; gi en ha Tincluded T3a pa i ion k, i is o ced o ead T4’s
w i es a i. A he same ime, because i excluded T1 om he snapsho a j,Tcan’ ead
he w i es by T2a i. In his case, wi hou he second equi emen , he se e siwould build
a snapsho excluding bo h T2and T4, iola ing T’s causal dependency on T3. In his case
he se e sends o he clien a READRETURN message wi h a special alue abo (line 25),
which will cause he clien o abo he ansac ion (line 12).
Once he se e ixes a new snapsho , i selec s he mos ecen e sion o he objec x,
de ined by e.Vagg [i](line 28), o e u n o he clien . The se e eplies wi h a READRETURN
message, ca ying a iple o he alue o he objec , i s associa ed e sion ec o , and he
agg ega e ec o o e.Vagg , summa ising he causal dependencies o all he ansac ions in
he snapsho . When he clien ecei es he message (line 13), i i s se s he j- h en y o
T.HasRead o >, o indica e ha Thas ead an objec a pa i ion j, and joins he e u ned
agg ega e ec o o T.Vsnap. The clien also joins he commi ec o associa ed wi h he
e sion ead o a dependency ec o T.Vdep, which ep esen s all causal dependencies de-
eloped by Tdu ing i s execu ion. This ensu es ha , upon eading a e sion o objec x,
Twill causally depend on he ansac ion T0 ha w o e ha e sion o x, along wi h he
causal dependencies o T0.
Conside he example depic ed in Figu e 3.6a, which shows a comple e execu ion o he
p o ocol. Clien c1issues a pai o ead eques s o se e s s1and s2. In u n, hese se e s
eply wi h he alue o he objec eques ed, along wi h i s e sion ec o and he new
agg ega e ec o o he ansac ion, deno ed by Vdep and Vagg a he bo om. Since his
is he i s ead eques issued on behal o his ansac ion, he se e s1 eplies wi h i s
19
Chap e 4
Implemen a ion and E alua ion
This chap e o e s an e alua ion ha a emp s o explo e he o e head o as PSI’s
s ong consis ency model compa ed o he weak consis ency o Read Commi ed. The
e alua ion also shows how as PSI is able o ou pe o m a p o ocol implemen ing he s onge
se ialisabili y consis ency model. Finally, i e alua es he scalabili y o as PSI as mo e
se e s and pa i ions a e added o he sys em, and discusses some o he limi a ions o he
p o ocol.
4.1. Implemen a ion
The implemen a ion o as PSI consis s o a clien -side lib a y [1] and a se e [3], he
la e being w i en as a plug-in ansac ional p o ocol o An ido e [5], a e e ence pla o m
o e alua ing consis ency p o ocols. Bo h he clien lib a y and he se e a e w i en in
he E lang p og amming language, wi h a o al o 6K lines o code. The An ido e pla -
o m p o ides a key- alue da abase, suppo s bo h in-memo y and disk-based s o age, and
implemen s ull eplica ion. Fo simplici y, he implemen a ion o as PSI only suppo s in-
memo y s o age, and lacks a eplica ion mechanism. The clien -side lib a y communica es
wi h he se e using Google’s P o ocol Bu e s [2]. To enhance ne wo k e iciency, clien
messages a e ansmi ed in pe iodic ba ches o he se e s.
To alida e he esul s o he e alua ion, wo al e na i e p o ocols a e also implemen ed,
sa is ying he Read Commi ed and se ialisabili y consis ency models, called nai eRC and
nai eSER, espec i ely. Bo h a e buil on op o he o iginal as PSI implemen a ion and
a e as e icien as possible. The pseudocode o bo h implemen a ions can be ound in
Appendix A.
As he implemen a ion o as PSI doesn’ a ge eplica ed scena ios, his documen
e ains om compa ing agains p e ious implemen a ions o Pa allel Snapsho Isola ion.
Since he p o ocols and implemen a ions as desc ibed in he li e a u e a e in luenced by
he choice o eplica ion mechanisms, a comp ehensi e e alua ion o as PSI agains o he
implemen a ions o PSI is de e ed o u u e wo k, which could explo e inco po a ing ei he
pa ial o ull eplica ion o as PSI.
26

Gi en ha as PSI equi es he use o mul iple e sions pe objec , i becomes necessa y
o p e en an unbounded g ow h o he numbe o e sions in he Ve sionLog da abase, and
in he numbe o en ies in he pe -pa i ion Commi Log. To ha end, a simple ga bage
collec ion mechanism in he implemen a ion ensu es a ixed numbe o e sions, and egula ly
p unes he oldes e sions om he s a e o a pa i ion.
4.2. E alua ion
This sec ion e alua es he pe o mance o as PSI using se e al wo kloads inspi ed by he
Yahoo! Cloud Se ing Benchma k (YCSB) [18], modi ied o gene a e ansac ional wo k-
loads [6,9]. The implemen a ion o Read Commi ed is used as a baseline o compa ison,
in o de o show he maximum possible pe o mance. Figu e 4.1 desc ibes he wo kloads
used. All expe imen s a e un on a clus e consis ing o machines unning Debian 4.19.67-2
(S e ch) wi h 3.80 GHz o 4.70 GHz In el Xeon p ocesso s wi h six co es, 32 GB o RAM,
and one gigabi ne wo k po . The clus e is pa i ioned in up o h ee di e en si es, wi h
ou se e machines and ou clien machines a each si e. Thus, he e is no sha ed memo y
be ween clien s and se e s, as i clien s we e ac ing as p oxies in he same da a cen e as
se e s. Since all he machines a e loca ed in he same local ne wo k, he c Linux command
is used o a i icially add la ency be ween si es.
In all benchma ks, he sys em is loaded wi h one million andom keys and 256-by e alues
p io o ecei ing any ope a ions om he clien s. Pa i ions a e dis ibu ed uni o mly ac oss
se e s, such ha a se e migh be esponsible o mul iple pa i ions. Keys a e mapped
o pa i ions using consis en hashing [30], wi h clien s being awa e o he dis ibu ion o
keys o pa i ions and se e machines. Thus, clien s can di ec ly add ess he co ec se e
and pa i ion o a speci ic key. Each clien machine spawns mul iple concu en h eads
ha execu e ansac ions and communica e wi h se e s in a closed-loop ashion. When
ansac ions ead mo e han one objec , clien s pe o m hose ope a ions se ially. Fo he
expe imen s ha in ol e mo e han one si e, he la ency be ween si es is o 10 ms.
Key Selec ion Dis ibu ion Ope a ions
Read-Only T an. Upda e T an.
B Uni o m 4 Reads 3 Reads, 1 Upda e
C Uni o m 2 Reads 1 Read, 1 Upda e
D Uni o m 3 Reads 3 Reads, 1 Upda e
E Uni o m 3 Reads 3 Reads, 3 Upda es
Figu e 4.1:T ansac ional YCSB Wo kload Types.
27
●●●
●
●●
●
●
●●
●
90% Read−only T ansac ions
80% Read−only T ansac ions
70% Read−only T ansac ions
0 250 500 750 1,000 1,250 1,500 1,750 2,000 0 250 500 750 1,000 1,250 1,500 1,750 2,000 0 250 500 750 1,000 1,250 1,500 1,750 2,000
0
5
10
15
20
25
0
5
10
15
20
25
0
5
10
15
20
25
Th oughpu (K ps)
Te mina ion La ency o Upd . xn (ms)
Wo kload C on 3 si es
●
nai eSER as PSI nai eRC
Figu e 4.2:Compa ison o h oughpu and e mina ion la ency o upda e ansac ions.
4.2.1. Pe o mance & Scalabili y Limi s
Pe o mance. The i s expe imen se es o in es iga e he o e all pe o mance p o ile o
he implemen a ions. The h oughpu and la ency o he di e en p o ocols is measu ed and
compa ed as he numbe o upda e ansac ions inc eases, while keeping he numbe o si es
cons an . Fo his expe imen , he numbe o concu en clien h eads a ies such ha he
esou ces o he CPU ne e sa u a e. The aim is o explo e he o e all o e head o as PSI
in compa ison wi h nai eRC, as well as he pe o mance bene i s i o e s in compa ison
wi h nai eSER. Figu e 4.2 shows he esul s o using Wo kload C and h ee si es, wi h 64
pa i ions uni o mly dis ibu ed ac oss si es. I measu es he e mina ion la ency o upda e
ansac ions (i.e., he amoun o ime spen on he alida ion o a ansac ion) as he a io
o ead-only o upda e ansac ion anges om 90%/10% o 70%/30% (le o igh ). Since
he la ency is measu ed in he clien , i only e lec s he amoun o ime spen on he p epa e
phase o he commi alida ion, as he clien does no need o wai un il he changes o a
ansac ion a e commi ed o he pa i ion s a e.
T ansac ions as execu ed by nai eRC need minimal synch onisa ion du ing i s commi
phase, and no synch onisa ion a all du ing ead ope a ions. This is e lec ed in i s high
pe o mance, wi h he alida ion o upda e ansac ions as he only bo leneck in he sys em.
Thus, as he p opo ion o upda e ansac ions inc eases, he impac on o e all h oughpu
is p onounced, d opping by as much as 20%.
Fo bo h nai eSER and as PSI, ead ope a ions om a ansac ion Tmus wai un il
he causal dependencies o Tcommi a a pa icula pa i ion, bounded in he wo s case
by he maximum la ency ac oss si es. In addi ion, ead ope a ions accessing he same
pa i ion su e om ha ing o synch onise while ixing a snapsho , as he implemen a ion
o Commi Log is no h ead-sa e. These wo sho comings explain he o e all low h oughpu
in compa ison wi h nai eRC. Ne e heless, bo h implemen a ions exhibi s able pe o mance
as he p opo ion o upda e ansac ions inc eases.
By compa ing as PSI wi h nai eSER, one can obse e ha he la e implemen a ion
is limi ed by i s need o alida e e e y ansac ion, in compa ison wi h as PSI, which only
alida es upda e ansac ions. In addi ion, he weake consis ency model o e ed by as PSI
28
allows i o ou pe o m nai eSER in all cases by app oxima ely 150%, while showing simila
la encies.
Scalabili y. The nex expe imen explo es he o e all scalabili y o as PSI, by examining
how he maximum pe o mance o each p o ocol changes as he numbe o machines in he
sys em is inc eased. Wo kload B is used, wi h a ixed a io o 10% upda e ansac ions, and
he numbe o si es is a ied om one o h ee, while keeping he numbe o pa i ions ixed
o 64. Figu e 4.3 shows he o e all pe o mance o he p o ocols.
●●●
10
25
50
100
250
500
750
1,000
1,250
1 Si es 2 Si es 3 Si es
Th oughpu (K ps) (log)
●
nai eSER as PSI nai eRC
Wo kload B, 90% ead−only ansac ions
Figu e 4.3:Maximum Th oughpu o Consis ency Models.
As be o e, he pe o mance o nai eRC inc eases almos in a linea ashion as mo e
se e s a e added, as explained by i s minimum need o synch onisa ion. Al hough he
scalabili y o as PSI is limi ed by he ixed numbe o pa i ions, i bene i s mode a ely
om inc easing he numbe o machines: as he o e all numbe o pa i ions pe machine
dec eases, se e s ee esou ces, and can hus ul il mo e clien eques s. This is e lec ed
in i s pe o mance a h ee si es being 1.52 imes i s base h oughpu a a single si e. In
con as , he o e all pe o mance o nai eSER s ays almos cons an as he numbe o si es
is inc eased, e lec ing i s need o alida e e e y ansac ion, which equi es g ea e le els
o synch onisa ion.
As he numbe o si es inc eases, so does he di e ence be ween nai eSER and as PSI.
O e all, as PSI manages o ou pe o m nai eSER by a ac o o 2.88 wi h a single si e, and
by a ac o o 3.52 a h ee si es.
Pa ame e Range De aul
Si es 1–3 3
Upda e T an. P opo ion 10%–30% 10%
Figu e 4.4:Pa ame e space used in he compa ison wo kload.
29
●
nai eSER as PSI nai eRC
●
●●
0.03
0.10
0.30
1.00
1 Si es 2 Si es 3 Si es
Numbe o Si es
(a)
●●●
0.03
0.10
0.30
1.00
10 20 30
Upda e T ansac ions (%)
(b)
Th oughpu (no malized)
Figu e 4.5:Pa ame e space explo a ion o e lec he pe o mance compa ison o he p o-
ocols. Each expe imen a ies one pa ame e while keeping he o he ixed a i s de aul
alue ( ep esen ed by he g ey e ical line). Th oughpu is shown no malised compa ed o
nai eRC.
O e all compa ison. The las wo expe imen s ha e shown how he pe o mance and
scalabili y o he implemen a ions is de e mined by he p opo ion o upda e ansac ions
and he numbe o si es. To be e isualise he ela ionship be ween wo kload choice and
pe o mance, he nex expe imen explo es he pa ame e space desc ibed in Figu e 4.4
when using Wo kload B. As in he p e ious expe imen , he numbe o pa i ions is kep
cons an as he numbe o si es inc eases. The esul s a e shown in Figu e 4.5, wi h he
h oughpu depic ed no malised compa ed o he pe o mance o nai eRC.
As shown in Figu e 4.5a, as PSI and nai eSER ha e di e en scalabili y p ope ies.
Al hough bo h implemen a ions su e in compa ison wi h nai eRC, as PSI exhibi s much
be e scalabili y in compa ison wi h nai eSER. Fo nai eSER, he need o alida e e e y
ansac ion imposes a pe o mance penal y ha inc eases as mo e si es a e added, and
consequen ly inc eases he o e all la ency o he commi phase o e e y ansac ion. In
con as , he impac on as PSI is less se e e, as he inc eased la ency only a ec s he ead
ope a ions, since he p opo ion o upda e ansac ions is low.
Figu e 4.5b shows he pe o mance compa ison as he p opo ion o upda e ansac ions
inc eases. While he di e ence in h oughpu be ween nai eRC and as PSI s ays cons an ,
he o e all pe o mance o as PSI is hinde ed by he need o compu e a causally compa ible
snapsho . Ne e heless, he ac ha he ela i e pe o mance s ays cons an in compa ison
wi h nai eRC shows ha he impac o he alida ion p ocess does no g ow wi h he
numbe o upda e ansac ions. The impac o upda e ansac ions on nai eSER is less
p onounced, and i s pe o mance di e ence wi h as PSI ge s smalle as he p opo ion
o upda es inc eases. This is explained by he choice o wo kload: ead-only ansac ions
pe o m ou eads, while upda e ansac ions pe o m h ee. Since nai eSER also alida es
ead-only ansac ions, as he p opo ion o upda es g ows, he a e age numbe o pa i ions
ha pa icipa e in he o ing phase sh inks om ou o h ee, which dec eases he un ime
cos o alida ion.
30
10%
20%
30%
40%
50%
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
nai eSER as PSI
Abo a io
Wo kload D, o e all abo a e
10%
20%
30%
40%
50%
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
nai eSER as PSI
Abo a io
Wo kload E, o e all abo a e
Figu e 4.6:O e all ansac ion abo a io o di e en consis ency models and wo kloads.
4.2.2. Abo Ra io
This sec ion ocuses on ano he ad an age o he elaxed consis ency model o as PSI
in compa ison wi h se ialisabili y, namely, he a io o abo ed ansac ions. One o he
cha ac e is ics o as PSI is ha he snapsho s o ansac ions exhibi o wa d eshness: a
ansac ion Tis able o ead objec e sions w i en by ansac ions ha commi ed a e
Ts a ed. In con as , a ansac ion Tunde se ialisabili y o classical Snapsho Isola ion
can only ead e sions w i en by ansac ions ha commi be o e T’s s a ime. This
limi a ion leads o a high numbe o abo ed ansac ions due o s ale eads in high la ency
se ings.
As such, his sec ion aims o explo e he ad an ages o o wa d eshness in as PSI in
compa ison wi h nai eSER, and how di e en wo kloads a ec i . Figu e 4.6 shows how he
abo a io o ansac ions a ies—unde di e en wo kloads—wi h he numbe o upda e
ansac ions. The esul s we e ob ained wi h wo si es. The g aph on he le shows he
ad an ages o he o wa d eshness o ansac ions, wi h he abo a io o as PSI being 30
pe cen age poin s be e han nai eSER, on a e age. Howe e , as he numbe o upda es
inc eases, so does he numbe o con lic ing ansac ions. This is e lec ed in an inc ease o
abo ed ansac ions, om less han one pe cen o a ound i e pe cen . The g aph on he
igh , howe e , shows di e en esul s: as he numbe o upda e ansac ions g ows, so does
he o e all abo a io o as PSI, om 7% o 25%. O e all, in he wo s case he abo
a io o as PSI is only 10 pe cen age poin s be e han nai eSER.
The di e ence be ween wo kloads is explained in he wo g aphs depic ed in Figu e 4.7,
which explo es he easons why ansac ions abo . In as PSI, a ansac ion migh abo
o wo easons: by upda ing an objec ha is o e w i en by a concu en ansac ion, o
by ailing o o m a causally consis en snapsho , as de ailed in 3.5. By i ue o ha ing he
same implemen a ion o causally consis en snapsho s, nai eSER inhe i s he same easons,
and adds a hi d: a ansac ion is o ced o abo i i eads a e sion o an objec ha is
la e o e w i en. Fo bo h p o ocols, a ansac ion migh abo a wo poin s du ing i s
execu ion: ead abo s occu when a ansac ion ails o ix a causally consis en snapsho ,
and o he wise he ansac ion abo s du ing alida ion, i.e., du ing he e mina ion o he
31

●
●●●●
0.005
0.010
0.025
0.050
0.100
1.000
10 20 30 40 50
Upda e T ansac ions (%)
Abo a io (log)
●nai eSER as PSI
Wo kload D, abo s du ing alida ion
●
●●●●
0.005
0.010
0.025
0.050
0.100
1.000
10 20 30 40 50
Upda e T ansac ions (%)
Abo a io (log)
●nai eSER as PSI
Wo kload E, abo s du ing alida ion
Figu e 4.7:Ra io o abo s ha happen du ing he alida ion phase, o di e en consis ency
models and wo kloads.
ansac ion. As seen on he le g aph in Figu e 4.7, in Wo kload D all abo ed ansac ions
in as PSI do so du ing he alida ion phase, while o nai eSER, only a small pe cen age
o abo ed ansac ions (be ween 0.5% and 2.5%) do so du ing e mina ion. In con as ,
as PSI exhibi s a e y di e en beha iou wi h Wo kload E, as shown in he g aph on he
igh . Wi h his wo kload, ansac ions abo o he same eason in bo h p o ocols: hey
a e unable o build causally consis en snapsho s. In bo h cases, he amoun o ansac ions
ha abo while a emp ing o ix a snapsho g ows as he numbe o upda e ansac ions
inc eases.
Recall ha in Wo kload D, upda e ansac ions upda e one single key, while in Wo kload
E, hey upda e h ee. This small di e ence in he numbe o upda ed keys explains he
di e ence in abo ed ansac ions o as PSI. As desc ibed in 3.5, a ansac ion Twill
be unable o ix a causally consis en snapsho when a) di e en pa i ions commi non-
con lic ing ansac ions in di e en o de , and b) T ixes a snapsho in one o hose pa i ions
be o e he upda es o all he non-con lic ing ansac ions become isible. Since upda e
ansac ions in Wo kload D only upda e a single key, upda e ansac ions will only commi
a a single pa i ion, and he e o e, no ansac ion can obse e a di e en commi o de .
This explains why he e a e no abo ed ansac ions due o inconsis en snapsho s when
execu ing his wo kload o as PSI. In con as , upda e ansac ions in Wo kload E upda e
h ee keys, and he e o e commi a h ee di e en pa i ions,1such ha he p obabili y o
pa i ions commi ing ansac ions in di e en o de g ows. In addi ion, since ansac ions
ead h ee keys, he p obabili y o obse ing di e en commi o de s also g ows. Thus, as he
numbe o upda e ansac ions inc eases, so does he p obabili y o ansac ions a emp ing
o ix inconsis en snapsho s. In nai eSER ansac ions also commi a he pa i ions hey
ead om, meaning ha upda e ansac ions in Wo kload D commi a h ee pa i ions.
1Since ansac ions choose keys ollowing an uni o m dis ibu ion, mos keys will be managed by dis inc
pa i ions.
32
0.000
0.025
0.050
0.075
0.100
0.125
0.150
0.175
0.200
0.225
0.250
0.275
0.300
234
Read Keys
(a)
Abo a io
2 w i es / 64 pa i ions
Read keys e ec on abo a io (Two keys w i en)
0.0
0.1
0.2
0.3
1234
W i en Keys
(b)
Abo a io
4 eads / 64 pa i ions
W i en keys e ec on abo a io
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
8 16 32 64 128 256
Pa i ions
(c)
Abo a io
4 eads / 4 w i es
Pa i ions numbe e ec on abo a io
Figu e 4.8:Resul s om explo ing he abo a io o as PSI ac oss di e en wo kload and
deploymen scena ios.
This explains why i s abo a io is simila in bo h wo kloads.
Since small changes in wo kload choice a e able o a ec he o e all abo a io o as PSI
in a signi ican manne , he e alua ion is concluded wi h an explo a ion o he pa ame-
e s ha ha e he highes impac on he numbe o abo ed ansac ions. As explained
p e iously, one o he easons why ansac ions obse e inconsis en snapsho s is because
pa i ions commi ansac ions in di e en o de s. Thus, by changing he numbe o keys
upda ed by a ansac ion, one can modi y he numbe o pa i ions in ol ed, which a ec s
he chances o di e en commi o de s. Ano he eason o inconsis en snapsho s is ha
ansac ions a e able o obse e he ansac ions ha commi in di e en o de , which leads
o change he numbe o keys ead by he ansac ions. I ansac ions ead om a small
amoun o pa i ions, he p obabili y ha hey obse e di e en commi o de s will also be
small. Finally, he mos impo an ac o is he numbe o pa i ions, o a he , he amoun
o keys pe pa i ion. When a ew pa i ions manage all he keys, mos ansac ions will
commi a he same pa i ions. The e o e, he p obabili y o ha ing di e en commi o de s
g ows, as well as he p obabili y ha a gi en ansac ion obse es hose o de s. Con e sely,
when he numbe o pa i ions is la ge, o pa i ions manage only a small amoun o keys,
he p obabili y o di e en commi o de s sh inks, as does he p obabili y o hem being
obse ed by ansac ions.
Figu e 4.8 shows he esul s o modi ying each o he pa ame e s men ioned, no ing
ha , o simplici y, a single si e is used while modi ying he numbe o pa i ions, ins ead o
changing he o al amoun o keys in he da abase. The pe cen age o upda e ansac ions
is se o 50%, o show he wo s possible abo a io. The e ec o changing he numbe
o keys ead by a ansac ion, shown in Figu e 4.8a, is small. Al hough he o e all abo
a io ne e g ows la ge han 10%, modi ying he numbe o ead keys esul s, a bes , in
an imp o emen o 7.5 pe cen age poin s. Blind upda es a e no allowed, and as such he
minimum numbe o ead keys is wo, since ansac ions need o upda e a leas wo keys
in wo di e en pa i ions o in oduce inconsis en snapsho s in he sys em. In con as ,
changing he numbe o keys upda ed by a ansac ion p oduces a bigge impac , as shown
33
●
●
●●
●
●
0
5,000
10,000
15,000
20,000
25,000
30,000
8 16 32 64 128 256
Pa i ions
Th oughpu ( ps)
4 eads / 4 w i es
Pa i ions numbe e ec on h oughpu
Figu e 4.9:Pe o mance deg ada ion o as PSI as he numbe o pa i ions inc eases, wi h
a ixed numbe o se e s.
in Figu e 4.8b, wi h an o e all change o 23 pe cen age poin s in he numbe o abo ed
ansac ions. When ansac ions upda e a single key, all ansac ions abo du ing alida-
ion. A his poin , he sys em shows he bes possible abo a io o 64 pa i ions, a
5%. Finally, modi ying he numbe o pa i ions yields he bigges change in he numbe o
abo ed ansac ions, as shown in Figu e 4.8c. Wi h 8 pa i ions, he o e all abo a io is
o almos 70%, which se es as an ex eme example o he impo ance o his pa ame e . As
he numbe o pa i ions g ows, he sys em eaches an abo a io o 27%. By inc easing he
numbe o pa i ions o 256, he esul is an abo a io o 10%. Wi h an o e all di e ence
o 60 pe cen age poin s in he p opo ion o abo ed ansac ions, his shows ha he num-
be o pa i ions is he bigges in luence in he abo a io o ansac ions in as PSI. I is
impo an o no e, howe e , ha inc easing he numbe o pa i ions also has a big impac
on he pe o mance o he sys em, as shown in Figu e 4.9. Du ing he expe imen , he
maximum h oughpu is eached a 32 pa i ions ac oss 4 machines. Wi h a small numbe
o pa i ions, he inc eased con en ion causes he h oughpu o d op. Wi h a big numbe o
pa i ions, each se e machine is also esponsible o a big numbe o pa i ions. As a esul ,
he sys em o e loads. Thus, he numbe o a ailable machines cons ain s he numbe o
pa i ions.
34
Chap e 5
Rela ed Wo k
This chap e gi es an o e iew o he p e ious wo k in he se ings o ansac ional
p o ocols, consis ency, and applica ion obus ness. I also highligh s he main di e ences
be ween he con ibu ions o his wo k and p e ious app oaches.
Applica ion Robus ness. The no ion o obus ness as applied o da abases was i s
in es iga ed by Feke e e al. [22], p oposing a way o analyse i applica ions we e obus
agains Snapsho Isola ion (SI) [13]. The wo k o Feke e e al. has esul ed in he p oli e -
a ion o s a ic analysis ools o de ec ing he p esence o anomalies in applica ions [29], as
well as se e al un- ime echniques o ensu ing se ialisable ansac ions [37]. Mo e ecen ly,
Be na di and Go sman [14] p oposed se e al obus ness c i e ia o a a ie y o consis ency
models, including Pa allel Snapsho Isola ion (PSI) [39]. The wo k on as PSI builds on
he obus ness c i e ia o Pa allel Snapsho Isola ion and o Snapsho Isola ion o build a
hyb id p o ocol ha allows p og amme s o selec i ely s eng hen consis ency gua an ees
o indi idual ansac ions.
En i y G oups. The concep o en i y was in oduced by Helland [28] o e e o a sel -
con ained da a objec , wi h applica ion-de ined bounda ies, and uniquely iden i ied by an
en i y key. In addi ion, Helland a gued o he en i y o be he la ges scope o ansac ional
se ialisabili y: ansac ions can only gua an ee a omici y o objec s held wi hin he same
en i y, and a e p e en ed om modi ying objec s ac oss en i ies.
La e sys ems, such as Megas o e [11], in oduced he concep o en i y g oups as disjoin
agg ega ions o indi idual en i ies. Such sys ems allowed ansac ions o access dis inc en i-
ies, and o e ed s ong consis ency o ansac ions accessing en i ies wi hin a g oup, while
o e ing almos no consis ency gua an ees o ansac ions ha accessed di e en g oups.
Such sys ems hus b oadened he scope o ansac ional se ialisabili y o encompass en i e
en i y g oups. In con as , as PSI p o ides PSI o all ansac ions, e en hose ha ac-
cess objec s in mul iple en i y g oups. A he same ime, i s eng hens he consis ency
gua an ees u he o ansac ions accessing only indi idual en i y g oups, by p o iding SI.
35
5 unc ion ead(T, x)
6i hx, i ∈ T.WS hen
7 e u n ;
8j←pa i ion(x);
9send READREQUEST(x, T.Vsnap, T.HasRead) o sj;
10 wai ecei e READRETURN(m) om sj;
11 i m=abo hen
12 h ow abo ;
13 else i m=h , Vdep,Vagg i hen
14 T.HasRead[j]← >;
15 T.RS ←(T.RS {hx, _i})∪ {hx, Vdep[j]i};
16 T.Vdep ←max(T.Vdep,Vdep);
17 T.Vsnap ←max(T.Vsnap,Vagg );
18 e u n ;
19 when ecei ed READREQUEST(x, Vsnap,HasRead) om cj
20 i HasRead[i] hen
21 V←Vsnap;
22 else
23 wai un il V o al[i]≥Vsnap[i];
24 ←max{ ∈Commi Log | ∀j. HasRead[j] =⇒( .Vagg [j]≤Vsnap[j])};
25 i .Vagg [i]<Vsnap[i] hen
26 send READRETURN(abo ) o cj;
27 e u n;
28 V← .Vagg ;
29 e = max{ e ∈Ve sionLog | e .Vcomm[i]≤V[i]};
30 send READRETURN( e . al, e .Vcomm, V ) o cj;
Figu e A.3:Se ialisable local and emo e ead o objec x
42

31 unc ion commi (T)
32 o all sj∈pa i ions(T.RS ∪T.WS)do
33 send PREPARE(T, T.RS, T.WS,Vdep) o sj;
34 Vcomm ←T.Vdep;
35 decision ←commi ;
36 o all sj∈pa i ions(T.RS ∪T.WS)do
37 wai ecei e VOTE(m) om sj;
38 i m=hT, abo i hen
39 decision ←abo ;
40 b eak;
41 else i m=hT, commi , ki hen
42 Vcomm[j]←k;
43 o all sj∈pa i ions(T.RS ∪T.WS)do
44 send DECIDE(T,Vcomm,decision) o sj;
45 e u n decision;
46 when ecei ed PREPARE(T, RS,WS,Vdep) om cj
47 i (∃T0.(hT0,pending,RS0,WS0i ∈ Commi Queue
∨ hT0,decided,_,_,_i ∈ Commi Queue)
∧(WS0∩RS 6=∅ ∧ RS0∩WS 6=∅)
∨(∃x. hx, sni ∈ RS ∧(Ve sionLog[x].las .Vcomm[i]> sn))
hen
48 send VOTE( , abo ) o cj;
49 e u n;
50 Las P ep ←Las P ep + 1;
51 Commi Queue.pu (T,pending,RS,WS);
52 send VOTE(T,commi ,Las P ep) o cj;
53 when ecei ed DECIDE(T, Vcomm,decision) om cj
54 i decision =commi hen
55 Commi Queue.upda e(hT,decided,_,_,Vcommi);
56 else
57 Commi Queue. emo e(T);
58 upon hT, decided,_,WS,Vcommi=Commi Queue.head()
59 o all {hx, i|hx, i ∈ WS ∧pa i ion(x) = i}do
60 Ve sionLog.add(hx, , Vcommi);
61 V o al ←max(V o al,Vcomm);
62 Commi Log.add(T, V o al);
63 Commi Queue. emo e(T);
Figu e A.4:Se ialisable e mina ion p o ocol.
43
A.2. Read Commi ed
Read Commi ed (RC) is he weakes consis ency model ha sa is ies he isola ion p op-
e y equi ed by ACID ansac ions. I o bids concu en ansac ions om obse ing any
da a ha has no been commi ed, bu i does no place any es ic ion on he o de ing o
ansac ions, and does no p eclude w i e-w i e con lic s. Thus, ansac ions may be o de ed
in any way. Figu e A.5 shows a summa y o he da a s uc u es in ol ed in he p o ocol.
Va iables a a se e si
Name Domain Desc ip ion
Commi Queue Sequence[hTx,S a e,W i eSe i]
whe e S a e ={pending,decided}
Queue con aining in o ma ion abou upda e
ansac ions ying o commi a he se e .
Da abase Se [hObjec ,Valuei]Se ep esen ing he key- alue s o e as a mapping
om objec s o alues.
Con ex o a ansac ion Ta a clien ci
T.WS W i eSe W i e-se o T.
Figu e A.5:Lis o a iables used in he Read Commi ed p o ocol, whe e W i eSe =
Se [hObjec ,Valuei].
Since ansac ions only need o obse e he las commi ed e sion o an objec , i is
su icien o s o e only one e sion. Thus, he Ve sionLog mapping can be subs i u ed wi h
aDa abase ha simply maps an objec o i s la es e sion. In addi ion, ansac ions
don’ need o obse e a consis en snapsho o he s a e o a pa i ion, and he e o e all
da a s uc u es ela ed o compu ing a snapsho can be emo ed. This is e lec ed in he
execu ion o a ansac ion, as can be seen in Figu e A.7. A se e siexecu ing a emo e ead
on behal o a ansac ion Tsimply e ches he cu en ly a ailable alue o he eques ed
objec , and e u ns i o he clien (line 13).
A p o ocol sa is ying Read Commi ed s ill needs o o e a omic isibili y. To do so, he
implemen a ion uses wo-phase commi o gua an ee ha a ansac ion commi s a e e y
pa i ion (line 14). Se e s ha pa icipa e du ing he commi phase always o e commi
(line 30), since RC does no p eclude w i e-w i e con lic s. A e a success ul commi phase,
all se e s inco po a e he upda es o he ansac ion o i s pa i ion s a e (line 38).
1 unc ion s a ()
2 e u n new Tx(WS =∅);
3 unc ion w i e(T, x, )
4T.WS ←(T.WS {hx, _i})∪ {hx, i};
Figu e A.6:Ini ialisa ion o a ansac ion and upda e o an objec xa clien ciunde
Read Commi ed.
44
5 unc ion ead(T, x)
6i hx, i ∈ T.WS hen
7 e u n ;
8j←pa i ion(x);
9send READREQUEST(x) o sj;
10 wai ecei e READRETURN( ) om sj;
11 e u n ;
12 when ecei ed READREQUEST(x) om cj
13 send READRETURN(Da abasei.ge (x)) o cj;
14 unc ion commi (T)
15 i .ws =∅ hen
16 e u n commi ;
17 o all sj∈pa i ions(T.WS)do
18 send PREPARE(T) o sj;
19 decision ←commi ;
20 o all sj∈pa i ions(T.WS)do
21 wai ecei e VOTE(m) om sj;
22 i m=hT, abo i hen
23 decision ←abo ;
24 b eak;
25 o all sj∈pa i ions(T.WS)do
26 send DECIDE(T,decision) o sj;
27 e u n decision;
28 when ecei ed PREPARE(T) om cj
29 Commi Queue.pu (T, pending,WS);
30 send VOTE(T, commi ) o cj;
31 when ecei ed DECIDE(T, decision) om cj
32 i decision =commi hen
33 Commi Queue.upda e(hT, decided,_i);
34 else
35 Commi Queue. emo e(T);
36 upon hT, decided,WSi=Commi Queue.head()
37 o all {hx, i|hx, i ∈ WS ∧pa i ion(x) = i}do
38 Da abasei.apply(x, );
39 Commi Queue. emo e(T);
Figu e A.7:Read Commi ed execu ion p o ocol.
45
Bibliog aphy
[1] as PSI clien -side lib a y. URL h ps://gi hub.com/e gl/p c/ ee/ 0.8.0.
[2] P o ocol Bu e s. URL h ps://gi hub.com/p o ocolbu e s/p o obu .
[3] as PSI Se e . URL h ps://gi hub.com/e gl/an ido e/ ee/p c.
[4] A ul Adya. Weak Consis ency: A Gene alized Theo y and Op imis ic Implemen a ions
o Dis ibu ed T ansac ions. Ph.D., MIT, Camb idge, MA, USA, Ma ch 1999.
[5] Deep hi De aki Akkoo a h, Alejand o Z. Tomsic, Manuel B a o, Zhongmiao Li, Tyle
C ain, Anne e Bieniusa, Nuno P eguica, and Ma c Shapi o. Cu e: S ong Seman ics
Mee s High A ailabili y and Low La ency. In P oceedings o he 36 h In e na ional
Con e ence on Dis ibu ed Compu ing Sys ems (ICDCS 2016), 2016.
[6] M. S. A dekani, P. Su a, and M. Shapi o. Non-mono onic snapsho isola ion: Scalable
and s ong consis ency o geo- eplica ed ansac ional sys ems. In 2013 IEEE 32nd
In e na ional Symposium on Reliable Dis ibu ed Sys ems, pages 163–172, Sep. 2013.
doi: 10.1109/SRDS.2013.25.
[7] Masoud Saeida A dekani. Ensu ing Consis ency in Pa ially Replica ed Da a S o es.
Ph.d., UPMC, Pa is, F ance, Sep embe 2014.
[8] Masoud Saeida A dekani, Ma ek Zawi ski, Pie e Su a, and Ma c Shapi o. The space
complexi y o ansac ional in e ac i e eads. In P oceedings o he 1s In e na ional
Wo kshop on Ho Topics in Cloud Da a P ocessing, Ho CDP ’12, New Yo k, NY, USA,
2012. Associa ion o Compu ing Machine y. ISBN 9781450311625. doi: 10.1145/
2169090.2169094. URL h ps://doi.o g/10.1145/2169090.2169094.
[9] Masoud Saeida A dekani, Pie e Su a, and Ma c Shapi o. G-DUR: A middlewa e o
assembling, analyzing, and imp o ing ansac ional p o ocols. In P oceedings o he
15 h In e na ional Middlewa e Con e ence, Middlewa e ’14, page 13–24, New Yo k,
NY, USA, 2014. Associa ion o Compu ing Machine y. ISBN 9781450327855. doi:
10.1145/2663165.2663336. URL h ps://doi.o g/10.1145/2663165.2663336.
[10] Pe e Bailis, Alan Feke e, Joseph M. Helle s ein, Ali Ghodsi, and Ion S oica. Scalable
a omic isibili y wi h RAMP ansac ions. In P oceedings o he 2014 ACM SIGMOD
In e na ional Con e ence on Managemen o Da a, SIGMOD ’14, page 27–38, New
Yo k, NY, USA, 2014. Associa ion o Compu ing Machine y. ISBN 9781450323765.
doi: 10.1145/2588555.2588562. URL h ps://doi.o g/10.1145/2588555.2588562.
46
[11] Jason Bake , James C. Co be , JJ Fu man, And ey Kho lin, James La son, Jean-
Michel Leon, Yawei Li, Alexande Lloyd, and Vadim Yushp akh. Megas o e: P o id-
ing Scalable, Highly A ailable S o age o In e ac i e Se ices. In P oceedings o he
Con e ence on Inno a i e Da a sys em Resea ch (CIDR), pages 223–234, 2011. URL
h p://www.cid db.o g/cid 2011/Pape s/CIDR11_Pape 32.pd .
[12] Ca los Baque o and Nuno M. P eguiça. Why logical clocks a e easy. Commun. ACM,
59(4):43–47, 2016.
[13] Hal Be enson, Phil Be ns ein, Jim G ay, Jim Mel on, Elizabe h O’Neil, and Pa ick
O’Neil. A C i ique o ANSI SQL Isola ion Le els. In P oceedings o he 1995 ACM
SIGMOD in e na ional con e ence on Managemen o da a - SIGMOD ’95, 1995.
[14] Gio anni Be na di and Alexey Go sman. Robus ness agains Consis ency Models wi h
A omic Visibili y. In Josée Desha nais and Radha Jagadeesan, edi o s, 27 h In e -
na ional Con e ence on Concu ency Theo y (CONCUR 2016), olume 59 o Leib-
niz In e na ional P oceedings in In o ma ics (LIPIcs), pages 7:1–7:15, Dags uhl, Ge -
many, 2016. Schloss Dags uhl–Leibniz-Zen um ue In o ma ik. ISBN 978-3-95977-017-
0. doi: 10.4230/LIPIcs.CONCUR.2016.7. URL h p://d ops.dags uhl.de/opus/
oll ex e/2016/6165.
[15] Philip A. Be ns ein, Vassos Hadzilacos, and Na han Goodman. Concu ency Con ol
and Reco e y in Da abase Sys ems. Addison-Wesley, 1987.
[16] E ic A B ewe . Towa ds Robus Dis ibu ed Sys ems (keyno e). In 19 h ACM Sympo-
sium on P inciples o Dis ibu ed Compu ing (PODC), July 2000.
[17] And ea Ce one, Gio anni Be na di, and Alexey Go sman. A amewo k o ansac-
ional consis ency models wi h a omic isibili y. In 26 h In e na ional Con e ence on
Concu ency Theo y, CONCUR 2015, Mad id, Spain, Sep embe 1-4, 2015.
[18] B ian F. Coope , Adam Silbe s ein, E win Tam, Raghu Ramak ishnan, and Russell
Sea s. Benchma king cloud se ing sys ems wi h ycsb. In P oceedings o he 1s ACM
Symposium on Cloud Compu ing, SoCC ’10, New Yo k, NY, USA, 2010.
[19] James C. Co be , Je ey Dean, Michael Eps ein, And ew Fikes, Ch is ophe
F os , J. J. Fu man, Sanjay Ghemawa , And ey Guba e , Ch is ophe Heise , Pe e
Hochschild, and e al. Spanne : Google’s globally dis ibu ed da abase. ACM T ans.
Compu . Sys ., 31(3), Augus 2013. ISSN 0734-2071. doi: 10.1145/2491245. URL
h ps://doi.o g/10.1145/2491245.
[20] Giuseppe DeCandia, Deniz Has o un, Madan Jampani, Guna a dhan Kakulapa i,
A inash Lakshman, Alex Pilchin, Swamina han Si asub amanian, Pe e Vosshall, and
We ne Vogels. Dynamo: amazon’s highly a ailable key- alue s o e. SIGOPS Ope .
Sys . Re ., 41(6):205, Oc obe 2007. ISSN 01635980. doi: 10.1145/1323293.1294281.
47

[21] Alan Feke e. Alloca ing Isola ion Le els o T ansac ions. In P oceedings o he Twen y-
Fou h ACM SIGMOD-SIGACT-SIGART Symposium on P inciples o Da abase Sys-
ems, PODS ’05, page 206–215, New Yo k, NY, USA, 2005. Associa ion o Com-
pu ing Machine y. ISBN 1595930620. doi: 10.1145/1065167.1065193. URL h ps:
//doi.o g/10.1145/1065167.1065193.
[22] Alan Feke e, Dimi ios Lia okapis, Elizabe h O’Neil, Pa ick O’Neil, and Dennis
Shasha. Making Snapsho Isola ion Se ializable. ACM T ans. Da abase Sys ., 30
(2):492–528, June 2005. ISSN 0362-5915. doi: 10.1145/1071610.1071615. URL
h ps://doi.o g/10.1145/1071610.1071615.
[23] Se h Gilbe and Nancy Lynch. B ewe ’s conjec u e and he easibili y o consis en ,
a ailable, pa i ion- ole an web se ices. SIGACT News, 33(2):51–59, June 2002. ISSN
0163-5700. doi: 10.1145/564585.564601. URL h ps://doi.o g/10.1145/564585.
564601.
[24] Alexey Go sman, Hongseok Yang, Ca la Fe ei a, Mahsa Naja zadeh, and Ma c
Shapi o. ’Cause I’m S ong Enough: Reasoning abou Consis ency Choices in Dis-
ibu ed Sys ems. In P oceedings o he 43 d Annual ACM SIGPLAN-SIGACT Sym-
posium on P inciples o P og amming Languages, POPL ’16, page 371–384, New Yo k,
NY, USA, 2016. Associa ion o Compu ing Machine y. ISBN 9781450335492. doi:
10.1145/2837614.2837625. URL h ps://doi.o g/10.1145/2837614.2837625.
[25] Jim G ay and Leslie Lampo . Consensus on T ansac ion Commi . ACM T ansac ions
on Da abase Sys ems, 31(1):133–160, Ma ch 2006. ISSN 0362-5915. doi: 10.1145/
1132863.1132867. URL h ps://doi.o g/10.1145/1132863.1132867.
[26] Rachid Gue aoui and And é Schipe . Genuine a omic mul icas in asynch onous dis-
ibu ed sys ems. Theo e ical Compu e Science (Else ie ), 254:297–316, 2001. URL
h p://in oscience.ep l.ch/ eco d/49965.
[27] R. C. Hansdah and Lali M. Pa naik. Upda e Se ializabili y in Locking. In P oceedings
o he In e na ional Con e ence on Da abase Theo y, ICDT ’86, page 171–185, Be lin,
Heidelbe g, 1986. Sp inge -Ve lag. ISBN 3540171878.
[28] Pa Helland. Li e beyond Dis ibu ed T ansac ions: an Apos a e’s Opinion. In CIDR
2007, Thi d Biennial Con e ence on Inno a i e Da a Sys ems Resea ch, Asiloma , CA,
USA, Janua y 7-10, 2007, Online P oceedings, pages 132–141. www.cid db.o g, 2007.
URL h p://cid db.o g/cid 2007/pape s/cid 07p15.pd .
[29] Sudhi Jo weka , Alan Feke e, K i hi Ramam i ham, and S. Suda shan. Au oma ing
he de ec ion o snapsho isola ion anomalies. In P oceedings o he 33 d In e na ional
Con e ence on Ve y La ge Da a Bases, VLDB ’07, page 1263–1274. VLDB Endowmen ,
2007. ISBN 9781595936493.
48
[30] Da id Ka ge , E ic Lehman, Tom Leigh on, Rina Panig ahy, Ma hew Le ine, and
Daniel Lewin. Consis en hashing and andom ees: Dis ibu ed caching p o ocols
o elie ing ho spo s on he Wo ld Wide Web. In P oceedings o he Twen y-Nin h
Annual ACM Symposium on Theo y o Compu ing, STOC ’97, page 654–663, New
Yo k, NY, USA, 1997. Associa ion o Compu ing Machine y. ISBN 0897918886. doi:
10.1145/258533.258660. URL h ps://doi.o g/10.1145/258533.258660.
[31] Leslie Lampo . The pa - ime pa liamen . ACM T ans. Compu . Sys ., 16(2):133–169,
May 1998. ISSN 0734-2071. doi: 10.1145/279227.279229. URL h ps://doi.o g/10.
1145/279227.279229.
[32] Wya Lloyd, Michael J. F eedman, Michael Kaminsky, and Da id G. Ande sen.
Don’ Se le o E en ual: Scalable Causal Consis ency o Wide-A ea S o age wi h
COPS. In P oceedings o he Twen y-Thi d ACM Symposium on Ope a ing Sys ems
P inciples, SOSP ’11, page 401–416, New Yo k, NY, USA, 2011. Associa ion o
Compu ing Machine y. ISBN 9781450309776. doi: 10.1145/2043556.2043593. URL
h ps://doi.o g/10.1145/2043556.2043593.
[33] Hen ique Moniz, João Lei ão, Rica do J. Dias, Johannes Geh ke, Nuno P eguiça, and
Rod igo Rod igues. Blo e : Low La ency T ansac ions o Geo-Replica ed S o age. In
P oceedings o he 26 h In e na ional Con e ence on Wo ld Wide Web, WWW ’17, page
263–272, Republic and Can on o Gene a, CHE, 2017. In e na ional Wo ld Wide Web
Con e ences S ee ing Commi ee. ISBN 9781450349130. doi: 10.1145/3038912.3052603.
URL h ps://doi.o g/10.1145/3038912.3052603.
[34] Mahsa Naja zadeh, Alexey Go sman, Hongseok Yang, Ca la Fe ei a, and Ma c
Shapi o. The CISE Tool: P o ing Weakly-Consis en Applica ions Co ec . In
P oceedings o he 2nd Wo kshop on he P inciples and P ac ice o Consis ency o
Dis ibu ed Da a, PaPoC ’16, New Yo k, NY, USA, 2016. Associa ion o Compu -
ing Machine y. ISBN 9781450342964. doi: 10.1145/2911151.2911160. URL h ps:
//doi.o g/10.1145/2911151.2911160.
[35] D. S. Pa ke , G. J. Popek, G. Rudisin, A. S ough on, B. J. Walke , E. Wal on, J. M.
Chow, D. Edwa ds, S. Kise , and C. Kline. De ec ion o mu ual inconsis ency in
dis ibu ed sys ems. IEEE T ans. So w. Eng., 9(3):240–247, May 1983.
[36] Sebas iano Peluso, Ped o Rui o, Paolo Romano, F ancesco Quaglia, and Luis Ro-
d igues. GMU: Genuine Mul i e sion Upda e-Se ializable Pa ial Da a Replica ion.
IEEE T ansac ions on Pa allel and Dis ibu ed Sys ems, 27(10):2911–2925, Oc obe
2016. ISSN 1045-9219. doi: 10.1109/TPDS.2015.2510998. URL h ps://doi.o g/10.
1109/TPDS.2015.2510998.
[37] Dan R. K. Po s and Ke in G i ne . Se ializable Snapsho Isola ion in Pos g eSQL.
P oc. VLDB Endow., 5(12):1850–1861, Augus 2012. ISSN 2150-8097. doi: 10.14778/
2367502.2367523. URL h ps://doi.o g/10.14778/2367502.2367523.
49
[38] Masoud Saeida A dekani, Pie e Su a, Ma c Shapi o, and Nuno P eguiça. On he
scalabili y o snapsho isola ion. In Felix Wol , Be nd Moh , and Die e an Mey, edi o s,
Eu o-Pa 2013 Pa allel P ocessing, pages 369–381, Be lin, Heidelbe g, 2013. Sp inge
Be lin Heidelbe g. ISBN 978-3-642-40047-6.
[39] Yai So an, Russell Powe , Ma cos K. Aguile a, and Jinyang Li. T ansac ional s o age
o geo- eplica ed sys ems. In P oceedings o he Twen y-Thi d ACM Symposium on
Ope a ing Sys ems P inciples - SOSP ’11, 2011.
[40] We ne Vogels. E en ually consis en . ACM Queue, 6(6):14–19, Oc obe 2008.
50