31
Mobility in Mobility in Distributed Computing Distributed Computing With Special Emphasis on With Special Emphasis on Data Mobility Data Mobility

Mobility in Distributed Computing

  • Upload
    lorie

  • View
    18

  • Download
    1

Embed Size (px)

DESCRIPTION

Mobility in Distributed Computing. With Special Emphasis on Data Mobility. Computing Culture. Culture - The predominating attitudes and behavior that characterize the functioning of a group or organization. 1 Computing Culture MUST align with social culture to be effective. - PowerPoint PPT Presentation

Citation preview

Page 1: Mobility in Distributed Computing

Mobility in Distributed Mobility in Distributed ComputingComputing

With Special Emphasis on With Special Emphasis on Data MobilityData Mobility

Page 2: Mobility in Distributed Computing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Stabilizing ImagesStabilizing ImagesPrimaryPrimary

SecondarySecondary

SecondarySecondary

SecondarySecondary

Page 25: Mobility in Distributed Computing

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

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

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

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

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

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

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