chap01 prasad

Upload: eashel

Post on 03-Apr-2018

253 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Chap01 Prasad

    1/34

    Distributed System: Definit

    A distributed system is a piece of software

    sures that:

    A collection of independent computers

    appears to its users as a single coherent s

    tem

  • 7/28/2019 Chap01 Prasad

    2/34

    Goals of Distributed System

    Connecting resources and users

    Distribution transparency

    Openness

    Scalability

  • 7/28/2019 Chap01 Prasad

    3/34

    Backgrou

    Developing Collaborative applications ovheterogeneous devices and data stores

    Autonomous and mobile data stores

    Wireless (or wired) networks of various

    Devices of varying capabilities (pagers, c

    Limitations of Current Technology

    Explicit andtedious(dataandnetwork) p

  • 7/28/2019 Chap01 Prasad

    4/34

    System on Mobile D

    An Integrated Programming and

    UniformUniform WebWeb ServiceServiceview of devview of dev

    persistent objectpersistent object--viewviewof mobile da

    Rapid development of reliable and

    high-level programming and deplo

    Leverageoff existingserver applic

  • 7/28/2019 Chap01 Prasad

    5/34

    SyD Kernel Architecture

    SyDDirectory

    SyDListener

    SyDEngine

    S DLi k

    3. Regis ter

    GloballySyDAppO

    Server

    Client UI

    SyD Kernel

    2. Invoke

    2. publish

    1. Lookup

    2

    .Lookup

    3.Re

    SyD

    SyD service

    intellig

    SyD deviceinvoca

  • 7/28/2019 Chap01 Prasad

    6/34

    Distribution Transparency

    Transparency Description

    Access Hides differences in datarepresentation and invocationmechanisms

    Location Hides where an object residesMigration Hides from an object the ability o

    system to change that objects lo

    Relocation Hides from a client the ability of asystem to change the location of

    object to which the client is bound

  • 7/28/2019 Chap01 Prasad

    7/34

    Degree of Transparency

    Observation: Aiming at full distribution trans

    may be too much:

    Users may be located in different contine

    tribution is apparent and not something yto hide

    Completely hiding failures of networks an

    is (theoretically and practically) impossib

  • 7/28/2019 Chap01 Prasad

    8/34

    Openness of Distributed Sys

    Open distributed system: Be able to inter

    services from other open systems, irrespectiv

    underlying environment:

    Systems should conform to well-defined in Systems should support portability of

    tions

    Systems should easily interoperate

  • 7/28/2019 Chap01 Prasad

    9/34

    Policies versus Mechanism

    Implementing openness: Requires suppor

    ferent policies specified by applications and

    What level of consistency do we require fo

    cached data? Which operations do we allow download

    to perform? Which QoS requirements do we adjust in

    of varying bandwidth?

  • 7/28/2019 Chap01 Prasad

    10/34

    Scale in Distributed System

    Observation: Many developers of modern dis

    system easily use the adjective scalable with

    ing clear why their system actually scales.

    Scalability: At least three components:

    Number of users and/or processes

    (size scalability)

  • 7/28/2019 Chap01 Prasad

    11/34

    Techniques for Scaling

    Distribution: Partition data and computation

    multiple machines:

    Move computations to clients (Java apple Decentralized naming services (DNS) Decentralized information systems (WWW

    Replication Make copies of data a ailable

  • 7/28/2019 Chap01 Prasad

    12/34

    Scaling The Problem

    Observation: Applying scaling techniques

    except for one thing:

    Having multiple copies (cached or replica

    leads toinconsistencies: modifying one

    makes that copy different from the rest.

    Al k i i i t t d

  • 7/28/2019 Chap01 Prasad

    13/34

    Distributed Systems:

    Hardware Concepts

    Multiprocessors

    Multicomputers

    Networks of Computers

  • 7/28/2019 Chap01 Prasad

    14/34

    Multiprocessors and

    Multicomputers

    Distinguishing features:

    Private versus shared memory Bus versus switched interconnection

    Shared memory Private memory

    M MM M M M

  • 7/28/2019 Chap01 Prasad

    15/34

    Networks of Computers

    High degree of node heterogeneity:

    High-performance parallel systems (mult

    sors as well as multicomputers) High-end PCs and workstations (servers) Simple network computers (offer users o

    work access) Mobile computers (palmtops, laptops)

  • 7/28/2019 Chap01 Prasad

    16/34

    Distributed Systems:

    Software Concepts

    Distributed operating system

    Network operating system

    Middleware

  • 7/28/2019 Chap01 Prasad

    17/34

    Distributed Operating Syste

    Some characteristics:

    OS on each computer knows about the ot

    puters OS on different computers generally the Services are generally (transparently) dis

    across computers

  • 7/28/2019 Chap01 Prasad

    18/34

    Multicomputer Operating Sys

    Harder than traditional (multiprocessor) O

    cause memory is not shared, emphasis shifts

    cessor communication by message passing:

    Often no simple global communication:

    Only bus-based multicomputers provi

    ware broadcasting

    Effi i t b d ti i t

  • 7/28/2019 Chap01 Prasad

    19/34

    Network Operating System

    Some characteristics:

    Each computer has its own operating sys

    networking facilities Computers work independently (i.e., they

    have different operating systems) Services are tied to individual nodes (ftp

    WWW)

  • 7/28/2019 Chap01 Prasad

    20/34

    Distributed System (Middlew

    Some characteristics:

    OS on each computer need not know ab

    other computers OS on different computers need not gene

    the same Services are generally (transparently) dis

    t

  • 7/28/2019 Chap01 Prasad

    21/34

    Need for Middleware

    Motivation: Too many networked applicatio

    hard or difficult to integrate:

    Departments are running different NOSs Integration and interoperability only at leve

    itive NOS services Need for federated information systems:

    C bi i diff d b b

  • 7/28/2019 Chap01 Prasad

    22/34

    Middleware Services (1/2

    Communication services: Abandon primitive

    based message passing in favor of:

    Procedure calls across networks Remote-object method invocation Message-queuing systems Advanced communication streams

    E ifi i i

  • 7/28/2019 Chap01 Prasad

    23/34

    Middleware Services (2/2

    Control services: Services giving applicatio

    trol over when, where, and how they access d

    Distributed transaction processing Code migration

    Security services: Services for secure pro

    d i i

  • 7/28/2019 Chap01 Prasad

    24/34

    Comparison of DOS, NOS

    and Middleware

    1: Degree of transparency

    2: Same operating system on each node?

    3: Number of copies of the operating system

    4: Basis for communication

    5: How are resources managed?

    I h l ?

  • 7/28/2019 Chap01 Prasad

    25/34

    ClientServer Model

    Basic model

    Application layering

    ClientServer architectures

  • 7/28/2019 Chap01 Prasad

    26/34

    Basic ClientServer Model (

    Characteristics:

    There are processes offering services (se There are processes that use services (c Clients and servers can be distributed ac

    ferent machines Clients follow request/reply model with re

    using services

  • 7/28/2019 Chap01 Prasad

    27/34

    Basic ClientServer Model (

    Servers: Generally provide services related to

    resource:

    Servers for file systems, databases, impl

    tion repositories, etc. Servers for shared, linked documents (W

    tus Notes) Servers for shared applications

  • 7/28/2019 Chap01 Prasad

    28/34

    Application Layering (1/2

    Traditional three-layered view:

    User-interface layer contains units for an

    tions user interface Processing layer contains the functions o

    plication, i.e. without specific data Data layer contains the data that a client

    manipulate through the application comp

  • 7/28/2019 Chap01 Prasad

    29/34

    Application Layering (2/2

    Querygenerator

    Rankingcomponent

    HTMLgenerator

    User interface

    Keyword expression

    Database queries

    Ranked listof page titles

    HTML pagecontaining list

    Ple

    Ule

  • 7/28/2019 Chap01 Prasad

    30/34

    Client-Server Architecture

    Single-tiered: dumb terminal/mainframe con

    Two-tiered: client/single server configuration

    Three-tiered: each layer on separate machin

    Traditional two-tiered configurations:

  • 7/28/2019 Chap01 Prasad

    31/34

    Alternative C/S Architectures

    Observation: Multi-tiered architectures seem

    stitute buzzwords that fail to capture many

    clientserver organizations.

    Cooperating servers: Service is physicallyuted across a collection of servers:

    Traditional multi-tiered architectures Replicated file systems

  • 7/28/2019 Chap01 Prasad

    32/34

    Alternative C/S Architectures

    Essence: Make distinction between vertical a

    izontal distribution

    Replicated Web servers eachcontaining the same Web pages

    Front endhandlingincomingrequests

    Requestshandled inround-robinf

    ashion

  • 7/28/2019 Chap01 Prasad

    33/34

    r B H !

    ! !

    &

    &

  • 7/28/2019 Chap01 Prasad

    34/34

    r B F ! C B !