Mobility in distributed computing
Download
1 / 31

Mobility in Distributed Computing - PowerPoint PPT Presentation


  • 62 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Mobility in Distributed Computing' - lorie


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Mobility in distributed computing

Mobility in Distributed Computing

With Special Emphasis on Data Mobility


Computing culture
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


Culture and mobility
Culture and Mobility

“People want to be together; but at the same time they want the opportunity for some small amount of privacy, without giving up community”2


What is mobility
What is Mobility?

  • Access to shared resources through multiple “hard points”

  • Access to shared resources through dynamic “soft points”

  • Ability to easily move in and out of a network

  • Access to computing resources regardless of physical location


Mobility through the ages 1945 1990
Mobility “through the ages” (1945-1990)

  • ENIAC

  • Computer Time Sharing System

  • ARPANET

  • PC’s

  • Laptops

  • Ethernet


Contemporary mobility 1990 present
Contemporary Mobility(1990 – Present)

  • Data

    • Example: Files

  • Computing

    • Example: Specialized Processing

  • Code

    • Example: Downloadable GUI


Presentation emphasis
Presentation Emphasis

  • Mobility of Data

  • Two Examples

    • Coda File System

    • Bayou Anti-Entropy Protocol


Challenges of data mobility
Challenges of Data Mobility

  • Designing the following characteristics of data mobility is not trivial:

    • Outside Availability

    • Outside Semantics

    • Consistency

    • Concurrency

  • Even different systems may have different mobility goals (For example….)


Goal comparison

Transparency (looks like UNIX)

Scalability

Push Functionality to Clients

Avoid System-wide Rapid Change

Balance Availability and Consistency

Support for devices w/ limited resources

High Availability

Application-specific resolution of conflicts

Application awareness of underlying system (NOT transparent)

Goal Comparison

Coda

Bayou


General comparison

Coda supports disconnected operations on “cached” versions of shared files

Upon reconnection, clients and servers “synch” their file variants.

The Bayou AEP allows updates to propagate between participants sharing replicas

Write operations are stored and propagated pair-wise (even possibly between clients*)

General Comparison

Coda

Bayou


Critical common concern
Critical Common Concern versions of shared files

  • Optimistic vrs Pessimistic Replication

    • Pessimistic avoids conflicts by restriction

    • Optimistic detects and resolves conflicts if, and when, necessary

  • It should be noted that data mobility all but requires optimistic replication


Coda disconnected operation simplified view
Coda Disconnected Operation versions of shared files(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)


And now for something completely different
And Now, For Something Completely Different… versions of shared files

  • The Bayou Anti-Entropy Protocol attempts to solve a more complex problem

  • Not accidentally, the Bayou AEP is also more complex than Coda

  • It doesn’t help that the paper “Flexible Update Propagation for Weakly Consistent Replication” is hard to understand


Helpful bayou papers http www2 parc com csl projects bayou
Helpful Bayou Papers versions of shared fileshttp://www2.parc.com/csl/projects/bayou/

  • The Bayou Architecture: Support for Data Sharing among Mobile Users

  • Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System

  • Dealing with Tentative Data Values in Disconnected Work Groups


Let s start at the very beginning
Let’s Start at the Very Beginning versions of shared files

  • Bayou is designed to run in a mobile computing environment with less than ideal network connectivity

  • Bayou assumes that mobile users want to share their data despite intermittent network connectivity


Supporting devices with limited resources
Supporting Devices with Limited Resources versions of shared files

Serversstore data (replicas) in database

Clientsread/write data

PDA are generally

only clients

Laptops often

operate in both roles


Achieving high availability with significant concurrency
Achieving High Availability with Significant Concurrency versions of shared files

  • Any user can read from or write toany copy of the “database”

  • Because Bayou assumes that partitions can and do happen, it offers no guarantee of timeliness of write propagation

  • This means that replicated databases are only weakly consistent


What is a write
What is a “write”? versions of shared files

Write

<timestamp, s_id>

Merge

Proc.

Dependency

Check

Updates


What is the database
What is the Database? versions of shared files

D0 = Null

D1 = W1(D0)

D2 = W2(D1)

:

Dn = Wn(Dn-1)

Where Di represents the data after

Applying write W0 – Wi in order


Getting the right write propagation
Getting the Right Write Propagation versions of shared files

<96, 3>

<100,2>

<92, 1>

<92, 1>

<95, 2>

<95, 2>

<96, 3>

<100,2>

<100,2>

<96, 3>


A few notes
A Few Notes… versions of shared files

  • The only requirement for timestamps is that they be monotonically increasing at each server

  • If timestamps are based on rt-clocks, keeping server’s clocks close is best

  • Bayou servers maintain a logical clocks to timestamp new writes (initially synched with rt-clock, then updated during AEP)


Stabilizing aep
Stabilizing AEP versions of shared files

  • A write is stable when it’s order will never change

  • Bayou uses “primary commit protocol”

  • “Primary” server commits a write

  • Tentative writes always come after committed writes

  • NOTE: This is somewhat arbitrary


Bayou s propagation of committed writes
Bayou’s Propagation of Committed Writes versions of shared files

  • Since committed writes are totally ordered by their CSNs, the highest CSN represents the committed portion of the write-log

  • In an update, committed writes are transmitted (or a commitment notice sent) before uncommitted writes


Stabilizing images
Stabilizing Images versions of shared files

Primary

Secondary

Secondary

Secondary


More bayou light reading
More Bayou “Light Reading” versions of shared files

  • Session Guarantees

  • Transportable Media Modifications

  • Write Log Truncation

  • Server creation/retirement


But… versions of shared files

  • Throughout our discussion of Bayou, we’ve covered conflict resolution only lightly

  • How does Bayou conflict resolution work?

  • How does it compare to Coda conflict resolution?


Conflict resolution

In Coda, conflicts are assumed to be small. When they occur, the user is expected to resolve the conflict (once).

In Bayou, each write is assumed to have its own conflict resolution suite (the dependency check and merge procedure)

Conflict Resolution


Now wait a minute
Now Wait a Minute… the user is expected to resolve the conflict (once).

“one crucial assumption is that reordering of concurrent updates, either conflicting or non-conflicting, will result in the same updates to the database. This mandates ‘perfect’ conflict-resolving methods, which seems hard to find for a lot of applications.”3


Unanswered questions
Unanswered Questions the user is expected to resolve the conflict (once).

  • Do these solutions solve the “real” problem? Or, are they solutions looking for a problem? Would YOU use either one?

  • Do they solve problems best left to applications? (The end-to-end question)


Beyond data mobility
Beyond Data Mobility the user is expected to resolve the conflict (once).

  • “Agile Application-Aware Adaptation for Mobility”, Satyanarayanan, et al

  • “Rover: A Toolkit for Mobile Information Access”, Joseph, et al


References
References the user is expected to resolve the conflict (once).

  • http://www.dictionary.com

  • C. Alexander, “A Pattern Language”, Oxford University Press, New York, NY, 1977, page 831

  • http://www.cs.berkeley.edu/~zf/cs262b/bayou.htm


ad