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

Slides:



Advertisements
Similar presentations
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Advertisements

Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Distributed Processing, Client/Server, and Clusters
Distributed components
EECE 411: Design of Distributed Software Applications What is a Distributed System? You know when you have one … … when the failure of a computer you’ve.
Distributed Systems Architectures
REK’s adaptation of Prof. Claypool’s adaptation of
EEC-681/781 Distributed Computing Systems Discussion#1 (Chapter 1&2) Wenbing Zhao
Based on last years lecture notes, used by Juha Takkinen.
EECE 411: Design of Distributed Software Applications What is a Distributed System? You know when you have one … … when the failure of a computer you’ve.
EEC-681/781 Distributed Computing Systems Lecture 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
Advanced Operating Systems Welcome to this course, in Fall Semester Main TextBooks 1- Tanenbaum’s book 2- Chow’s Book 3- Singhal’s Book Other extra.
Distributed Systems Principles and Paradigms
Distributed Systems: Principles and Paradigms Chapter 01 Introduction.
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.
Architectures of distributed systems Fundamental Models
Distributed Software Engineering Lecture 1 Introduction Sam Malek SWE 622, Fall 2012 George Mason University.
Distributed System Models (Fundamental Model). Architectural Model Goal Reliability Manageability Adaptability Cost-effectiveness Service Layers Platform.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
OS2- Sem ; R. Jalili Introduction Chapter 1.
Kyung Hee University 1/41 Introduction Chapter 1.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.
1- Distributed Systems Principles and Paradigms Operating Systems: Concurrent and Distributed Software Design Jean Bacon, Tim Harris 2003.
Distributed Computing Systems CSCI 4780/6780. Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!!
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
GLOBE DISTRIBUTED SHARED OBJECT. INTRODUCTION  Globe stands for GLobal Object Based Environment.  Globe is different from CORBA and DCOM that it supports.
Prepared By: Md Rezaul Huda Reza
OS2- Sem1-83; R. Jalili Introduction Chapter 1. OS2- Sem1-83; R. Jalili Definition of a Distributed System (1) A distributed system is: A collection of.
Distributed Systems: Principles and Paradigms By Andrew S. Tanenbaum and Maarten van Steen.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
D ISTRIBUTED S YSTEM UNIT-1 Prepared By: G.S.Mishra.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Chapter 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University Building Dependable Distributed Systems.
Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent.
Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
6.894: Distributed Operating System Engineering Lecturers: Frans Kaashoek Robert Morris
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
 Distributed Database Concepts  Parallel Vs Distributed Technology  Advantages  Additional Functions  Distribution Database Design  Data Fragmentation.
Distributed System Models
第 1 讲 分布式系统概述 §1.1 分布式系统的定义 §1.2 分布式系统分类 §1.3 分布式系统体系结构.
EEC 688/788 Secure and Dependable Computing Lecture 9 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Systems Architecure. Architectures Architectural Styles Software Architectures Architectures versus Middleware Self-management in distributed.
Definition of Distributed System
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Advanced Operating Systems
Consistency and Replication
Architectures of distributed systems Fundamental Models
EEC 688/788 Secure and Dependable Computing
Architectures of distributed systems Fundamental Models
EEC 688/788 Secure and Dependable Computing
Outline Review of Classical Operating Systems - continued
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
EEC 688/788 Secure and Dependable Computing
Presentation transcript:

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

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

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

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

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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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