ebook img

Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed ... PDF

198 Pages·2000·0.92 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed ...

Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions by Atul Adya SubmittedtotheDepartmentofElectrical EngineeringandComputerScience inpartial fulfillmentoftherequirementsforthedegreeof DoctorofPhilosophy at the MASSACHUSETTSINSTITUTEOF TECHNOLOGY March1999 c MassachusettsInstituteofTechnology1999. Allrightsreserved. (cid:13) Author ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Department ofElectrical EngineeringandComputerScience March18,1999 Certified by ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Barbara H.Liskov FordProfessorofEngineering ThesisSupervisor Acceptedby :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ArthurC. Smith Chairman,DepartmentalCommitteeonGraduateStudents WeakConsistency: AGeneralized Theory andOptimisticImplementations for Distributed Transactions by AtulAdya SubmittedtotheDepartmentofElectricalEngineeringandComputerScience onMarch18,1999,inpartialfulfillmentofthe requirementsforthedegreeof DoctorofPhilosophy Abstract Current commercial databases allow application programmers to trade off consistency for per- formance. However, existing definitions of weak consistency levels are either imprecise or they disallowefficientimplementationtechniquessuchasoptimism. Rulingoutthesetechniquesis es- pecially unfortunate becausecommercialdatabasessupport optimistic mechanisms. Furthermore, optimism is likely to be the implementation technique of choice in the geographically distributed andmobilesystemsofthefuture. Thisthesispresentsthefirstimplementation-independentspecificationsofexistingANSIisola- tionlevelsandanumberoflevelsthatarewidelyusedincommercialsystems,e.g.,CursorStability, Snapshot Isolation. It also specifies a variety of guarantees for predicate-based operations in an implementation-independentmanner. Two new levels are defined that provide useful consistency guaranteesto application writers; one is the weakestlevel that ensures consistentreads, while the other captures some useful consistency properties provided by pessimistic implementations. We useagraph-basedapproachtodefinedifferentisolationlevelsinasimpleandintuitivemanner. Thethesisdescribesnewimplementationtechniquesforsupportingdifferentweakconsistency levelsindistributedclient-serverenvironments. Themechanismsarebasedonoptimismandmake useofmultiparttimestamps. Anewtechniqueispresentedthatallowsmultiparttimestampstoscale wellwiththenumberofclientsandserversinoursystem;thetechniquetakesadvantageofloosely synchronizedclocksforremovingoldinformationinmultiparttimestamps. This thesis also presents the results of a simulation study to evaluate the performance of our optimisticschemesindata-shippingclient-serversystemsTheresultsshowthatthecostofproviding serializability relative to mechanisms that provide lower consistency guarantees is negligible for low-contention workloads; furthermore, even for workloads with moderate to high-contention workloads,thecostofserializabilityislow. Thesimulationstudyalsoshowsthatourmechanisms basedonmultiparttimestampsimposeverylowCPU,memory,andnetworkcostswhileproviding strongconsistencyguaranteestoread-onlyandexecutingtransactions. ThesisSupervisor: BarbaraH.Liskov Title: FordProfessorofEngineering Acknowledgments I would like to thank my research advisor, Barbara Liskov, for her constant support and counsel during my stay as a graduate student. I have learned many principles on performing good re- search from her, especially about combining theoretical aspects of system design with practical implementations. My thesis committee members made several excellent suggestions for improving the content andpresentationofthiswork. JohnGuttagandJohnChapingavehelpfulsuggestionsforclarifying differentparts ofthis thesis. JimGrayprovidedextremelyusefulfeedbackaboutcurrentdatabase systemsthathelpedmeaddressanumberofimportantissuesfordefiningweakconsistencylevels. A number of people contributed in making my graduate life at MIT an enjoyable experience. IfIamanimprovedcomputerscientistandabetterperson,itisbecauseofthecompanionshipand advice of my friends and colleagues. They have had a positive influence on me and enriched my lifeinmanyways. My colleagues at the Programming Methodology Group provided a stimulating environment for technical discussions. I have learned many interesting aspects of computer systems from my interactions with Andrew Myers and Miguel Castro. My discussions with Phillip Bogle, Chandrasekar Boyapati, Mark Day, Robert Gruber, Sanjay Ghemawat, Umesh Maheshwari, and QuintonZondervanhavealsobeenbeneficialforme. DorothyCurtisandPaulJohnsonhavehelped meonnumerousoccasionswithequipmentandsoftware. KavitaBala,RadhikaNagpal,andevery groupmemberwasalwayswilling toattendmypracticetalksandprovidefeedbackforimproving mypresentations. I will always cherishmy pleasantand light-hearted experienceswith the PM Groupmembers. Ihaveenjoyedplanningmovie-outingsandsolvingpuzzleswithAndrewMyers,talkingaboutStar WarswithJasonHunter,exchanginggood-naturedjabswithArvindParthasarathiandDougWyatt, andhavingnumerousintellectualconversationswithChandrasekarBoyapati,UmeshMaheshwari, QuintonZondervan,andothersinthegroup. PhilBogleandSudhenduRaihavebeenaconstantsourceofencouragementandinspirationfor me. Sudhendu’sadviceonresearchandphilosophyhaveplayedasignificantroleinimprovingmy outlook towards life. Ujjwal Sinha and Ananda Sen Gupta have always been present to help me wheneverIneededsupport. TheywerewonderfulcompanionsandIhavehadfunwatchingmovies, talking, and going out for short trips with them. Aman Rustagi, Sreeram, and SandeepGupta are valuablefriendswhohavealwayswishedwellandIhaveenjoyedthetimethatIspentwiththem. Wordscannotevencomeclosetoexpressingmygratitudetomyparentswhodeservethecredit for whatever positive that I have achieved in my life. They have always supported me in all my endeavorsandhavepatientlywaitedforthecompletionofmydoctorate. Lastbutnottheleast,my wife,Vandana,hasbeenverysupportiveandencouragingwhileIhavebeentryingtofinishupmy thesis. Contents 1 Introduction 11 1.1 WhyWeakConsistencyLevelsareUseful 12 1.2 WhyNewConsistencyDefinitionsareNeed:e:d: : : : : : : : : : : : : : : : : : : 14 1.3 Contributions: SpecifyingDegreesofIsolation: : : : : : : : : : : : : : : : : : : 15 1.3.1 DefinitionsofExistingIsolationLevels : : : : : : : : : : : : : : : : : : 17 1.3.2 NewIsolationLevels : : : : : : : : : : : : : : : : : : 18 1.4 Contributions: NewImplementa:ti:on: T:e:ch:ni:qu:e:s : : : : : : : : : : : : : : : : : : 19 1.5 Contributions: ExperimentalEvaluation : : : : : : : : : : : : : : : : : : 21 1.6 ThesisOutline : : : : : : : : : : : : : : : : : : : : : : 22 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 ExistingDefinitions 24 2.1 DegreesofIsolation 24 2.2 ANSI/ISOSQL-92De:fi:ni:tio:n:s : : : : : : : : : : : : : : : : : : : : : : : : : : : 25 2.3 PreventativePhenomenaApproa:c:h: : : : : : : : : : : : : : : : : : : : : : : : : 26 2.4 AnalysisofPreventativeDefinitions : : : : : : : : : : : : : : : : : : : : : : : : 28 2.4.1 Restrictiveness : : : : : : : : : : : : : : : : : : : : : : : : 29 2.4.2 Optimism : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 29 2.4.3 Multi-versio:n:sc:he:m:e:s : : : : : : : : : : : : : : : : : : : : : : : : : : : 31 2.5 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : 32 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 ProposedSpecificationsforExistingIsolationLevels 33 3.1 SystemModelandTerminology 33 3.1.1 DatabaseModel : : : : : : : : : : : : : : : : : : : : : : : : : : 34 3.1.2 TransactionHistor:ie:s: : : : : : : : : : : : : : : : : : : : : : : : : : : : 35 3.1.3 Predicates : : : : : : : : : : : : : : : : : : : : : : : : : : : 37 3.1.4 Conflictsand: S:e:ria:li:za:ti:on: G:r:ap:hs: : : : : : : : : : : : : : : : : : : : : : 40 3.2 IsolationLevelsforCommittedTransaction:s: : : : : : : : : : : : : : : : : : : : 44 3.2.1 IsolationLevelPL-1 : : : : : : : : : : : : : : : : : : : : 45 3.2.2 IsolationLevelPL-2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 47 3.2.3 IsolationLevelPL-3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 51 3.2.4 IsolationLevelPL-2.9:9: : : : : : : : : : : : : : : : : : : : : : : : : : : 52 3.2.5 SummaryofIsolationLev:el:s: : : : : : : : : : : : : : : : : : : : : : : : 53 3.3 MixingofIsolationLevels : : : : : : : : : : : : : : : : : : : : : : : 54 3.3.1 GuaranteestoTrans:ac:tio:n:s:in:M:ix:e:d:Sy:st:em: s: : : : : : : : : : : : : : : : 54 3.3.2 GuaranteestoSQLStatements : : : : : : : : : : : : : : : 57 3.4 CorrectnessandFlexibilityoftheNewS:p:ec:ifi:c:at:io:ns: : : : : : : : : : : : : : : : 58 3.5 ConsistencyGuaranteesforExecutingTransactions : : : : : : : : : : : : : : : 60 : : : : : : : : : : : : : : : : 7 3.5.1 Motivation 60 3.5.2 IsolationLeve:ls:E:PL:-:1a:n:d:EP:L:-2: : : : : : : : : : : : : : : : : : : : : : 62 3.5.3 IsolationLevelEPL-3 : : : : : : : : : : : : : : : : : : : : : 62 3.6 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : 64 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 SpecificationsforIntermediateIsolationLevels 66 4.1 IsolationLevelPL-2+ 67 4.1.1 Specification : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 68 4.1.2 Relationshipbet:w:ee:n:PL: -:2+: a:n:d:Ba:si:c-:C:on:s:ist:en:c:y: : : : : : : : : : : : 70 4.1.3 Discussion : : : : : : : : : : : : 72 4.2 IsolationLevelPL-2L: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 73 4.2.1 Specification : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 74 4.2.2 ConsistencyGua:ra:n:te:es:fo:r:P:re:di:ca:te:-b:as:ed: R:e:ad:s:at:P:L:-2:L: : : : : : : : 76 4.2.3 Discussion : : : : : : : 76 4.3 SnapshotIsolation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 78 4.3.1 Specification: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 78 4.3.2 Discussion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 82 4.4 ForwardConsistentVi:ew: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 84 4.5 MonotonicSnapshotReads: : : : : : : : : : : : : : : : : : : : : : : : : : : : : 84 4.6 CursorStability : : : : : : : : : : : : : : : : : : : : : : : : : : : : 87 4.7 UpdateSerializabi:lit:y: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 87 4.7.1 DifferentiatingB:e:tw:e:en:L:ev:e:ls:PL: -:2+: a:n:d:PL:-3:U: : : : : : : : : : : : : : 89 4.7.2 DifferentiatingBetweenLevelsPL-3UandPL-3 : : : : : : : : : : : : : 89 4.8 IntermediateDegreesforRunningTransactions : : : : : : : : : : : : : 90 4.9 Summary : : : : : : : : : : : : : : : : : : 91 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 OptimisticImplementationsforClient-ServerSystems 94 5.1 DatabaseEnvironmentandCLOCC 95 5.1.1 SerializabilityforCommitte:d:T:ra:ns:ac:ti:on:s::C:L:OC:C: : : : : : : : : : : : : 96 5.2 MechanismsforIsolationLevelsPL-1andPL-2 : : : : : : : : : : : : 102 5.3 Multistamp-BasedMechanismforPL-2+andEPL: -:2+: : : : : : : : : : : : : : : : 104 5.3.1 OverviewofthePL-2+andEPL-2+Implement:at:io:ns: : : : : : : : : : : : 105 5.3.2 ProcessingattheServer : : : : : : : : : : : 107 5.3.3 ProcessingattheClient : : : : : : : : : : : : : : : : : : : : : : : : : : 109 5.3.4 Validation : : : : : : : : : : : : : : : : : : : : : : : : : : 110 5.3.5 EPL-2+forR: u:n:ni:ng: T:ra:n:sa:ct:io:ns: : : : : : : : : : : : : : : : : : : : : : 112 5.3.6 Truncation : : : : : : : : : : : : : : : : : : : : : 113 5.3.7 OffloadingM: u:lt:ist:am: p: G: e:n:er:ati:on: t:o:C:lie:n:ts: : : : : : : : : : : : : : : : 116 5.4 PL-3UMechanismforRead-onlyTransactions : : : : : : : : : : : : : : : 117 5.4.1 Read-onlyParticipantOptimizationforP:L-:3U: :Im:p:le:m:en:ta:ti:on: : : : : : : 119 5.4.2 ProvidingEPL-3UandEPL-3toRunningTransactions : : : : : : 121 5.4.3 RequirementsonConcurrencyControlImplementations: : : : : : : : : : 122 5.5 Relatedwork : : : : : : : : : 122 5.5.1 Optim:ist:ic:S:ch:e:m:es: : : : : : : : : : : : : : : : : : : : : : : : : : : : : 122 5.5.2 PL-2+Mechanismsan:d:C:au:sa:li:ty: : : : : : : : : : : : : : : : : : : : : : 124 5.5.3 OrphanDetectionMechanisms : : : : : : : : : : : : : : : : : : : : : 124 5.5.4 Read-onlyTransactions : : : : : : : : : : : : : : : : : : : : : : 125 5.6 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : 126 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 6 ExperimentalFramework 127 6.1 SystemModel 129 6.1.1 Database: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 129 6.1.2 Client-Serve:rC: o:n:ne:ct:io:ns: : : : : : : : : : : : : : : : : : : : : : : : : : 130 6.1.3 ClientandServer : : : : : : : : : : : : : : : : : : : : : : : : : 132 6.1.4 Disk : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 133 6.1.5 Netwo:rk: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 133 6.1.6 Multistam:ps:a:nd:O:th:e:rP:a:ra:m:et:er:s: : : : : : : : : : : : : : : : : : : : : 134 6.1.7 CPUProcessingOverheads : : : : : : : : : : : : : : : : : : : : : 134 6.2 Workloads : : : : : : : : : : : : : : : : : : : : : : : : 135 6.2.1 Tran:sa:ct:io:n:G:en:er:at:io:n: : : : : : : : : : : : : : : : : : : : : : : : : : : 136 6.2.2 WorkloadDescriptions : : : : : : : : : : : : : : : : : : : : : : : : : : 139 : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 PerformanceResults 142 7.1 InteractionofIsolationSchemesforDifferentTypesofTransactions 143 7.2 ASimpleModelforComparingIsolationImplementations : : : : : : : 144 7.3 CostofSerializability : : : : : : : : : : : : 147 7.3.1 BasicResults : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 148 7.3.2 SensitivityAnal:ys:is: : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152 7.3.3 CostofPL-2+forUpd:a:te:T:ra:ns:ac:ti:on:s: : : : : : : : : : : : : : : : : : : 159 7.4 CostofIntermediateIsolationLevels : : : : : : : : : : : : : : : : : : 159 7.4.1 OverheadsofPL-2+andEPL-2:+: : : : : : : : : : : : : : : : : : : : : : 159 7.4.2 OverheadsofPL-3U,EPL-3UandE:P:L:-3: : : : : : : : : : : : : : : : : : 162 7.4.3 ComparingPL-2LwithPL-2andPL-2+ : : : : : : : : : : : : : : : : : 163 7.5 StallRateAnalysis: CostofMultistamps : : : : : : : : : : : : : : : : : : 164 7.5.1 ConsistencyStallsandContention : : : : : : : : : : : : : : : : : : : : : 165 7.5.2 EPL-2+StallRate : : : : : : : : : : : : : : : : : : : : : 166 7.5.3 StallRateComparis:on: f:or:E:P:L-:2+:,:E:PL:-:3U: a:n:d:EP:L:-3: : : : : : : : : : : 167 7.5.4 SizeofMultistamps : : : : : : : : : : 167 7.5.5 IncreasingMulti-serve:r:Tr:an:s:ac:tio:n:s: : : : : : : : : : : : : : : : : : : : 168 7.5.6 Scalability : : : : : : : : : : : : : : : : : : : 170 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 Conclusions 173 8.1 IsolationLevelSpecifications 174 8.2 WeakConsistencyMechanisms: : : : : : : : : : : : : : : : : : : : : : : : : : : 175 8.3 ExperimentalEvaluation : : : : : : : : : : : : : : : : : : : : : : : : : : 176 8.4 FutureWork : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 178 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : A SpecificationsofIntermediateLevelsforExecutingTransactions 181 B OptimisticMechanismsforPL-2L,CausalityandPL-3 185 B.1 OptimisticSchemesforLevelsPL-2LandEPL-2L 185 B.2 CausalityGuarantees : : : : : : : : : : : : : : : : 185 B.3 EfficientSerializability: f:or: R:e:ad:-o:n:ly:T:ra:ns:ac:ti:on:s: : : : : : : : : : : : : : : : : 190 : : : : : : : : : : : : : : : : 9

Description:
I have enjoyed planning movie-outings and solving puzzles with Andrew Myers and having numerous intellectual conversations with Chandrasekar Boyapati, Umesh Maheshwari, Aman Rustagi, Sreeram, and Sandeep Gupta are .. A Specifications of Intermediate Levels for Executing Transactions.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.