Document Sample
c2 Powered By Docstoc
					Chapter 2: Concepts and Architectures


Traditional Computer Architecture

             Distributed Systems             1
 Computer System Architectures
¡ Flynn, 1966+1972 classification of computer
  systems in terms of instruction and data stream
¡ Based on Von-Neumann model (separate
  processor and memory units
¡ 4 machine organizations
  ™ SISD- Single Instruction, Single Data
  ™ SIMD - Single Instruction, Multiple Data
  ™ MISD - Multiple Instruction, Single Data
  ™ MIMD - Multiple Instruction, Multiple Data

                        Distributed Systems         2
 Flynn Architectures (1)
       I              D
CU         PU

 CU                                    Array
                PUn                    Processor

                                     CU – control unit
                                     PU – processor unit
                                     I – instruction
                                     D – data stream
                          Distributed Systems              3
Flynn Architectures (2)
         I1             D1
 CU1          PU1

 CUn          PUn       Dn          and
 MIMD                               r

 CU1          PU1
                          D        No real
 CUn          PUn                  - possibly
                                   some pipeline
 MISD                              architectures

                    Distributed Systems             4
Processor-Memory Interconnection Network

                Distributed Systems        5
Crossbar switch

    Distributed Systems   6
Multiple stage switch

       Distributed Systems   7
Homogeneous Multicomputer Systems – Processor Arrays

        Grid                              Hypercube

                    Distributed Systems                8
Loosely coupled multi-computer systems

       M   P   M   P          M   P

¡ Distributed Memory Multi-computer
¡ IPC by message passing
¡ Typically PC or workstation clusters
¡ Physically distributed components
¡ Characterized by longer message delays
 and limited bandwidth
                       Distributed Systems             9
 Closely coupled multi-computer systems
                            Shared Memory
        M   P   M   P   M     P                   M   P


¡ Shared Memory Multiprocessor
¡ Processors connected via common bus or fast
¡ Characterized by short message delays, high
¡  bandwidth
¡ IPC via Shared Memory

                            Distributed Systems                 10
       Network based Systems
¡ Network size: number of nodes N
¡ Node: ni, 1 £ i £ N
¡ Distance: d(ni, nj): number of links between ni and
¡ Network distance: D = max(d(ni, nj))
¡ Degree: degree(ni): number of links from/to ni
¡ Network topology is an abstract graph to represent
  the architecture of a network

                        Distributed Systems         11
              Desired Properties:
¡   (1) When network size grows arbitrarily, the network
    distance increases very slowly:
    ™               lim D/N = 0
¡                     N®¥
¡   (2) There exists a constant k, such that
¡                     degree(ni) £ k
¡   (3) Routing algorithm is easy to implement and
    independent of network size
¡   (4) When some nodes or links are failed, the network is
    still connected (with lower performance)
¡   (5) Trafic loads are evenly distributed over the network

                         Distributed Systems               12
Typical network topologies:
     star              ring          B-tree

    complete        regular          arbitrary

               Distributed Systems               13
Evaluation of network topologies:
                 star     ring         B-tree       complete   regular

lim D/N=0   yes         No           Yes           Yes         Yes       Do not
N®¥         D = 2       D = N-1      D=2log N      D = 1       D =√N     know

K³degree    no          Yes          Yes           No          Yes       Do not
(ni)                    K = 2        K = 3                     K = 4     know

Routing     easy        easy         easy          easy        easy      hard

connectiv   bad         bad          Not good      best        good      Do not
ity                                                                      know

Even        no          yes          no            yes         yes       Do not
trafic                                                                   know

                                  Distributed Systems                              14
             Software Concepts
System       Description                         Main Goal

                                                 Hide and
             Tightly-coupled operating system
DOS          for multi-processors and
             homogeneous multicomputers
                                                 Offer local
             Loosely-coupled operating system
                                                 services to
NOS          for heterogeneous
             multicomputers (LAN and WAN)
             Additional layer atop of NOS        Provide
Middleware   implementing general-purpose        distribution
             services                            transparency

 q    DOS (Distributed Operating Systems)
 q    NOS (Network Operating Systems)
 q    Middleware
                           Distributed Systems                  15
 Uniprocessor Operating System

Separating applications from operating system
code through a microkernel.

              Distributed Systems               16
     Distributed Operating System

Tightly-coupled operating system for multi-processors and
  homogeneous multi-computers.       Strong transparency.

                    Distributed Systems                     17
        DOS: characteristics (1)
¡ Distributed Operating Systems
  ™ Allows a multiprocessor or multicomputer network
    resources to be integrated as a single system image
  ™ Hide and manage hardware and software resources
  ™ provides transparency support
  ™ provide heterogeneity support
  ™ control network in most effective way
  ™ consists of low level commands + local operating
    systems + distributed features
  ™ Inter-process communication (IPC)

                      Distributed Systems             18
         DOS: characteristics (2)
¡   remote file and device access
¡   global addressing and naming
¡   trading and naming services
¡   synchronization and deadlock avoidance
¡   resource allocation and protection
¡   global resource sharing
¡   deadlock avoidance
¡   communication security
¡   no examples in general use but many research
    systems: Amoeba, Chorus etc. see Google “distributed
    systems research”

                       Distributed Systems            19
        Network Operating System

Loosely-coupled operating system for heterogeneous multi
  -computers (LAN and WAN). Weak transparency.

                     Distributed Systems                   20
         NOS: characteristics
¡ Network Operating System
  ™extension of centralized operating systems
  ™offer local services to remote clients
  ™each processor has own operating system
  ™user owns a machine, but can access others
   (e.g. rlogin, telnet)
  ™no global naming of resources
  ™system has little fault tolerance
  ™e.g. UNIX, Windows NT, 2000

                   Distributed Systems          21
              Middleware System

Additional layer on the top of NOS implementing general-
  purpose services. Better transparency.

                     Distributed Systems                   22
              Middleware Examples
¡   Examples: Sun RPC, CORBA, DCOM, Java RMI (distributed object
¡   Built on top of transport layer in the ISO/OSI 7 layer reference
    model: application (protocol), presentation (semantic), session
    (dialogue), transport (e.g. TCP or UDP), network (IP, ATM etc), data
    link (frames, checksum), physical (bits and bytes)
¡   Most are implemented over the internet protocols
¡   Masks heterogeneity of underlying networks, hardware, operating
    system and programming languages – so provides a uniform
    programming model with standard services
¡   3 types of middleware:
    ™   transaction oriented (for distributed database applications)
    ™   message oriented (for reliable asynchronous communication)
    ™   remote procedure calls (RPC) – the original OO middleware

                                 Distributed Systems                   23
     Types of communication

Message passing is the general basis of
communication in a distributed system: transferring a
set of data from a sender to a receiver.

                     Distributed Systems                24
Point-to-point Message passing

¡ sender calls send primitive to pass message to sender’s buffer
¡  communication module transmits the message to the destination
¡  destination communication module puts the message to
  receiver’s buffer
¡ receiver calls receive primitive to get the message

                        Distributed Systems                  25
     Distributed Shared Memory
¡   Pages of address
    space distributed
    among four
¡   Situation after
    CPU 1 references
    page 10
¡   Situation if page
    10 is read only
    and replication is

                         Distributed Systems   26
              Comparison between Systems

                         Distributed OS
                                                         Network    Middleware-
                                                         OS         based OS
                         Multiproc.     Multicomp.

Degree of transparency   Very High      High             Low        High

Same OS on all nodes     Yes            Yes              No         No

Number of copies of OS   1              N                N          N
Basis for                Shared
                                        Messages         Files      Model specific
communication            memory
                         Global,        Global,
Resource management                                      Per node   Per node
                         central        distributed
Scalability              No             Moderately       Yes        Varies

Openness                 Closed         Closed           Open       Open

                                   Distributed Systems                               27
Client-Server Model

      Distributed Systems   28
Timing interaction between client and server

                 Distributed Systems           29
An Example Client and Server (1) header.h

             Distributed Systems            30
An Example Client and Server (2) server.c

            Distributed Systems             31
An Example Client and Server (3) client.c

            Distributed Systems             32
Multi-tiered (client-server) Architectures

                Distributed Systems          33
Comparison of different
user                             computer
terminal                          Interface-level



           (a) Traditional terminal/machine

                    Distributed Systems             34
     Comparison of different
  client                           server

  Processing-level                 Processing-level

   Interface-level                      Data-level

                 (b) two-tiers

Client browser       WEB server                Data server
  Processing           Processing              Processing
   Interface               Data                      Data

                 (c) three-tiers
                       Distributed Systems                   35
Internet search engine into three different layers:

                    Distributed Systems               36
Alternative client-server organizations

               Distributed Systems        37
Enterprise(J2EE) Application Model

           Distributed Systems       38
          A Modern Architecture

An example of horizontal distribution of a Web service.
                       Distributed Systems                39
Advantages of Multi-tiered Architectures

¡ flexibility of selecting different hardware
¡   easy to maintain and manage the
¡   easy to update or re-organize the system
¡   easy to enforce different security
    policies at different levels
¡   easy to implement software modules
    with clearly defined interfaces
                      Distributed Systems  40

Shared By: