1- Distributed Systems Principles and Paradigms 2002 - 2007 2- Operating Systems: Concurrent and Distributed Software Design Jean Bacon, Tim Harris 2003.

Slides:



Advertisements
Similar presentations
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.
Advertisements

CHARACTERIZATION OF DISTRIBUTED SYSTEMS
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.
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.
Based on last years lecture notes, used by Juha Takkinen.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Overview Distributed vs. decentralized Why distributed databases
Introducing … Distributed Systems.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Grids and Grid Technologies for Wide-Area Distributed Computing Mark Baker, Rajkumar Buyya and Domenico Laforenza.
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.
20101 Overview Distributed systems Layers Communication is logically on the application layer Only that has to be considered except for speed,
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Dr. Kalpakis CMSC621 Advanced Operating Systems Introduction.
Introduction to distributed computing
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed (Operating) Systems -Introduction- 1 Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University.
1 Distributed Systems Introduction Chapter 1. 2 Course/Slides Credits Note: all course presentations are based on those developed by Andrew S. Tanenbaum.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
ICS362 – Distributed Systems Dr. Ken Cosh Week 1.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Introduction to DISTRIBUTED SYSTEMS Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
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
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Systems Principles and Paradigms
Distributed Systems: Principles and Paradigms Chapter 01 Introduction.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Distributed Systems: Concepts and Design Chapter 1 Pages
Dr. Naglaa Soliman Princess Nora Bint Abdulrahman University College.
Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.
Introduction to DISTRIBUTED COMPUTING Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Distributed Software Engineering Lecture 1 Introduction Sam Malek SWE 622, Fall 2012 George Mason University.
A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES1 Chapter 1. Distributed systems: Definitions, design.
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.
L-1 Introduction 1. Today's Lecture Administrivia Example topics 2.
Distributed Computing Systems CSCI 4780/6780. Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!!
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 1 Introduction.
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.
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.
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 分布式系统体系结构.
Distributed Systems Tanenbaum Chapter 1.
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
TEXT: Distributed Operating systems A. S. Tanenbaum Papers oriented on: 1.OS Structures 2.Shared Memory Systems 3.Advanced Topics in Communications 4.Distributed.
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.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
1 Prof. Leonardo Mostarda University of Camerino Distributed Systems – intro Prof. Leonardo Mostarda-- Camerino,
Chapter 1 Characterization of Distributed Systems
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Prof. Leonardo Mostarda University of Camerino
Definition of Distributed System
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Distributed Systems IT332
Advanced Operating Systems
Introduction To Distributed Systems
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Presentation transcript:

1- Distributed Systems Principles and Paradigms Operating Systems: Concurrent and Distributed Software Design Jean Bacon, Tim Harris 2003

1 INTRODUCTION 1.1 DEFINITION AND CHARACTERISTICS OF A DISTRIBUTED SYSTEM 1.2 TYPES OF DISTRIBUTED SYSTEMS 2 ARCHITECTURES 2.1 ARCHITECTURAL STYLES 2.2 SYSTEM ARCHITECTURES 3 PROCESSES, THREADS, MIGRATION 4 COMMUNICATION 4.1 FUNDAMENTALS 4.2 Types of Communication REMOTE PROCEDURE CALL MESSAGE-ORIENTED COMMUNICATION STREAM-ORIENTED COMMUNICATION MULTICAST COMMUNICATION 7 CONSISTENCY AND REPLICATION 7.1 INTRODUCTION 7.2 DATA-CENTRIC CONSISTENCY MODELS 7.3 CLIENT-CENTRIC CONSISTENCY MODELS 7.4 REPLICA MANAGEMENT 7.5 CONSISTENCY PROTOCOLS 10 DISTRIBUTED OBJECT-BASED SYSTEMS

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.

Definition of a Distributed System (2) A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface.

Motivation and Goals  Making resources available – Systems should allow for efficient and controlled access to and sharing of distributed resources  Transparency Hiding distribution – Systems should look as if only a single computer system is running  Openness – Systems should offer services according to standard rules that describe the syntax and semantics of those Services  Scalability – Systems should scale with respect to size,geography, and administrative boundaries

Features 1-Transparency

Access Transparency

Location Transparency

Migration Transparency

Relocation Transparency

Replication Transparency

Concurrency Transparency

Failure Transparency

Interoperability Portability extensible

2-Scalability: Size scalable: easily add more users & recourses to the system Geographically scalable : users & resources may lie far apart Administratively scalable: it can still be easy to manage even if it spans independent administrative organizations

Scalability

Characteristics of decentralized algorithms: No machine has complete information about the system state. Machines make decisions based only on local information. Failure of one machine does not ruin the algorithm. There is no implicit assumption that a global clock exists.

Techniques for Scaling Hide communication latencies Distribution Replication

Avoid waiting for responses; do something else: Make use of asynchronous communication Have separate handler for incoming response Problem: not every application fits this model Hide communication latencies Techniques for Scaling

Scaling Techniques (1) 1.4 The difference between letting: a)a server or b)a client check forms as they are being filled

Partition data and computations across multiple machines: Move computations to clients (Java applets) Decentralized naming services (DNS) Decentralized information systems (WWW) Distribution Techniques for Scaling

Scaling Techniques (2) An example of dividing the DNS name space into zones.

Scaling Techniques (2) address: nl.vu.cs.flits z1 z2 z3

Make copies of data available at different machines: Replicated file servers and databases Mirrored Web sites Web caches (in browsers and proxies) File caching (at server and client) Replication/caching Techniques for Scaling

Scaling – The Problem Observation Applying scaling techniques is easy, except for one thing: Having multiple copies (cached or replicated), 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. Observation If we can tolerate inconsistencies, we may reduce the need for global synchronization, but tolerating inconsistencies is application dependent.

Pitfalls when Developing Distributed Systems 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.

Types of Distributed Systems: 1- Distributed Computing Systems :Focus on computation Cluster Computing Systems Grid Computing Systems 2- Distributed Information Systems: Focus on interoperability Transaction Processing Systems Enterprise Application Integration (Exchange info via RPC or RMI) 3- Distributed Pervasive Systems (usually small, battery- powered systems, Mobile & wireless): Focus on mobile, embedded, communicating Home Systems (e.g. Smart phones, PDAs) Electronic Health care systems (Heart monitors, BAN: Body Area Networks) Sensor Networks (distributed Databases connected wirelessly )

Cluster Computing Systems - Hooking up a collection of simple computers via high-speed networks to build a supercomputing environment - Mostly homogenous - Example: server clusters at Banks

Grid Computing Systems - have a high degree of heterogeneity -Users and recourses from different organizations are brought together to allow collaboration (i.e. a V.O. = Virtual Organization) - Members belonging to the same V.O. have access rights to a common set of recourses (e.g. Police, FBI, and some local agencies may form a computing grid)

Grid Computing Layers Fabric layer: provides interface to local resources at a specific site within a V.O. Connectivity layer: transfer data between resources or access a resource from a remote location Resource layer: managing a single recourse such as creating a process or reading data Collective layer: access to multiple resources and typically consists of services for resource discovery, allocation and scheduling.

Transaction Processing Systems (1)

Transaction Processing Systems (2) (ACID) Characteristic: Atomic: 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.

A nested transaction Transaction Processing Systems (3)

Transaction Processing Systems (4) The role of a Transaction Processing (TP) monitor in distributed systems

Enterprise Application Integration -CORBA (Common Object Request Broker Architecture) -DCOM (Distributed Component Object Management) -RPC (Remote Procedure Call) -RMI (Remote Method Invocation)

Distributed Pervasive Systems Embrace contextual changes ( a phone now is a web access device. A device must continuously be aware of the fact that its environment may change) Encourage ad hoc composition (used differently by different users, e.g. PDA) Recognize sharing as the default (easily read, store, manage, and share info)

Electronic Health Care Systems (1) Where and how should monitored data be stored? How can we prevent loss of crucial data? What infrastructure is needed to generate and propagate alerts? How can physicians provide online feedback? How can extreme robustness of the monitoring system be realized? What are the security issues and how can the proper policies be enforced?

Electronic Health Care Systems (2) Monitoring a person in a pervasive electronic health care system, using (a) a local hub or - (b) a continuous wireless connection.

Sensor Networks (1) How do we (dynamically) set up an efficient tree in a sensor network? How does aggregation of results take place? Can it be controlled? What happens when network links fail?

Sensor Networks (2) Organizing a sensor network database, while storing and processing data (a) only at the operator’s site or …

Sensor Networks (3) Organizing a sensor network database, while storing and processing data … or (b) only at the sensors.