Distributed Computing Environments for Lecture Slides | CMSC 433, Study notes of Programming Languages

Material Type: Notes; Professor: Pugh; Class: PROG LANG TECH & PDGMS; Subject: Computer Science; University: University of Maryland; Term: Spring 2001;

Typology: Study notes

Pre 2010

Uploaded on 07/29/2009

koofers-user-tsj
koofers-user-tsj 🇺🇸

8 documents

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
Distributed Computing
CMSC 433, March 27th
2
Is distributing computing
different?
What kinds of distributed computing
environments exist?
Ways in which distributed computing is
different
Addressing objects
Latency
Partial failure
Concurrency
3
Distributed computing
environments
Usually refers to multiple CPU’s
Shared address space or message passing?
On same chip, in same room, or across the
internet?
Latency, failure modes
4
Existing environments
Seti @ Home
Server for search engine
My laptop, PDA, cell phone, MP3 player
and digital camera
5
Types of failure
Machine sleeps
wakes up, recovers state
Machine crash or failure
machine may reboot and rejoin
Network partition
network may heal
6
Uniform view of distributed
objects
Some objects are remote, some are local
Doesn’t really matter to user of object
Objects might transparently migrate
Design doesn’t have to take object
distribution into account
Failure and performance issues don’t belong
in the design
The interface doesn’t change if an object is
remote
pf3

Partial preview of the text

Download Distributed Computing Environments for Lecture Slides | CMSC 433 and more Study notes Programming Languages in PDF only on Docsity!

Distributed Computing

CMSC 433, March 27th

2

Is distributing computing

different?

  • What kinds of distributed computing environments exist?
  • Ways in which distributed computing is different - Addressing objects - Latency - Partial failure - Concurrency

3

Distributed computing

environments

  • Usually refers to multiple CPU’s
  • Shared address space or message passing?
  • On same chip, in same room, or across the internet? - Latency, failure modes

4

Existing environments

  • Seti @ Home
  • Server for search engine
  • My laptop, PDA, cell phone, MP3 player and digital camera

5

Types of failure

  • Machine sleeps
    • wakes up, recovers state
  • Machine crash or failure
    • machine may reboot and rejoin
  • Network partition
    • network may heal

6

Uniform view of distributed

objects

  • Some objects are remote, some are local
    • Doesn’t really matter to user of object
    • Objects might transparently migrate
  • Design doesn’t have to take object distribution into account
  • Failure and performance issues don’t belong in the design
  • The interface doesn’t change if an object is remote

7

Uniform view

  • not appropriate for
    • wide area networks,
    • consumer electronics,
    • portable devices
  • appropriate for some local area networks
    • but robust distributed applications plan for failure
    • even if local

8

Memory access

  • Can we make the fact that an object is remote transparent?
  • Perhaps for objects
    • What about int’s?
    • What about char *’s?
  • If you can’t directly access fields and create pointers to them, - not transparent

9

Partial failure

  • Computers fail
  • OS’s crash
  • Networks fail
  • PDA’s get turned off or taken out of the room
  • Often no warning

10

Queue example

  • Want to add x to remote queue q
    • q.enqueue(x)
  • Operation could fail
  • Want to reliably enqueue x

11

Queue example

  • while (true) { try { q.enque(x); break; } catch (RemoteException e) {} }

12

Partial failure

  • Object was enqueued, but failure occurred during return message
  • Could enqueue x multiple times
  • How to fix?
    • Need a request tag so that duplication enqueue requests can be detected