EEC-681/781 Distributed Computing Systems - PowerPoint PPT Presentation

About This Presentation
Title:

EEC-681/781 Distributed Computing Systems

Description:

EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing_at_ieee.org – PowerPoint PPT presentation

Number of Views:390
Avg rating:3.0/5.0
Slides: 25
Provided by: Wenb93
Category:

less

Transcript and Presenter's Notes

Title: EEC-681/781 Distributed Computing Systems


1
EEC-681/781Distributed Computing Systems
  • Lecture 3
  • Wenbing Zhao
  • Department of Electrical and Computer Engineering
  • Cleveland State University
  • wenbing_at_ieee.org

2
Outline
  • Mock quiz
  • Techniques for scaling
  • Middleware
  • Distributed system models
  • Fundamental model

3
Techniques for Scaling
  • Hiding communication latencies
  • Distribution
  • Replication

4
Hiding Communication Latencies
  • Applicable to geographical scalability
  • Technique 1 Avoid waiting for responses to
    remote service requests
  • Use asynchronous communication style
  • Technique 2 Reduce the overall communication by
    moving part of the computation from server to
    client
  • Code/process migration

5
Scaling by Distribution
  • Distribution Partition data and computations
    across multiple machines
  • Examples Domain name services (DNS)
  • DNS name space is hierarchically organized into a
    tree of domains, which are divided into
    nonoverlapping zones

6
Decentralized Naming Service
7
Scaling by Replication
  • Replication Make copies of data available at
    different machines across the distributed system
  • Examples
  • Replicated file servers
  • Replicated databases
  • Mirrored Web sites
  • Large-scale distributed shared memory systems

8
Scaling by Replication
  • Replication Benefits
  • Increasing availability
  • Load balancing
  • Increasing the geographical scalability by
    placing a copy nearby different users

9
Problem with Scaling by Replication
  • Having multiple copies might leads to
    inconsistencies
  • Modifying one copy makes that copy different from
    the rest
  • Always keeping copies consistent and in a general
    way requires global synchronization on each
    modification
  • Global synchronization precludes large-scale
    solutions
  • Global synchronization is needed to minimize
    inconsistencies

10
Scaling by Caching
  • Caching A special form of replication. It allows
    client processes to access local copies
  • Web caches (browser/Web proxy)
  • File caching (at server and client)
  • Similarity to replication making a copy of a
    resource, generally in the proximity of the
    client accessing that resource
  • Difference from replication caching is a
    decision made by the client of a resource, not by
    the owner of the resource

11
Middleware
  • Middleware
  • Position in between a distributed application
    and operating system
  • Functionality it provides common services for
    distributed computing
  • Implementation it incorporates lots of
    distributed systems design principles

12
Why Middleware
  • Better productivity
  • Quicker implementation of business logic because
    you dont worry many low level distributed
    computing issues
  • Better performance
  • Middleware is written by experts
  • Better interoperability, extensibility, etc.
  • Better security

13
Middleware Services
  • Many middleware systems offer a more-or-less
    complete collection of services and discourage
    using anything else but their interfaces to those
    services

14
Middleware Services
  • Communication services Abandon primitive socket
    based message passing in favor of
  • Procedure calls across networks
  • Remote-object method invocation
  • Message-queuing systems
  • Advanced communication streams
  • Event notification service

15
Middleware Services
  • Information system services help manage data in
    a distributed system
  • Large-scale, system-wide naming services
  • Advanced directory services (search engines)
  • Location services for tracking mobile objects
  • Persistent storage facilities
  • Data caching and replication

16
Middleware Services
  • Control services Giving applications control
    over when, where, and how they access data
  • Distributed transaction processing
  • Code migration
  • Security services Secure processing and
    communication
  • Authentication and authorization services
  • Simple encryption services
  • Auditing service

17
Distributed System Models
  • Fundamental models
  • Concerned with a more formal description of the
    properties that are common to all of the
    architectural models
  • Architectural models
  • Concerned with the placement of its parts and the
    relationships between them

18
Fundamental Models
  • Interaction Models
  • Synchronous distributed systems
  • Asynchronous distributed systems
  • Failure Models
  • Timing faults
  • Process faults
  • Security Models
  • Protecting process
  • Protecting communication channels
  • Protecting objects against authorized access

19
Common Properties on Interactions
  • Communications over computer networks
  • Latency, throughput, jitter
  • Synchronization of distributed processes
  • No global time, each machine has its own viewof
    time
  • As a result, cannot fully control process
    execution, message delivery, clock drift

20
Synchronous Distributed Systems
  • Definition
  • Time to execute each step of a process has known
    lower and upper bounds
  • Each message transmitted over a channel is
    received within a known bounded time
  • Each process has a local clock whose drift rate
    from real time has a known bound

21
Synchronous Distributed Systems
  • How to build one
  • For each task, guaranteed sufficient resources
    being allocated, e.g., processor cycles and
    network bandwidth
  • Clocks with bounded drift rates

22
Asynchronous Distributed Systems
  • Definition
  • Unbounded time to execute each step of a process
  • Unbounded message transmission
  • Unbounded clock drift rates from real time

23
Asynchronous Distributed Systems
  • Actual systems are very often asynchronous
    because of the need for sharing of processors and
    network
  • Protocols designed for asynchronous systems can
    be used in any system

24
Impossibility Results
  • In an asynchronous distributed system, processes
    cannot reach consensus with even one process
    failure
  • One cannot distinguish a failed node from a slow
    one
  • Implications Perfect Common knowledge is not
    achievable in an asynchronous distributed system
Write a Comment
User Comments (0)
About PowerShow.com