Overview - PowerPoint PPT Presentation

About This Presentation
Title:

Overview

Description:

wait (unblocked); blocked_procs = blocked_procs 1; else. count = count 1; ... Like yellow pages or URL. Persistence. For example, a distributed file system ... – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 55
Provided by: Tjad
Learn more at: http://www.cs.sjsu.edu
Category:

less

Transcript and Presenter's Notes

Title: Overview


1
Introduction
  • Chapter 1

2
Examples of Distributed Systems
  • DNS
  • Hierarchical distributed database
  • WWW
  • Origin servers and web caches
  • Distributed database
  • Cray T3E
  • 2048 tightly coupled homogeneous processors
  • Distributed/parallel computing
  • Condor/RES
  • Loosely coupled heterogeneous workstations
  • Parallel/distributed computing

3
Other Distributed Systems
  • Email
  • Electronic banking
  • Airline reservation system
  • Peer-to-peer networks
  • Etc., etc., etc.

4
Computer Revolution
  • Processing power
  • 50 years ago, 100M for 1 instr/sec
  • Today, 1K for 107 instructions/sec
  • Price/perform. improvement of 1012
  • If cars had followed same path as computers
  • a Rolls Royce would now cost 1 dollar and get a
    billion miles per gallon
  • And it would explode once a year, killing
    everyone inside

5
Computer Revolution
  • High speed networks
  • 30 years ago, networks were unknown
  • Today, Gigabit networks and the Internet
  • Before networks, centralized systems
  • Today, distributed systems
  • Computers in many locations work as one

6
What is a Distributed System?
  • According to your textbook
  • A collection of independent computers that
    appears to its users as a single coherent system
  • Two parts to definition
  • Hardware ? machines are autonomous
  • Software ? machines appear as one system
  • Implies that communication hidden from user
  • Implies that organization hidden from user

7
What is a Distributed System?
  • According to dict.die.net
  • A collection of (probably heterogeneous) automata
    whose distribution is transparent to the user so
    that the system appears as one local machine
  • This is in contrast to a network, where the user
    is aware that there are several machines, and
    their location, storage replication, load
    balancing and functionality is not transparent
  • Crucial point is transparency

8
How to Implement a Dist. System?
  • A distributed system is a collection of
    independent computers
  • that acts like a single system
  • How to accomplish this?
  • Middleware
  • Make distributed system as transparent as possible

9
Role of Middleware
  • Distributed system as middleware
  • Middleware extends over multiple machines

10
Goals
  • For a distributed system to be worthwhile authors
    believe it should
  • Easily connect users to resources
  • Hide fact that resources are distributed
  • Be open
  • Be scalable
  • First 2 of these about transparency
  • Transparent, open, scalable

11
Transparency
  • Transparent system acts like one computer
  • Various aspects of transparency listed above

12
Degree of Transparency
  • Cannot hide physical limitations
  • Time it takes to send packet
  • May be a tradeoff between transparency and
    performance
  • What to do if Web request times out?
  • Keeping replicated data current

13
Openness
  • Open standards-based
  • Provides
  • Interoperability
  • Portability
  • Ideally, flexible, i.e., extensible
  • But many useful systems follow the American
    standard
  • Do whatever you want

14
Scalability
  • Scalability issues/limitations

15
Scalability
  • Authors believe centralized is bad
  • Centralized server is source of congestion,
    single point of failure
  • Centralized data leads to congestion, lots of
    traffic
  • Centralized algorithm must collect all info and
    process it (e.g., routing algs)
  • Google? Napster?

16
Scalability
  • Decentralized algorithms
  • No machine has complete system state
  • Decisions based on local info
  • Failure of one machine does not kill entire
    algorithm
  • No assumption of global clock
  • Examples?

17
Geographic Scalability
  • Big difference between LAN and WAN
  • LANs have synchronous communication
  • Client can block until server responds
  • On LAN, global time may be possible (to within a
    few milliseconds)
  • WAN unreliable, point-to-point
  • WAN has different admin domains
  • A security nightmare

18
Scaling Techniques
  • Scaling problems due to limited capacity of
    networks and servers
  • Three possible solutions
  • Hide latencies ? do something useful while
    waiting (asynchronous comm.)
  • Distribution ? DNS, for example
  • Replication ? allows for load balancing
  • Replication creates consistency issues

19
Scaling Techniques
  • Server or client check form as its filled out?
  • Having client do more, as in (b), may reduce
    latency (but may cause security problems)

20
Scaling Techniques
  • DNS name space divided into zones
  • Goto server in Z1 to find server Z2 and so on
  • Like a binary search for correct server

21
Hardware Issues
  • For our purposes, 2 kinds of machines
  • Multiprocessor
  • Different processors share same memory
  • Multicomputer
  • Each processor has its own memory
  • Each of these could use either bus or switched
    architecture

22
Hardware Issues
multiprocessor
multicomputer
23
Multiprocessors
  • A bus-based multiprocessor
  • Cache coherence is an issue

24
Multiprocessors
  • A crossbar switch
  • Omega switching network

25
Homogeneous Multicomputer
  • Grid

Hypercube
26
Software Concepts
  • DOS ? Distributed Operating Systems
  • NOS ? Network Operating Systems
  • Middleware ? self-explanatory

27
Uniprocessor OSs
  • Separate apps from OS code via microkernel

28
Multiprocessor OSs
monitor Counter private int count
0 public int value() return count void
incr () count count 1 void decr()
count count 1
  • Hoe to protect count from concurrent access?

29
Multiprocessor OSs
monitor Counter private int count 0 int
blocked_procs 0 condition unblocked public
int value () return count void incr ()
if (blocked_procs 0) count
count 1 else signal
(unblocked)
void decr() if (count 0) blocked_procs
blocked_procs 1 wait (unblocked)
blocked_procs blocked_procs 1 else
count count 1
  • Protect count from concurrent access
  • Using blocking

30
Multicomputer OSs
  • Multicomputer OS

31
Multicomputer OSs
  • ???

32
Multicomputer OSs
  • Huh?

33
Programming Issues
  • Programming multicomputers much harder than
    multiprocessors
  • Why?
  • Message passing
  • Buffering, blocking, reliable comm., etc.
  • One option is to emulate shared memory on
    multicomputer
  • Large virtual address space

34
Distributed Shared Memory
  • Pages of address space distributed among 4
    machines
  • After CPU 1 references pg 10
  • If page 10 read only and replication used

35
Distributed Shared Memory
  • False sharing of page between two processes
  • Two independent processors share same page

36
Network OS
  • Network OS
  • Each processor has its own OS

37
Network OS
  • Clients and server in a network OS
  • Global shared file system

38
Distributed System
  • Distributed OS not a distributed system by our
    definition
  • Network OS not a distributed system by our
    definition
  • What we need is middleware

39
Positioning Middleware
  • A distributed system as middleware
  • Individual node managed by local OS
  • Middleware hides heterogeneity of underlying
    systems

40
Middleware and Openness
  • Open middleware-based system
  • Middleware layer should
  • Use the same protocols
  • Provide same interfaces to apps

41
Comparison of Systems
  • Middleware rocks!

42
Middleware Services
  • Main goal is access transparency
  • Hides low level message passing
  • Naming
  • Like yellow pages or URL
  • Persistence
  • For example, a distributed file system
  • Distributed transactions
  • Read and writes are atomic
  • Security

43
Client Server Model
  • Read this section

44
Clients and Servers
  • Interaction between client and server

45
Example Client and Server
  • header.h
  • Used by client
  • And by server

46
Example Client and Server
  • A sample server

47
Example Client and Server
  • Client using server to copy a file

48
Processing Level
  • Internet search engine as 3 layers

49
Multitiered Architectures
  • Alternative client-server organizations

50
Multitiered Architectures
  • A server acting as client

51
Modern Architectures
  • Horizontal distribution of Web service

52
Summary
  • Distributed system
  • Autonomous computers that operate together as a
    single coherent system
  • Potential advantages
  • Can integrate homogeneous systems
  • Scales well, if properly designed
  • Potential disadvantages
  • Complexity
  • Degraded performance
  • Poorer security

53
Summary
  • Different types of dist systems
  • Distributed OS
  • For tightly coupled system
  • Cant integrate different systems
  • Network OS
  • For heterogeneous system
  • No single system view

54
Summary
  • Middleware systems based on
  • Remote procedure calls
  • Distributed objects, files, documents
  • Vertical organization
  • Horizontal organization
Write a Comment
User Comments (0)
About PowerShow.com