Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University"— Presentation transcript:

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

2 2 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao Outline Mock quiz Techniques for scaling Middleware Distributed system models –Fundamental model

3 3 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao Techniques for Scaling Hiding communication latencies Distribution Replication

4 4 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 5 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 6 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao Decentralized Naming Service

7 7 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 8 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao Scaling by Replication Replication Benefits –Increasing availability –Load balancing –Increasing the geographical scalability by placing a copy nearby different users

9 9 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 10 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 11 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 12 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao Why Middleware Better productivity –Quicker implementation of business logic because you don’t worry many low level distributed computing issues Better performance –Middleware is written by experts Better interoperability, extensibility, etc. Better security

13 13 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 14 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 15 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 16 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 17 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 18 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 19 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao Common Properties on Interactions Communications over computer networks –Latency, throughput, jitter Synchronization of distributed processes –No global time, each machine has its own “view”of time –As a result, cannot fully control process execution, message delivery, clock drift

20 20 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 21 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 22 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao Asynchronous Distributed Systems Definition –Unbounded time to execute each step of a process –Unbounded message transmission –Unbounded clock drift rates from real time

23 23 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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 24 Fall Semester 2006EEC-681: Distributed Computing SystemsWenbing Zhao 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


Download ppt "EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University"

Similar presentations


Ads by Google