Mobility in Distributed Computing
description
Transcript of Mobility in Distributed Computing
![Page 1: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/1.jpg)
Mobility in Distributed Mobility in Distributed ComputingComputing
With Special Emphasis on With Special Emphasis on Data MobilityData Mobility
![Page 2: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/2.jpg)
Computing CultureComputing Culture
CultureCulture - The predominating - The predominating attitudes and behavior that attitudes and behavior that characterize the characterize the functioningfunctioning of a of a group or organization.group or organization.11
Computing Culture MUST align Computing Culture MUST align with social culture to be effectivewith social culture to be effective
![Page 3: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/3.jpg)
Culture and MobilityCulture and Mobility
““People want to be together; but at People want to be together; but at the same time they want the the same time they want the opportunity for some small opportunity for some small amount of privacy, without giving amount of privacy, without giving up community”up community”22
![Page 4: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/4.jpg)
What is Mobility?What is Mobility?
1.1. Access to shared resources through Access to shared resources through multiple “hard points”multiple “hard points”
2.2. Access to shared resources through Access to shared resources through dynamic “soft points”dynamic “soft points”
3.3. Ability to easily move in and out of a Ability to easily move in and out of a networknetwork
4.4. Access to computing resources Access to computing resources regardless of physical locationregardless of physical location
![Page 5: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/5.jpg)
Mobility “through the ages” Mobility “through the ages” (1945-1990)(1945-1990)
ENIACENIACComputer Time Sharing SystemComputer Time Sharing SystemARPANETARPANETPC’sPC’sLaptopsLaptopsEthernetEthernet
![Page 6: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/6.jpg)
Contemporary MobilityContemporary Mobility(1990 – Present)(1990 – Present)
DataData– Example: FilesExample: Files
ComputingComputing– Example: Specialized ProcessingExample: Specialized Processing
CodeCode– Example: Downloadable GUIExample: Downloadable GUI
![Page 7: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/7.jpg)
Presentation EmphasisPresentation Emphasis
Mobility Mobility of of DataDataTwo ExamplesTwo Examples– Coda Coda File SystemFile System– BayouBayou Anti-Entropy Protocol Anti-Entropy Protocol
![Page 8: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/8.jpg)
Challenges of Data MobilityChallenges of Data Mobility
Designing the following characteristics of Designing the following characteristics of data mobility is not trivial:data mobility is not trivial:– Outside AvailabilityOutside Availability– Outside SemanticsOutside Semantics– ConsistencyConsistency– ConcurrencyConcurrency
Even different systems may have different Even different systems may have different mobility goals (For example….)mobility goals (For example….)
![Page 9: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/9.jpg)
Goal ComparisonGoal Comparison
Transparency (looks Transparency (looks like UNIX)like UNIX)ScalabilityScalability– Push Functionality to Push Functionality to
ClientsClients– Avoid System-wide Avoid System-wide
Rapid ChangeRapid Change
Balance Availability Balance Availability and Consistencyand Consistency
Support for devices Support for devices w/ limited resourcesw/ limited resourcesHigh AvailabilityHigh AvailabilityApplication-specific Application-specific resolution of conflictsresolution of conflictsApplication Application awareness of awareness of underlying system underlying system (NOT transparent)(NOT transparent)
Coda Bayou
![Page 10: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/10.jpg)
General ComparisonGeneral Comparison
Coda supports Coda supports disconnected disconnected operations on operations on “cached” versions of “cached” versions of shared filesshared filesUpon reconnection, Upon reconnection, clients and servers clients and servers “synch” their file “synch” their file variants.variants.
The Bayou AEP The Bayou AEP allows updates to allows updates to propagate between propagate between participants sharing participants sharing replicasreplicasWrite operations are Write operations are stored and stored and propagated pair-wise propagated pair-wise (even possibly (even possibly between clients*)between clients*)
Coda Bayou
![Page 11: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/11.jpg)
Critical Common ConcernCritical Common Concern
Optimistic Optimistic vrs vrs PessimisticPessimistic Replication Replication– Pessimistic avoids conflicts by restrictionPessimistic avoids conflicts by restriction– Optimistic detects and resolves conflicts if, Optimistic detects and resolves conflicts if,
and when, necessaryand when, necessary
It should be noted that It should be noted that data mobility all data mobility all but requires optimistic replicationbut requires optimistic replication
![Page 12: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/12.jpg)
Coda Disconnected OperationCoda Disconnected Operation(simplified view)(simplified view)
* User explicitly specifies files he/she wants available offline
* Coda makes a best-effort attempt to keep those files in cache
* On disconnect, user can access files in cache normally
* On reconnect, client and server update one another and resolve any conflicts (write-write only)
![Page 13: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/13.jpg)
And Now, For Something And Now, For Something Completely Different…Completely Different…
The The Bayou Anti-Entropy ProtocolBayou Anti-Entropy Protocol attempts attempts to solve a more complex problemto solve a more complex problemNot accidentally, the Bayou AEP is also Not accidentally, the Bayou AEP is also more complex than Codamore complex than CodaIt doesn’t help that the paper “Flexible It doesn’t help that the paper “Flexible Update Propagation for Weakly Consistent Update Propagation for Weakly Consistent Replication” is hard to understandReplication” is hard to understand
![Page 14: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/14.jpg)
Helpful Bayou Papers Helpful Bayou Papers http://www2.parc.com/csl/projects/bayou/http://www2.parc.com/csl/projects/bayou/
The Bayou Architecture: Support for Data The Bayou Architecture: Support for Data Sharing among Mobile UsersSharing among Mobile UsersManaging Update Conflicts in Bayou, a Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage Weakly Connected Replicated Storage SystemSystemDealing with Tentative Data Values in Dealing with Tentative Data Values in Disconnected Work GroupsDisconnected Work Groups
![Page 15: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/15.jpg)
Let’s Start at the Very BeginningLet’s Start at the Very Beginning
Bayou is designed to run in a mobile Bayou is designed to run in a mobile computing environment computing environment with less than with less than ideal network connectivityideal network connectivity
Bayou assumes that mobile users want to Bayou assumes that mobile users want to share their data share their data despite intermittent despite intermittent network connectivitynetwork connectivity
![Page 16: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/16.jpg)
Supporting Devices with Limited Supporting Devices with Limited ResourcesResources
ServersServers storestore data (replicas) in data (replicas) in databasedatabaseClientsClients read/write read/write datadata
PDA are generally PDA are generally only clientsonly clients
Laptops oftenLaptops oftenoperate in both rolesoperate in both roles
![Page 17: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/17.jpg)
Achieving High Availability with Achieving High Availability with Significant ConcurrencySignificant Concurrency
Any user can Any user can read fromread from or or write towrite to anyany copy of the “database”copy of the “database”Because Bayou assumes that partitions Because Bayou assumes that partitions can and do happen, can and do happen, it offers no it offers no guarantee of timeliness of write guarantee of timeliness of write propagationpropagationThis means that replicated databases are This means that replicated databases are only only weakly consistentweakly consistent
![Page 18: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/18.jpg)
What is a “write”?What is a “write”?
WriteWrite
MergeMergeProc.Proc.UpdatesUpdates DependencyDependency
CheckCheck
<timestamp, s_id><timestamp, s_id>
![Page 19: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/19.jpg)
What is the Database?What is the Database?
DD00 = Null = Null
DD11 = W = W11(D(D00))
DD2 2 = W= W22(D(D11))
::DDnn = W = Wnn(D(Dn-1n-1))
Where DWhere Dii represents the data after represents the data after
Applying write WApplying write W00 – W – Wii in order in order
![Page 20: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/20.jpg)
Getting the Right Write PropagationGetting the Right Write Propagation
<95, 2><95, 2> <92, 1><92, 1>
<100,2><100,2>
<92, 1><92, 1>
<96, 3><96, 3><95, 2><95, 2>
<96, 3><96, 3>
<100,2><100,2>
<100,2><100,2>
<96, 3><96, 3>
![Page 21: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/21.jpg)
A Few Notes…A Few Notes…
The only requirement for timestamps is The only requirement for timestamps is that they be monotonically increasing at that they be monotonically increasing at each servereach serverIf timestamps are based on rt-clocks, If timestamps are based on rt-clocks, keeping server’s clocks close is bestkeeping server’s clocks close is bestBayou servers maintain a logical clocks to Bayou servers maintain a logical clocks to timestamp new writes (initially synched timestamp new writes (initially synched with rt-clock, then updated during AEP)with rt-clock, then updated during AEP)
![Page 22: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/22.jpg)
Stabilizing AEPStabilizing AEP
A write is A write is stablestable when it’s order will never when it’s order will never changechangeBayou uses “primary commit protocol”Bayou uses “primary commit protocol”““Primary” server commits a writePrimary” server commits a writeTentative writes always come after Tentative writes always come after committed writescommitted writesNOTE:NOTE: This is somewhat arbitrary This is somewhat arbitrary
![Page 23: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/23.jpg)
Bayou’s Propagation of Committed Bayou’s Propagation of Committed WritesWrites
Since committed writes are totally ordered Since committed writes are totally ordered by their CSNs, the highest CSN by their CSNs, the highest CSN represents the committed portion of the represents the committed portion of the write-logwrite-logIn an update, committed writes are In an update, committed writes are transmitted (or a commitment notice sent) transmitted (or a commitment notice sent) before uncommitted writesbefore uncommitted writes
![Page 24: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/24.jpg)
Stabilizing ImagesStabilizing ImagesPrimaryPrimary
SecondarySecondary
SecondarySecondary
SecondarySecondary
![Page 25: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/25.jpg)
More Bayou “Light Reading”More Bayou “Light Reading”
Session GuaranteesSession GuaranteesTransportable Media ModificationsTransportable Media ModificationsWrite Log TruncationWrite Log TruncationServer creation/retirementServer creation/retirement
![Page 26: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/26.jpg)
But…But…
Throughout our discussion of Bayou, Throughout our discussion of Bayou, we’ve covered conflict resolution only we’ve covered conflict resolution only lightlylightlyHow does Bayou conflict resolution work?How does Bayou conflict resolution work?How does it compare to Coda conflict How does it compare to Coda conflict resolution?resolution?
![Page 27: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/27.jpg)
Conflict ResolutionConflict Resolution
In Coda, conflicts are In Coda, conflicts are assumed to be small. assumed to be small. When they occur, the When they occur, the user is expected to user is expected to resolve the conflict resolve the conflict (once).(once).
In Bayou, each write is In Bayou, each write is assumed to have its assumed to have its own conflict resolution own conflict resolution suite (the dependency suite (the dependency check and merge check and merge procedure)procedure)
![Page 28: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/28.jpg)
Now Wait a Minute…Now Wait a Minute…
““one crucial assumption is that reordering of one crucial assumption is that reordering of concurrent updates, either conflicting or non-concurrent updates, either conflicting or non-conflicting, will result in the same updates to the conflicting, will result in the same updates to the database. This mandates ‘perfect’ conflict-database. This mandates ‘perfect’ conflict-resolving methods, which seems hard to find for resolving methods, which seems hard to find for a lot of applications.”a lot of applications.”33
![Page 29: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/29.jpg)
Unanswered QuestionsUnanswered Questions
Do these solutions solve the “real” Do these solutions solve the “real” problem? Or, are they solutions looking for problem? Or, are they solutions looking for a problem? Would a problem? Would YOUYOU use either one? use either one?Do they solve problems best left to Do they solve problems best left to applications? (The end-to-end question)applications? (The end-to-end question)
![Page 30: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/30.jpg)
Beyond Data MobilityBeyond Data Mobility
““Agile Application-Aware Adaptation for Agile Application-Aware Adaptation for Mobility”, Satyanarayanan, et alMobility”, Satyanarayanan, et al““Rover: A Toolkit for Mobile Information Rover: A Toolkit for Mobile Information Access”, Joseph, et alAccess”, Joseph, et al
![Page 31: Mobility in Distributed Computing](https://reader035.fdocuments.in/reader035/viewer/2022070423/568167a1550346895ddced45/html5/thumbnails/31.jpg)
ReferencesReferences
1.1. http://www.dictionary.comhttp://www.dictionary.com2.2. C. Alexander, “A Pattern Language”, C. Alexander, “A Pattern Language”,
Oxford University Press, New York, NY, Oxford University Press, New York, NY, 1977, page 8311977, page 831
3.3. http://www.cs.berkeley.edu/~zf/cs262b/bhttp://www.cs.berkeley.edu/~zf/cs262b/bayou.htmayou.htm