On#the#Fault+tolerance#and#High# Performance#of#Replicated#Transactional# Systems Dr.#Sachin Hirve Virginia#Tech 10 th September#2015
Distributed#Operations • In#today’s#world#distributed#operations#are#ubiquitous# • Example#+ 2 Image sources: rikbasra.com, database.bio, iconsplace.com, iconfinder.com, guillaumekurkdjian.com, mytay.mobi, prepareyourgroundzero.com, iconshut.com
What#are#Distributed#Operations? • A#logical#unit#of#work#that#accesses#shared#data#involving#two# or#more#servers#on#the#network • Servers#coordinate#to#service#client#requests#while#ensuring# consistency#of#data • Properties#:#Atomicity,#Consistency,#Isolation,#Durability • Example#+ tx_start: x = x -10; y = 20; tx_end 3 Image sources: rikbasra.com, database.bio, iconsplace.com
Distributed#Operations • Desired#properties – Fault+tolerance – High#resiliency – Failure#masking • State#Machine#Replication#(SMR)# [Schneider,# 93] is#a#general# approach#to#achieve#these#dependability#properties. 4
System#Model • A#distributed#system#consists#of# N nodes# ! " , ! $ ,… ,! & ,#also# called#servers/replicas • For# f number#of#faults,#system#size# N"="2 f +1" [Lamport,#98] • Data#is#replicated#on#all#nodes • Only#replica#crash#(non+byzantine)#faults#are#considered • Clients#may#or#may#not#be#co+located#with#replicas • Commands#are#client#requests,#that#includes#operations#on# shared#data 5
State#Machine#Replication#(SMR) • SMR#implements#fault+tolerant#services#by#replicating#servers# and#coordinating# client#interactions#with#servers • State#machine#consists#of – State%variables that#encode#the# state% of#the#system – Commands#that#transform#this# state • Building#blocks – Ordering#layer – Execution# layer 6
State#Machine#Replication#(SMR) R+1 R+2 R+3 Ordering"Layer Req+1 Req+1 Req+1 Req+1 Network Network Req+3 Req+3 Req+3 Req+2 Req+2 Req+2 Req+2 Req+3 Execution"Layer 7
State#Machine#Replication#(SMR) R+1 R+2 R+3 Ordering"Layer Req+1 Req+1 Req+1 Req+1 Network Network Req+3 Req+3 Req+3 Req+2 Req+2 Req+2 Req+2 Req+3 Execution"Layer Req+1 Req+1 Req+1 Req+3 Req+3 Req+3 Req+2 Req+2 Req+2 8
How#SMR#meets#dependability#properties? • Properties#of#SMR – Consistent#state – High#availability – Failure#masking 9
SMR#– Ordering#layer • Total#order – Replicas#define#order#of#requests#“blindly”,#without#looking#at#conflicts – Generally#request#are#serially#executed – Examples#– Paxos [Lamport,#98] ,#Mencius#(baseline)# [Mao,#08] • Partial#Order – Order#is#defined#among#conflicting#requests – Better#possible#concurrency#for#request#execution – Examples#– Generalized# Paxos [Lamport,#05] ,#Epaxos [Moraru,#13] 10
SMR#– Execution#layer • Deferred#Update#Replication#(DUR) – Requests# are#executed# optimistically#prior#to#order#finalization#and#at# final#order,#they#are#validated#and#committed – High#concurrency#and#performance# for#rare#conflicts#among#requests – Fails#to#exploit#concurrency#in#high#conflict#scenarios • Deferred#Execution#Replication#(DER) – Requests# are#executed# after#the#order#is#finalized – Requests# are#executed# post#final+order,# therefore# conflicts#do#not#lead# to#aborts – Fails#to#benefit#from#concurrency 11
Research#Contributions Ordering"Layer Execution"Layer Light+weight# Speculation commit Total#order Concurrent# Partial#order Multi+version# processing Objects Optimistic+ Rule#based# Deferred# Lock+free# Delivery routing Update execution 12
Research#Contributions Ordering"Layer Execution"Layer Light+weight# Light+weight# Speculation Speculation commit commit Total#order Multi+version# Concurrent# Concurrent# Partial#order Multi+version# Total#order Objects processing processing Objects Optimistic+ Rule#based# Optimistic+ Deferred# Lock+free# Delivery routing Delivery Update execution HiperTM:#High#Performance#Fault+Tolerant# Transactional#Memory [ICDCN#2013] 13
Research#Contributions Ordering"Layer Execution"Layer Light+weight# Light+weight# Speculation Speculation commit commit Total#order Concurrent# Concurrent# Total#order Partial#order Multi+version# Multi+version# processing processing Objects Objects Optimistic+ Optimistic+ Rule#based# Deferred# Lock+free# Delivery Delivery routing Update execution Archie:#A#Speculative#Replicated#Transactional#System [Middleware#2014] 14
Research#Contributions Ordering"Layer Execution"Layer Light+weight# Light+weight# Speculation Speculation commit commit Total#order Total#order Partial#order Concurrent# Concurrent# Multi+version# Multi+version# processing processing Objects Objects Optimistic+ Optimistic+ Rule#based# Deferred# Deferred# Lock+free# Delivery Delivery routing Update Update execution Speculative#Client#Execution# in#Deferred#Update#Replication [MW4NG#2014] 15
Research#Contributions Ordering"Layer Execution"Layer Light+weight# Light+weight# Speculation Speculation commit commit Total#order Total#order Partial#order Partial#order Concurrent# Concurrent# Multi+version# Multi+version# processing processing Objects Objects Optimistic+ Optimistic+ Rule#based# Deferred# Lock+free# Lock+free# Delivery Delivery routing Update execution execution Regulating#Consensus#under#the#Authority#of#Caesar To#be#submitted#to#[Eurosys2016] 16
Research#Contributions Ordering"Layer Execution"Layer Light+weight# Light+weight# Speculation Speculation commit commit Total#order Total#order Partial#order Concurrent# Concurrent# Multi+version# Multi+version# processing processing Objects Objects Optimistic+ Optimistic+ Rule#based# Rule#based# Deferred# Lock+free# Lock+free# Delivery Delivery routing routing Update execution execution Scaling#up#Active#Replication#using#Staleness Submitted#to#[TPDS] 17
Research#Contributions • What#is#so#special#about#this#set#of#contributions? – These#systems#are#composed#of#plugins – Plugins#are#not#specific#to#a#single#system#or#problem – Can#be#mix+matched# to#create#another#system#solving#different# problem 18
Portability#of#Contributions#– Example1 Ordering"Layer Execution"Layer Light+weight# Light+weight# Speculation Speculation commit commit Total#order Concurrent# Concurrent# Total#order Partial#order Multi+version# Multi+version# processing processing Objects Objects Optimistic+ Optimistic+ Rule#based# Rule#based# Deferred# Deferred# Lock+free# Delivery Delivery routing routing Update Update execution Speculation Deferred# Total#order Update Speculative#Client#Execution#in#Deferred#Update#Replication Speculative#Client#Execution#in#Deferred#Update#Replication#with#partial#order MW4NG#2014 19
Portability#of#Contributions#– Example2 Ordering"Layer Execution"Layer Light+weight# Light+weight# Speculation Speculation commit commit Total#order Total#order Partial#order Concurrent# Concurrent# Multi+version# Multi+version# processing processing Objects Objects Optimistic+ Optimistic+ Rule#based# Rule#based# Deferred# Lock+free# Lock+free# Delivery Delivery routing routing Update execution execution Lock+free# execution Concurrent# Partial#order processing Regulating#Consensus#under#the#Authority#of#Caesar Optimizing#query#performance#under#the#Authority#of#Caesar To#be#submitted#to#Eurosys 2016 20
Post+Prelim#Contributions • Speculative#Client#Execution#in#Deferred#Update#Replication – ACM/IFIP/USENIX#15 th Middleware#Workshop#for#Next#Generation#Computing# (MW4NG#14) • Regulating#Consensus#under#the#Authority#of#Caesar – To#be#submitted#to#EuroSys 16 21
Post+Prelim#Contributions • Speculative#Client#Execution#in#Deferred#Update#Replication – ACM/IFIP/USENIX#15 th Middleware#Workshop#for#Next#Generation#Computing# (MW4NG#14) • Regulating#Consensus#under#the#Authority#of#Caesar – To#be#submitted#to#EuroSys 16 22
Deferred#Update#Replication#+ Definitions • Optimistic#execution – A#transaction#execute# assuming#all#objects#accessed# by#it#are#up+to+ date#and#no#other#concurrent# transaction#accesses#those#objects • Readset – Collection#of#objects#and#versions#that#are#read#by#transaction • Writeset – Collection#of#objects#that#are#updated#by#transaction • Validation – Verifying#the#validity#of#objects#at#commit#time#that#were#read#earlier# during#optimistic#execution • Commit – Updating#the#main#memory#with#object#updates#by#the#current# transaction 23
Deferred#Update#Replication • Execution#model# – Requests# are#executed# optimistically# – Transaction#updates#go#through#certification#phase#before#they#can#be# committed R+3 R+1 R+2 Ordering"Layer Network Network Execution"Layer Tx+4 Tx+3 Tx+2:# Tx+3:# Tx+4: Tx+1: Tx+2 R(X),#W(Y) W(X) W(Y) W(X) Tx+1 24
Deferred#Update#Replication • A#transaction#execution#model# – Requests# are#executed# optimistically# – Transaction#updates#go#through#certification#phase#before#they#can#be# committed R+3 R+1 R+2 Ordering"Layer Network Network Execution"Layer Tx+4 Tx+3 Tx+2:# Tx+3:# Tx+4: Tx+1: Tx+2 R(X),#W(Y) W(X) W(Y) W(X) Tx+1 25
Recommend
More recommend