Optimizing Distributed Read-Only TransactionsUsing Multiversion ConcurrencyDan Ports Austin Clements Irene ZhangTuesday, December 11, 2007Dan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only TransactionsDistributed TransactionsDistributed transactions are usefulfor many applications...but slowDan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only TransactionsDistributed TransactionsDistributed transactions are usefulfor many applications...but slowDan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only TransactionsSystem ArchitectureBlock serverClient libraryCache CacheClient libraryApplication Application· · ·Dan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only TransactionsSystem ArchitectureBlock serverClient libraryCache CacheClient libraryNode NodeDB frontend DB frontendDB client DB client DB client DB clientDan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only TransactionsSystem ArchitectureBlock serverClient libraryCache CacheClient libraryNode NodeFS frontend FS frontendApplication Application Application ApplicationDan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only TransactionsDistributed Transactions Can Be FastLower isolation levels?e.g. READ COMMITTED, snapshot isolation, ...any hope for correctness? sanity?Our solution:weaken causality instead of serializabilityAll operations transactionally consistentRead only transactions may run slightly in pastDan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only TransactionsDistributed Transactions Can Be FastLower isolation levels?e.g. READ COMMITTED, snapshot isolation, ...any hope for correctness? sanity?Our solution:weaken causality instead of serializabilityAll operations transactionally consistentRead only transactions may run slightly in pastDan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only TransactionsProperties1Serializability2-Freshness3r/o transactions do not block or abort4Local CausalityAnomaly: acausalityA read-only transaction may not see the results of atransaction that just committed on another node.Dan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only TransactionsProperties1Serializability2-Freshness3r/o transactions do not block or abort4Local CausalityAnomaly: acausalityA read-only transaction may not see the results of atransaction that just committed on another node.Dan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only TransactionsPerformanceBuilt ext2-like filesystem atop block storeReplayed 20,000 operations over 13 minutesfrom Berkeley NFS server trace116 parallel clientsInferred transactions (open-close)2 second allowable stalenessCompared against standard OCCDan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only TransactionsPerformancePlain OCC Read-Opt. ImprovementNetwork 15.0 MB 11.0 MB 27%Aborts 392 22 94%CPU time 14.5 min. 35 sec. 96%Dan Ports, Austin Clements, Irene Zhang Optimizing Distributed Read-Only
View Full Document