01 ds motivation session 1

Upload: mayuresh-kulkarni

Post on 04-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 01 Ds Motivation Session 1

    1/30

    Distributed Systems / 1 - 1

    Outline

    1. What is a Distributed System

    2. Why botherwith them?3. Examples of Distributed Systems

    4. Common Characteristics

    5. Summary

  • 7/29/2019 01 Ds Motivation Session 1

    2/30

    Distributed Systems / 1 - 2

    Outline

    1. What is a Distributed System

    2. Why botherwith them?3. Examples of Distributed Systems

    4. Common Characteristics

    5. Summary

  • 7/29/2019 01 Ds Motivation Session 1

    3/30

    Distributed Systems / 1 - 3

    What is Distributed?

    Data are Distributed If data must exist in multiple computers for admin and ownership reasons

    Computation is Distributed

    Applications taking advantage of parallelism, multiple processors,

    particular feature

    Scalability and heterogeneity of Distributed System

    Users are Distributed

    If Users communicate and interact via application (shared objects)

  • 7/29/2019 01 Ds Motivation Session 1

    4/30

    Distributed Systems / 1 - 4

    History of Distributed Computing

    1940. The British Government came to the conclusion that

    2 or 3 computers would be sufficient for UK.

    1960. Mainframe computers took up a few hundred square

    feet.

    1970. First Local Area Networks (LAN) such as Ethernet.

    1980. First network cards for PCs.

    1990. First wide area networks, the Internet, that evolved

    from the US Advanced Research Projects Agency net

    (ARPANET, 4 nodes in 1969) and was, later, fueled by therapid increase in network bandwith and the invention of

    the World Wide Web at CERN in 1989.

  • 7/29/2019 01 Ds Motivation Session 1

    5/30

    Distributed Systems / 1 - 5

    Distributed System Types (Enslow 1978)

    Fully Distributed

    Processors

    Control

    Fully replicated

    Not fully replicated master directory

    Local data, local directory

    Master-slave

    Autonomous transaction based

    Autonomous fully cooperative

    Homog.special

    purposeHeterog.

    special

    purpose

    Homog.general

    purposeHeterog.

    general

    purpose

  • 7/29/2019 01 Ds Motivation Session 1

    6/30

    Distributed Systems / 1 - 6

    1. What is a Distributed System?

    A collection of components that execute on different

    computers. Interaction is achieved using a computer network.

    A distributed system consists of a collection of autonomouscomputers, connected through a network and distributed

    operating system software, which enables computers to

    coordinate their activities and to share the resources of the

    system, so that users perceive the system as a single,

    integrated computing facility.

  • 7/29/2019 01 Ds Motivation Session 1

    7/30

    Distributed Systems / 1 - 7

    1.1 Centralised System Characteristics

    Non-autonomous parts: The system possesses full control.

    Homogeneous: Constructed using the same technology

    (e.g., same programming language and compiler for all

    parts).

    Component shared by all users all the time.

    All resources accessible.

    Software runs in a single process.

    Single Point of control.

    Single Point of failure (either they work or they do not

    work).

  • 7/29/2019 01 Ds Motivation Session 1

    8/30

    Distributed Systems / 1 - 8

    1.2 Distributed System Characteristics

    Multiple autonomous components.

    Heterogeneous.

    Components are not shared by all users.

    Resources may not be accessible. Software runs in concurrent processes on different

    processors.

    Multiple Points of control.

    Multiple Points of failure (but more fault tolerant!).

  • 7/29/2019 01 Ds Motivation Session 1

    9/30

    Distributed Systems / 1 - 9

    1.3 Model of a Distributed System

    Component1

    Componentn

    Middleware

    Network Operating System

    Hardware

    Host 1

    Component1

    Componentn

    Middleware

    Network Operating System

    Hardware

    Host n

    ..

    ..

    ...

    Network

  • 7/29/2019 01 Ds Motivation Session 1

    10/30

    Distributed Systems / 1 - 10

    2. Examples of Distributed Systems

    Local Area Network

    Database Management System

    Automatic Teller Machine Network

    World-Wide Web

  • 7/29/2019 01 Ds Motivation Session 1

    11/30

    Distributed Systems / 1 - 11

    2.1 Local Area Network

  • 7/29/2019 01 Ds Motivation Session 1

    12/30

    Distributed Systems / 1 - 12

    2.2 Database Management System

  • 7/29/2019 01 Ds Motivation Session 1

    13/30

  • 7/29/2019 01 Ds Motivation Session 1

    14/30

    Distributed Systems / 1 - 14

    3. Common Characteristics

    What are we trying to achieve when weconstruct a distributed system?

    Certain common characteristics can be used

    to assess distributed systems Resource Sharing Openness

    Concurrency

    Scalability Fault Tolerance

    Transparency

  • 7/29/2019 01 Ds Motivation Session 1

    15/30

    Distributed Systems / 1 - 15

    3.1 Resource Access and Sharing

    Ability to use any hardware, software or data

    anywhere in the system ... once authorised!.

    Security implications: Resource manager

    controls access, provides naming schemeand controls concurrency.

    Resource sharing model:

    client/servervs n-tier architectures.

  • 7/29/2019 01 Ds Motivation Session 1

    16/30

    Distributed Systems / 1 - 16

    3.2 Openness

    Openness is concerned with extensions and

    improvements of distributed systems.

    Detailed interfaces of components need to be

    standardized and published. It is crucial because the overall architecture

    needs to be stable even in the face of

    changing functional requirements.

  • 7/29/2019 01 Ds Motivation Session 1

    17/30

    Distributed Systems / 1 - 17

    3.3 Concurrency

    Components in distributed systems areexecuted in concurrent processes.

    Components access and update shared

    resources (e.g. variables, databases, devicedrivers).

    Integrity of the system may be violated if

    concurrent updates are not coordinated.

    Lost updates

    Inconsistent analysis

  • 7/29/2019 01 Ds Motivation Session 1

    18/30

    Distributed Systems / 1 - 18

    3.4 Scalability

    Adaptation of distributed systems to accommodate more users

    respond faster (this is the hard one)

    Usually done by adding more and/or fasterprocessors.

    Components should not need to be changed

    when scale of a system increases.

    Design components to be scalable!

  • 7/29/2019 01 Ds Motivation Session 1

    19/30

    Distributed Systems / 1 - 19

    3.5 Fault Tolerance

    Hardware, software and networks fail!

    Distributed systems must maintain availability

    even at low levels of

    hardware/software/network reliability.

    Fault tolerance is achieved by

    Redundancy (replication)

    Recovery Design

  • 7/29/2019 01 Ds Motivation Session 1

    20/30

    Distributed Systems / 1 - 20

    3.6 Transparency

    Distributed systems should be perceived by usersand application programmers as a whole rather

    than as a collection of cooperating components.

    Transparency has different aspects that were

    identified by ANSA (Advanced Network SystemsArchitecture).

    These represent properties that a well-designed

    distributed systems should have

    They are dimensions against which we measure

    middleware components.

  • 7/29/2019 01 Ds Motivation Session 1

    21/30

    Distributed Systems / 1 - 21

    3.6.1 Access Transparency

    Enables local and remote information objects to be

    accessed using identical operations, that is, the interface

    to a service request is the same for communication

    between components on the same host and components

    on different hosts. Example: File system operations in Unix Network File

    System (NFS).

    A component whose access is not transparent cannot

    easily be moved from one host to the other. All othercomponents that request services would first have to be

    changed to use a different interface.

  • 7/29/2019 01 Ds Motivation Session 1

    22/30

    Distributed Systems / 1 - 22

    3.6.2 Location Transparency

    Enables information objects to be accessedwithout knowledge of theirphysical location.

    Example: Pages in the Web.

    Example: When an NFS administrator movesa partition, for instance because a disk is full,

    application programs accessing files in that

    partition would have to be changed if file

    location is not transparent for them.

  • 7/29/2019 01 Ds Motivation Session 1

    23/30

    Distributed Systems / 1 - 23

    3.6.3 Migration Transparency

    Allows the movement of information objects within asystem without affecting the operations of users or

    application programs.

    It is useful, as it sometimes becomes necessary to move a

    component from one host to another (e.g., due to an

    overload of the host or to a replacement of the hosthardware).

    Without migration transparency, a distributed system

    becomes very inflexible as components are tied to

    particular machines and moving them requires changes inother components.

  • 7/29/2019 01 Ds Motivation Session 1

    24/30

    Distributed Systems / 1 - 24

    3.6.4 Replication Transparency

    Enables multiple instances of informationobjects to be used to increase reliability and

    performance without knowledge of the

    replicas by users or application programs.

    Example: Distributed DBMS.

    Example: Mirroring Web Pages.

  • 7/29/2019 01 Ds Motivation Session 1

    25/30

    Distributed Systems / 1 - 25

    3.6.5 Concurrency Transparency

    Enables several processes to operate

    concurrently using shared information objects

    without interference between them. Neither

    user nor application engineers have to seehow concurrency is controlled.

    Example: Bank applications.

    Example: Database management system.

  • 7/29/2019 01 Ds Motivation Session 1

    26/30

    Distributed Systems / 1 - 26

    3.6.6 Scalability Transparency

    Allows the system and applications to expandin scale without change to the system

    structure or the application algorithms.

    How system behaves with more components

    Similar to performance Transparency, i.e

    QoS provided by applications.

    Example: World-Wide-Web.

    Example: Distributed Database.

  • 7/29/2019 01 Ds Motivation Session 1

    27/30

    Distributed Systems / 1 - 27

    3.6.7 Performance Transparency

    Allows the system to be reconfigured toimprove performance as loads vary.

    Consider how efficiently the system uses

    resources.

    Relies on Migration and Replication

    transparency

    Example: TCP/IP routes according to traffic.

    Load Balancing.

    Difficult to achieve because of dynamism

  • 7/29/2019 01 Ds Motivation Session 1

    28/30

    Distributed Systems / 1 - 28

    3.6.8 Failure Transparency

    Enables the concealment of faults! Components can be designed without taking into

    account that services they rely on might fail.

    Server components can recover from failures

    without the server designer taking measures forsuch recovery.

    Allows users and applications to complete their

    tasks despite the failure of other components.

    Its achievement is supported by both concurrency

    and replication transparency.

    i i Of

  • 7/29/2019 01 Ds Motivation Session 1

    29/30

    Distributed Systems / 1 - 29

    Dimensions Of Transparency

    ScalabilityTransparency

    MigrationTransparency

    AccessTransparency

    PerformanceTransparency

    ReplicationTransparency

    LocationTransparency

    FailureTransparency

    ConcurrencyTransparency

    4 S

  • 7/29/2019 01 Ds Motivation Session 1

    30/30

    Distributed Systems / 1 - 30

    4. Summary

    What is a distributed system and how does it

    compare to a centralised system?

    What are the characteristics of distributedsystems?

    What are the different dimensions of

    transparency?