20101 Overview Distributed systems. 20102 Layers Communication is logically on the application layer Only that has to be considered except for speed,

Slides:



Advertisements
Similar presentations
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
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.
Distributed Processing, Client/Server, and Clusters
Distributed components
Technical Architectures
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
REK’s adaptation of Prof. Claypool’s adaptation of
Based on last years lecture notes, used by Juha Takkinen.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 31/10/2007.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Introducing … Distributed Systems.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
DISTRIBUTED COMPUTING
Dr. Kalpakis CMSC621 Advanced Operating Systems Introduction.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
A brief overview about Distributed Systems Group A4 Chris Sun Bryan Maden Min Fang.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
DM Rasanjalee Himali CSc8320 – Advanced Operating Systems (SECTION 2.6) FALL 2009.
Distributed Systems Principles and Paradigms
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 2 ARCHITECTURES.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Architectures of distributed systems Fundamental Models
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2011.
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!!
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
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.
ICS362 – Distributed Systems Dr. Ken Cosh Week 2.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
第 1 讲 分布式系统概述 §1.1 分布式系统的定义 §1.2 分布式系统分类 §1.3 分布式系统体系结构.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
TEXT: Distributed Operating systems A. S. Tanenbaum Papers oriented on: 1.OS Structures 2.Shared Memory Systems 3.Advanced Topics in Communications 4.Distributed.
Background Computer System Architectures Computer System Software.
Primitive Concepts of Distributed Systems Chapter 1.
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.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Chapter 1 Characterization of Distributed Systems
Distributed Operating Systems Spring 2004
Distributed Operating Systems
Definition of Distributed System
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
#01 Client/Server Computing
Advanced Operating Systems
Introduction To Distributed Systems
Introduction Chapter 1.
#01 Client/Server Computing
Presentation transcript:

20101 Overview Distributed systems

20102 Layers Communication is logically on the application layer Only that has to be considered except for speed, reliability, security and cost Error correction (and security) might (will) be on application layer, but is usually also on lower layers

20103 Client-Server and Peer-to-Peer Server always on; Client and Peers not P2P: Skype, BitTorrent; IM: partly, messages yes, setup+addr. not

20104 Problems No throughput guaranties: problems with bandwidth-sensitive application, like many multimedia applications some may use adaptive coding techniques (reducing quality) to match available throughput No timing (delay or jitter) guaranties problems for real-time streaming multimedia like telephony, multi-layer games, teleconferencing no solution for this except special networks non-real time streaming multimedia (like a movie replay) can buffer at the receiver No security this can be cured by SSL(secure socket layer) also by network layer security methods

20105 Distributed systems A collection of independent computers that appears to its users (people or programs) as a single coherent system.

20106 Goals: sharing, transparent making resources accessible –economics: printers, storage systems, supercomputers –information exchange: mail, audio, video –collaboration: groupware, videoconferencing, virtual organizations distribution transparency

20107 Goals: openness Openness –offer services according standard rules describing syntax and semantics of services computer networks: protocols distributed systems: interfaces described in an IDL (Interface Definition Language) –to achieve interoperability and portability –extensible: add new components or replace existing collection of relatively small component separate policies and mechanism

20108 size: easily add more users and resources geographically: increasing distances administration: easy to manage if it increases limitations decentralized algorithm: –no machine has complete information about the system state –each machines makes decisions based only on local information –failure of one machine does not ruin the algorithm –no implicit assumption a global clock exists Goals: scalable

20109 Distributing Computing Systems Cluster Computing Systems: high performance computing

Grid Computing Systems high degree of heterogeneity: resource from different organizations are brought together in a virtual organization.

Distributed Information Systems Transaction Processing System Atomic: To the outside world, the transaction happens indivisibly. Consistent: The transaction does not violate system invariants. Isolated: Concurrent transactions do not interfere with each other. Durable: Once a transaction commits, the changes are permanent.

Nested Transaction

TP monitor

Distributed Pervasive Systems consisting of mobile and embedded computing devices –small, battery-powered, mobile, wireless connections

Sensor Networks

Important topics 1.architecture: software and system 2.processes: treads, virtual machines, client-server organization, code migration 3.communication: layered protocols, Remote Procedure Calls, Message Passing Interface 4.naming: names, identifiers, addresses 5.synchronization: (logical) clocks, mutual exclusion, election algorithms 6.consistency and replication 7.fault tolerance 8.security

Architecture (1) layered object-based data-centered event-based

Architecture (2) Processes communicate through a common (passive or active) repository. Events may carry data Publish/subscribe systems Loosely coupled processes

Application layering user-interface processing data Using an Internet search engine

Alternative client-server organization Thin - fat clients easier – difficult to manage application and database on different servers Vertical distribution: placing logically different components on different machines

Peer-to-peer systems Horizontal distribution: client or server physically split up in equivalent parts, operating on its own share of the data set Distributed Hash Tables data items with key k mapped on node with id: smallest id >= k

Collaborative Distributed Systems for a node to join often a client-server scheme is used an example is BitTorrent a Tracker keeps an account of active nodes (currently downloading some file) having (chunks of) the requested file the client node becomes than active, providing also (chunks of) files

Processes and treads a way to do more things at the same time illusion that each one has it own virtual CPU used in clients (e.g. browser to start downloading parts of a website at the same time) and servers

Virtual Machines not only virtualization of CPU but also of other resources many different OS’s working concurrently on 1 machine old technique from the 1960’s

Process virtual machine same OS, different runtime-systems (with applications)

Virtual machine manager multiple different OS’s concurrently on same hardware System Hardware Host Operating System Virtual Machine Manager Virtual Machine Guest OS (Windows 2003) Applications Virtual Machine Guest OS (Windows NT) Guest OS (Windows 2000) ApplicationsApplications V i r t u a l P h y s i c a l

Virtual private servers bridge the gap between shared web hosting services and dedicated hosting services also for workstations examples VMware, VirtualPC

Communication send and receive over TCP streams using socket interface for networks message passing, higher level of abstraction –representation of integers, floats, structures, etc –usable for shared memory communication and high- speed interconnect busses on parallel machines RPC, Remote Procedure Call

Naming Names are used to refer to entities (anything that can be operated on) The naming system may be itself be implemented in a distributed fashion. We need to resolve a name to the entity it refers to. How to organize a human friendly name system? E.g. files systems, World Wide Web How to locate from a name the entity it refers to in a way that is independent of their current location. How to resolve names by means of entity attributes? Internets Domain Name System as an example

Synchronization Synchronization of distributed processes is more difficult than that of processes in uni/multi-processor systems. using physical clocks on systems is not accurate enough, need for logical clocks distributed global states distributed mutual exclusion the bully election algorithm