Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.

Slides:



Advertisements
Similar presentations
CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Introduction Distributed Systems Goals of Distributed Systems Hardware and Software Concepts.
Advertisements

Distributed Computing Systems Overview of Distributed Systems Andrew Tanenbaum and Marten van Steen, Distributed Systems – Principles and Paradigms, Prentice.
Database Architectures and the Web
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.
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.
REK’s adaptation of Prof. Claypool’s adaptation of
Chapter 1  Introduction 1 Introduction Chapter 1.
Based on last years lecture notes, used by Juha Takkinen.
CS4513 Distributed Computer Systems Introduction (Ch 1: , )
Distributed Operating Systems Spring 2007
Introducing … Distributed Systems.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
1 Introduction Chapter 1. 2 Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its.
Tutorials 1 1.What is the definition of a distributed system? 1.A distributed system is a collection of independent computers that appears to its users.
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,
Computer Science Lecture 1, page 1 CS677: Distributed OS Distributed Operating Systems Spring 2005 Prashant Shenoy UMass Computer Science
DISTRIBUTED COMPUTING
Dr. Kalpakis CMSC621 Advanced Operating Systems Introduction.
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.
Chapter 1 Characterization of Distributed Systems
ICS362 – Distributed Systems Dr. Ken Cosh Week 1.
Introduction Chapter 1. Definition of a Distributed System A distributed system [Tannenbaum & Steen] can be defined as a collection of independent computers.
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
Distributed Systems 1 CS- 492 Distributed system & Parallel Processing Sunday: 2/4/1435 (8 – 11 ) Lecture (1) Introduction to distributed system and models.
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
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.
Distributed Systems COEN 317 Introduction Chapter 1,2,3.
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.
1- Distributed Systems Principles and Paradigms Operating Systems: Concurrent and Distributed Software Design Jean Bacon, Tim Harris 2003.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 19/09/2007.
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.
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
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 Distributed Processing Chapter 1 : Introduction.
第 1 讲 分布式系统概述 §1.1 分布式系统的定义 §1.2 分布式系统分类 §1.3 分布式系统体系结构.
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.
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.
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
Chapter 1 Characterization of Distributed Systems
Definition of Distributed System
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Advanced Operating Systems
Introduction To Distributed Systems
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Presentation transcript:

Distributed Computing Systems CSCI 4780/6780

Distributed System A distributed system is: A collection of independent computers that appears to its users as a single coherent system.

Why Distributed Systems? Distributed (and mobile) users –Desire to access data/resources Distributed data/information –World Wide Web Distributed organizations –Multi-location & multinational corporations Distributed resources –Distributed file systems, grids, web farms Enabling technology: – Advances in communications and networks

Characteristics of Distributed Systems Hides heterogeneity and internal workings Easy to expand or scale Continuous availability Layered design Examples –Networked workstations –Distributed databases –WWW –Peer-to-peer systems

Distributed System Organization A distributed system organized as middleware. Note that the middleware layer extends over multiple machines. 1.1

Design Goals Make resources available to users –Enable resource sharing in a controlled manner Transparency –Hide distributed nature Openness –Complies to standards with regard to syntax and semantics –Interoperability Security & privacy Scalability & performance

Transparency in a Distributed System TransparencyDescription Access Hide differences in data representation and how a resource is accessed LocationHide where a resource is located MigrationHide that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use ReplicationHide that a resource may have multiple copies Concurrency Hide that a resource may be shared by several competitive users FailureHide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk How much transparency is needed? How much can we achieve?

Openness Security & Privacy Openness – Follows rules that describe syntax and semantics –Interface definition language –Interoperability, portability –Mechanism-policy separation Security –Access control –Data integrity –Data/service availability –Copyright protection

Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line telephone book Centralized algorithmsDoing routing based on complete information Scalability with respect to size Scalability with respect to geographical location Scalability with respect to management Scalability Problems

Example Problem: Design a Highly Scalable Map (Direction) Service Data – Route information Task – Computing shortest (least cost) routes Option 1: Store all data at a single server, perform all computations there Option 2: Store data centrally, but perform operations on multiple nodes Option 3: Store data at multiple locations and perform operations in a distributed fashion

Characteristics of Distributed Algorithms Single machine does not have complete information Decisions are made based on local information Failure of a node does not cause the algorithm to fail No global clock Distributed algorithms are much harder than centralized algorithms

Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!! Unreliable networks –Broadcasting does not work Centralized components –Will eventually become bottlenecks Multiple administrative domains –Security mechanisms do not come for free

Scalability Techniques Hiding communication latencies –Asynchronous communication –Reduce amount of data transmitted Distribution –Spreading work across system Caching and replication –Make copies of data and services Balance load –Avoid hot spots

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

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

Pitfalls Network is reliable Network is secure Network is homogeneous Topology does not change Latency is zero Bandwidth is infinite Transport cost is zero Single administrator

Types of Distributed Systems High-Performance Computing Systems Cluster computing Grid computing Distributed Information Systems Transaction processing systems Enterprise application integration P2P systems Distributed Pervasive Systems Mobile networks Sensor networks

Cluster Computing Super computing using PCs/workstations Used for parallel programming Homogeneity among nodes Master allocates nodes to tasks Compute nodes run standard operating systems (and may be a very thin middleware) Middleware consists of parallel programming libraries

Cluster Computing Systems An example of a cluster computing system.

Grid Computing Formed from heterogeneous set of machines May belong to different organizations Virtual organization Resource access and management 4-layered organization Fabric layer – Interfacing to local resources Connectivity layer – Connection handling and security Resource layer – Managing a single resource Collective layer – Simultaneous management of multiple resources Application layer – Hosts applications

Grid Computing Systems A layered architecture for grid computing systems.

Distributed Information Systems Lots of networked applications Sometimes belonging to different organizations Little interoperability Simplest integration Bundling operations together at client end Enterprise application integration Applications talking to each other

Transaction Processing Systems

Properties of Transactions 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.

Examples Banking example Airline ticket booking example

Nested Transactions Transactions constructed from multiple sub- transactions Example: Travel Agent Problem with nested transactions What if one of the sub-transactions fail? TP monitor architecture

Nested Transactions

Transaction Processing Architecture The role of a TP monitor in distributed systems.

Enterprise Application Integration Middleware as a communication facilitator in enterprise application integration.

Distributed Pervasive Systems Ad hoc composition Extreme heterogeneity Wired network/wireless network High churn rate Resource constraints Contextual changes Possible mobility