Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Chapter 1 Introduction.

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

Replication. Topics r Why Replication? r System Model r Consistency Models r One approach to consistency management and dealing with failures.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
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.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Based on last years lecture notes, used by Juha Takkinen.
Overview Distributed vs. decentralized Why distributed databases
EEC-681/781 Distributed Computing Systems Lecture 3 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.
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.
TRANSACTION PROCESSING TECHNIQUES BY SON NGUYEN VIJAY RAO.
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.
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
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Dr. Naglaa Soliman Princess Nora Bint Abdulrahman University College.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Software Engineering Lecture 1 Introduction Sam Malek SWE 622, Fall 2012 George Mason University.
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 Architectures.
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.
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.
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!!
Kjell Orsborn UU - DIS - UDBL DATABASE SYSTEMS - 10p Course No. 2AD235 Spring 2002 A second course on development of database systems Kjell.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed database system
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
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.
Chap 7: Consistency and Replication
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved 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.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Introduction to Active Directory
第 1 讲 分布式系统概述 §1.1 分布式系统的定义 §1.2 分布式系统分类 §1.3 分布式系统体系结构.
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.
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,
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Advanced Operating Systems
7.1. CONSISTENCY AND REPLICATION INTRODUCTION
CLUSTER COMPUTING.
Outline Introduction Background Distributed DBMS Architecture
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Introduction To Distributed Systems
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Presentation transcript:

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 1 Introduction DISTRIBUTED SYSTEMS (dDist) 2014

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Plan Definition Characteristics of distributed systems Main types of distributed systems

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved 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.”

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Definition of a Distributed System (2) Dropbox Google docs NFS DNS Computer science’s home page Other examples of distributed systems? A distributed system is a collection of independent computers that appears to its users as a single coherent system.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Definition of a Distributed System (3) Figure 1-1. A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Definition of a Distributed System (4) Handling errors is central to distributed systems –Computer will crash –Network cables will be cut –Administrators will make stupid mistakes But a few mistakes should not take down the entire system! Q: Google has more than 1,000,000 servers. What should be the probability per day that a server crashes for Google to be able to assume that all servers run error free throughout the year with probability 99%

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Replication, an example Price of one reliable computer along with reliable network connection, power supply and administration such that it is guaranteed to only fail for one day during a year with probability.1%: $ Price of one cheap computer, normal network and power supply such that it is guaranteed to only fail for a day during a year with probability 10%: 10000$ How to save 70000$ and do better: Buy three cheap machines, place them at distinct locations and build a system which ensure that the replicated system work as long as two out of three servers are operational at a time Q: What is the probability that the replicated system fails? A: Less that 0.05%

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Motivation and Goals Making resources available –Systems should allow for efficient and controlled access to and sharing of distributed/remote resources Hiding distribution – Distribution Transparency –Systems should look as if only a single computer system is running Openness – Interoperability –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

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Transparency in a Distributed System Figure 1-2. Different forms of transparency in a distributed system (ISO, 1995).

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Scalability? Figure 1-3. Examples of scalability limitations.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Scalability Use 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 Why the last requirement?

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Scaling Techniques Asynchronous Communication Synchronous communication –Ttotal > T1 + T2 Asynchronous communication –Possible that Ttotal <= T1 + T2

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Scaling Techniques Unload the server Figure 1-4. The difference between letting (a) a server or (b) a client check forms as they are being filled.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Scaling Techniques Distribution, Replication Can distribution and replication give problems? Figure 1-5. An example of dividing the DNS name space into zones.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Pitfalls when Developing Distributed Systems Lazy assumptions made by first-time developer: –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

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Main Distributed System Types Distributed computing systems –Cluster: Focus on computation, –Grid: Focus on accessing remote resources Distributed information systems –Databases –Focus on interoperability in reading and manipulating data Distributed pervasive systems –Focus on mobile, embedded, communicating systems

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Main Distributed System Types Distributed computing systems –Cluster: Focus on computation, –Grid: Focus on accessing remote resources Distributed information systems –Databases –Focus on interoperability in reading and manipulating data Distributed pervasive systems –Focus on mobile, embedded, communicating systems

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Cluster Computing Systems Figure 1-6. An example of a cluster computing system.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Cluster Computing Systems Figure 1-6. An example of a cluster computing system.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved NFIT Spam Cluster University of Aarhus cluster –2 * 2 redundant front-ends at two sites –2 redundant back-ends at each site –It is possible to add new back-ends Use –Spam filtering for AU, ST, SAMF, HUM, ADM, HIH –25k-40k users –Now around 200k spams a day

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Grid Computing Systems Figure 1-7. A layered architecture for grid computing systems.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Main Distributed System Types Distributed computing systems –Cluster: Focus on computation, –Grid: Focus on accessing remote resources Distributed information systems –Databases –Focus on interoperability in reading and manipulating data Distributed pervasive systems –Focus on mobile, embedded, communicating systems

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Transaction Processing Systems Figure 1-8. Example primitives for transactions.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Example BEGIN_TRANSACTION balance1 = account1.getBalance() account1.setBalance(account1 + transfer) balance2 = account2.getBalance() account2.setBalance(account2 - transfer) END_TRANSACTION

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Characteristic properties of transactions ACID: 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

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Isolation/Serializability T1 and T2 executed concurrently/interleaved, effects will be as –T1 executed, then T2 executed, or –T2 executed, then T1 executed Simple, but slow approach: –Run transactions serially, i.e., no interleaving... The point here is that a database server may optimize based on interleaved scheduling of transcation steps!

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Lost Update T1 –balance1 = account1.getBalance() –account1.setBalance(balance1 + trans) –balance2 = account2.getBalance() –account2.setBalance(balance2 - trans) T2 –balance1 = account1.getBalance() –account1.setBalance(balance1 + trans) –balance3 = account3.getBalance() –account3.setBalance(balance3 - trans)

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved An Interleaving but Serializable Transaction T1 –balance1 = account1.getBalance() –account1.setBalance(balance1 + trans) –balance2 = account2.getBalance() –account2.setBalance(balance2 - trans) T2 –balance1 = account1.getBalance() –account1.setBalance(balance1 + trans) –balance3 = account3.getBalance() –account3.setBalance(account3 - trans)

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Transaction Processing Systems Durable when? Figure 1-9. A nested transaction

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Transaction Processing Monitor Figure The role of a TP monitor in distributed systems.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Enterprise Application Integration Interclient communication Figure Middleware as a communication facilitator in enterprise application integration

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Main Distributed System Types Distributed computing systems –Cluster: Focus on computation, –Grid: Focus on accessing remote resources Distributed information systems –Databases –Focus on interoperability in reading and manipulating data Distributed pervasive systems –Focus on mobile, embedded, communicating systems

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Distributed Pervasive Systems per·va·sive adj \pər- ˈ vā-siv, -ziv\ : existing in or spreading through every part of something

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Distributed Pervasive Systems Requirements for pervasive systems –Embrace contextual changes E.g., base station jumping –Encourage ad-hoc composition E.g., make it easy to configure devices in a personalized way or for new use –Recognize sharing as the default E.g., to facilitate the discovery of new context and available resources

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Electronic Health Care Systems Figure Monitoring a person in a pervasive electronic health care system, using –(a) a local hub or –(b) a continuous wireless connection.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Sensor Networks (1) E.g., thousands of sensors sitting in tree tops throughout a forest and collecting information on CO 2 levels Typically: –Relatively cheap components –Connected by wireless communication –No external power supply Makes efficiency in communication a high priority Also makes high failure tolerance important

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Sensor Networks (2) Questions concerning sensor networks: –How do we (dynamically) set up an efficient tree in a sensor network? –How does aggregation of results take place? –What happens when network links fail?

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Sensor Networks (3) Figure Organizing a sensor network database, while storing and processing data (a) only at the operator’s site or …

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Sensor Networks (4) Figure Organizing a sensor network database, while storing and processing data … or (b) only at the sensors.

Summary Goals and problems include –Access to resources –Transparency –Openness –Scalability Types of systems –Distributed Computing Systems –Distributed Information Systems –Distributed Pervasive Systems Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved A distributed system is a collection of independent computers that appears to its users as a single coherent system.