Chap 01 Updated

Embed Size (px)

Citation preview

  • 8/3/2019 Chap 01 Updated

    1/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    DISTRIBUTED SYSTEMS

    Principles and ParadigmsSecond Edition

    ANDREW S. TANENBAUMMAARTEN VAN STEEN

    Chapter 1Introduction

  • 8/3/2019 Chap 01 Updated

    2/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Definition of a Distributed System (1)

    A distributed system is:

    A collection of independentcomputers that appears to its

    users as a single coherentsystem.

  • 8/3/2019 Chap 01 Updated

    3/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Definition of a Distributed System (2)

    Figure 1-1. A distributed system organized as middleware. Themiddleware layer extends over multiple machines, and offers

    each application the same interface.

  • 8/3/2019 Chap 01 Updated

    4/34

    Goals of Distributed Systems To make resources easily accessible

    Share printers, supercomputers, storage

    Transparent ( Hide the fact that resources are distributedacross a network)

    Open

    Interoperability, Portability, extensible

    Scalable Size, location and Administration

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

  • 8/3/2019 Chap 01 Updated

    5/34

    Problems

    Design difficult:

    Operating systems, programming languages, administration

    Security Network: Disconnect, loss of data

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

  • 8/3/2019 Chap 01 Updated

    6/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Transparency in a Distributed System

    Figure 1-2. Different forms of transparency in adistributed system (ISO, 1995).

  • 8/3/2019 Chap 01 Updated

    7/34

    Scalability

    Size: more users & resources

    Geographic location

    Administration

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

  • 8/3/2019 Chap 01 Updated

    8/34Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Scalability Problems

    Figure 1-3. Examples of scalability limitations.

  • 8/3/2019 Chap 01 Updated

    9/34

    Scaling Techniques

    Three techniques for scaling:

    Hiding Communications latencies

    Avoid waiting as much as possible (Asynchronous communication)

    Distribution Splitting a component of the system into smaller parts, and spreading across

    the system e. g. (DNS), WWW

    Replication

    Replicate components across the system Caching (copy of a resource)

    Consistency problems (how much to tolerate?)

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

  • 8/3/2019 Chap 01 Updated

    10/34Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Scaling Techniques (1)

    Figure 1-4. The difference between letting (a) a serveror (b) a client check forms as they are being filled.

  • 8/3/2019 Chap 01 Updated

    11/34Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Scaling Techniques (2)

    Figure 1-5. An example of dividing the DNS

    name space into zones.

  • 8/3/2019 Chap 01 Updated

    12/34Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Pitfalls when DevelopingDistributed Systems

    False assumptions made by first time developer:

    The network is reliable.

    The network is secure.

    The network is homogeneous.

    The topology does not change.

    Latency is zero.

    Bandwidth is infinite.

    Transport cost is zero.

    There is one administrator.

  • 8/3/2019 Chap 01 Updated

    13/34

    Types of Distributed Systems

    1. Distributed Computing Systems

    2. Distributed Information Systems3. Distributed Pervasive Systems

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

  • 8/3/2019 Chap 01 Updated

    14/34

    Distributed Computing Systems

    Distributed Computing Systems

    Cluster computing

    Homogeneity (same OS & network)

    E.g. Linux-based Beowulf

    Grid Computing

    Heterogeneity (no assumptions)

    Resources from different organizations are brought together

    to allow the collaboration of a group of people or institutions

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

  • 8/3/2019 Chap 01 Updated

    15/34Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Cluster Computing Systems

    Figure 1-6. An example of a cluster computing system.

  • 8/3/2019 Chap 01 Updated

    16/34

    Grid ComputingA layered architecture of Grid Computing:

    Fabric layer: provides interfaces to local resources, to allowsharing of resources

    Connectivity layer: Consists of Communication & security

    protocols to support Grid transactions

    Resource Layer: manage a single resource, perform specificoperation

    Collective layer: Handling access to multiple resources, e.g.

    resource discovery, allocation & scheduling of tasks

    Application Layer: consists of applications that operate withina virtual organization

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

  • 8/3/2019 Chap 01 Updated

    17/34Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Grid Computing Systems

    Figure 1-7. A layered architecture for grid computing systems.

  • 8/3/2019 Chap 01 Updated

    18/34

    Distributed Information Systems

    Distributed Information Systems

    Transaction Processing Systems

    Enterprise Application Integration

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

  • 8/3/2019 Chap 01 Updated

    19/34Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Transaction Processing Systems (1)

    Figure 1-8. Example primitives for transactions.

  • 8/3/2019 Chap 01 Updated

    20/34Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Transaction Processing Systems (2)

    Characteristic properties of transactions: Atomic: To the outside world, the transaction

    happens indivisibly.

    Consistent: The transaction does not violatesystem invariants.

    Isolated: Concurrent transactions do notinterfere with each other.

    Durable: Once a transaction commits, thechanges are permanent.

  • 8/3/2019 Chap 01 Updated

    21/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Transaction Processing Systems (3)

    Figure 1-9. A nested transaction.

  • 8/3/2019 Chap 01 Updated

    22/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Transaction Processing Systems (4)

    Figure 1-10. The role of a TP monitor in distributed systems.

  • 8/3/2019 Chap 01 Updated

    23/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Enterprise Application Integration

    Figure 1-11. Middleware as a communication facilitator inenterprise application integration.

  • 8/3/2019 Chap 01 Updated

    24/34

    Enterprise Application IntegrationTypes of communication Middleware:

    Remote procedure call (RPC)

    Remote method invocation (RMI)

    Message oriented Middleware (MOM)

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

  • 8/3/2019 Chap 01 Updated

    25/34

    Distributed Pervasive Systems

    Default is instability

    Small, battery-powered, mobile, wireless connection

    Lack of human administrative control

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

  • 8/3/2019 Chap 01 Updated

    26/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Distributed Pervasive Systems

    Requirements for pervasive systems

    Embrace contextual changes.

    Encourage ad hoc composition. Recognize sharing as the default.

  • 8/3/2019 Chap 01 Updated

    27/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Home systems

    Systems built around home networks

    E.g. TV, Video, PDA, Kitchen appliances

    Should be self-configuring & self-managin

  • 8/3/2019 Chap 01 Updated

    28/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Electronic Health Care Systems (1)

    Questions to be addressed for health care systems: Where and how should monitored data bestored?

    How can we prevent loss of crucial data?

    What infrastructure is needed to generate andpropagate alerts?

    How can physicians provide online feedback?

    How can extreme robustness of the monitoringsystem be realized?

    What are the security issues and how can theproper policies be enforced?

  • 8/3/2019 Chap 01 Updated

    29/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Electronic Health Care Systems (2)

    Figure 1-12. Monitoring a person in a pervasive electronic healthcare system, using (a) a local hub or

    (b) a continuous wireless connection.

  • 8/3/2019 Chap 01 Updated

    30/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Sensor Networks (1)

    Questions concerning sensor networks:

    How do we (dynamically) set up anefficient tree in a sensor network?

    How does aggregation of results takeplace? Can it be controlled?

    What happens when network links fail?

  • 8/3/2019 Chap 01 Updated

    31/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Sensor Networks (2)

    Figure 1-13. Organizing a sensor network database, while storingand processing data (a) only at the operators site or

  • 8/3/2019 Chap 01 Updated

    32/34

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

    Sensor Networks (3)

    Figure 1-13. Organizing a sensor network database, while storingand processing data or (b) only at the sensors.

  • 8/3/2019 Chap 01 Updated

    33/34

    Summary

    Distributed Systems (DS) consist of autonomous computersthat work together to give the appearance of a singlecoherent system

    DS make it easier to integrate different applications runningon different computers into a single system

    Well designed DS scale well with respect to the size of theunderlying network.

    Cost: more complex software, performance & security

    Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

  • 8/3/2019 Chap 01 Updated

    34/34

    Summary DS aim to hide distribution of processes, data & control

    (distribution transparency)

    Many developers make wrong assumptions when developing

    DS Different types of DS

    Emerging class of DS, ubiquitous computing (not managedthrough system administrator)