Introduction to Distributed Systems. Distributed System Definitions:  “A distributed system is a collection of independent computers that appear to the.

Slides:



Advertisements
Similar presentations
Distributed Computing Systems Overview of Distributed Systems Andrew Tanenbaum and Marten van Steen, Distributed Systems – Principles and Paradigms, Prentice.
Advertisements

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Classification of Distributed Systems Properties of Distributed Systems n motivation: advantages of distributed systems n classification l architecture.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
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.
REK’s adaptation of Prof. Claypool’s adaptation of
Distributed Hardware How are computers interconnected ? –via a bus-based –via a switch How are processors and memories interconnected ? –Private –shared.
SKR 4401 Distributed Systems
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Introducing … Distributed Systems.
1 Introduction Chapter 1. 2 Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its.
Introduction to Distributed Systems CS412: Programming Distributed Applications Computer Science Southern Illinois University CS412: Programming Distributed.
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.
Computer Science Lecture 1, page 1 CS677: Distributed OS Distributed Operating Systems Spring 2005 Prashant Shenoy UMass Computer Science
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
DISTRIBUTED COMPUTING
Dr. Kalpakis CMSC621 Advanced Operating Systems Introduction.
Massively Distributed Database Systems Spring 2014 Ki-Joune Li Pusan National University.
Introduction Chapter 1. Definition of a Distributed System A distributed system [Tannenbaum & Steen] can be defined as a collection of independent computers.
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.
1. Introduction to Distributed Systems. 1. Introduction Two advances in computer technology: A. The development of powerful microprocessors. B. The invention.
1 Lecture 20: Parallel and Distributed Systems n Classification of parallel/distributed architectures n SMPs n Distributed systems n Clusters.
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.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Bộ môn Mạng và Truyền Thông Máy Tính.
Transparency in Distributed Operating Systems Vijay Akkineni.
Distributed Systems: Concepts and Design Chapter 1 Pages
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
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 systems A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility –A well.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Distributed Systems COEN 317 Introduction Chapter 1,2,3.
Types of Operating Systems
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
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 Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.
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.
UNIT-I. 11/14/00CSE 3802 UNIT-I Distributed Systems ECS-701 Lecture Note NEERAJ KUMAR.
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.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
Distributed Systems Definition.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
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.
1 Distributed Processing Chapter 1 : Introduction.
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.
Background Computer System Architectures Computer System Software.
Primitive Concepts of Distributed Systems Chapter 1.
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Intro to Distributed Systems Hank Levy. 23/20/2016 Distributed Systems Nearly all systems today are distributed in some way, e.g.: –they use –they.
Chapter 1 Characterization of Distributed Systems
Distributed Operating Systems Spring 2004
Distributed Operating Systems
Introduction to Distributed Systems
Definition of Distributed System
Advanced Operating Systems
Distributed Systems Lecture#25.
Chapter 17: Database System Architectures
Outline Review of Classical Operating Systems - continued
Introduction To Distributed Systems
Database System Architectures
Presentation transcript:

Introduction to Distributed Systems

Distributed System Definitions:  “A distributed system is a collection of independent computers that appear to the users of the system as a single computer.”  “A system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing.”  “A system that consists of a collection of two or more independent computers which coordinate their processing through the exchange of synchronous or asynchronous message passing.”  “A distributed system is a collection of autonomous computers linked by a network with software designed to produce an integrated computing facility.”

Definition of a Distributed System (2) A distributed system organized as middleware. Note: The middleware layer extends over multiple machines. 1.1

 Functional distribution: Computers have different functional Capabilities: – Client / server – Host / terminal – Data gathering / data processing  Sharing of resources:  with specific functionalities  Inherent distribution: stemming from the application domain, e.g. – Cash register and inventory systems for supermarket chains – Computer supported collaborative work  Load distribution / balancing: assign tasks to processors such that the overall system performance is optimized (Parallel Processing). Distributed System Reasons

 Replication of processing power:  independent processors working on the same task  Distributed systems consisting of collections of microcomputers may have processing powers that no supercomputer will ever Achieve  CPUs, each running at 50 MIPS, yields MIPS, then Instruction to be executed in nsec Equivalent to light distance of 0.6 mm Any processor chip of that size would melt immediately  Physical Separation: Systems that rely on the fact that computers are physically separated (e.g., to satisfy reliability requirements).  Economics: Collections of microprocessors offer a better price/performance ration than large mainframes. –mainframes: 10 times faster, 1000 times as expensive Distributing Systems Reasons-Cont…

Why Distributed Systems and not isolated hardware? Need to share data and resources amongst users Enhance person-to-person communication Flexibility: different computers with different capabilities can be shared amongst users

Distributed Systems Consequences Distributed systems are concurrent systems; –Every software or hardware component is autonomous in the sequel, we will call such an autonomous component a “process” – Difference process/program Components execute concurrent tasks: –If A and B are concurrent if either A can happen before B, or B can happen before A (nondeterministic) Synchronization and coordination by message passing Sharing of resources Typical problems of concurrent systems –Deadlocks –Life locks –Unreliable communication

Distributed vs. Centralized Systems Advantages of Distributed Systems: Economics – Many microprocessors that cooperatively work together offer better price/performance then a single large mainframe computer Speed – A distributed system may have more total computing power than a mainframe Inherent Distribution – Some applications involve spatially separated machines Reliability – If one machine crashes, the system as a whole can still survive Incremental Growth – Computing power can be added in small increments

Advantages of Distributed Systems over Isolated PC’s Data Sharing – We desire to allow many users access a common data base Device Sharing – Allow many users to share expensive peripherals like color laser printers Communication – Make human-to-human communications easier (e.g., ) Flexibility – Spread the workload over the available machines in the most cost effective ways The popularity of LAN, WAN, MAN and the Internet networks now makes distributed systems using standard PC hardware possible

Disadvantages of Distributed Systems Software Little software exists at present for distributed systems The network can saturate or cause other problems –Bandwidth forces design decisions –Network reliability is an issue Security Managing security on a distributed system is complex New technologies such as Kerberous, LDAP, onDemand and PKI are now becoming commercially available – Physical distribution of resources vs. demand. – Computing power per node is limited.

Generally We want a distributed system to appear as one large non-distributed system from the users perspective Sometimes we want distributed systems to be act as parallel machines to run parallel algorithms Today Most distributed system have very few processors (< 64, but typically < 16) The future distributed systems will have thousands of processors

Distributed Systems Challenges Absence of a global clock Due to asynchronous message passing there are limits on the precision with which processes in a distributed system can synchronize their clocks. Absence of a global state In the general case, there is no single process in the distributed system that would have a knowledge of the current global state of the system –Due to concurrency and message passing communication Specific failure modes Processes run autonomously, in isolation Failures of individual processes may remain undetected. Individual processes may be unaware of failures in the system context

Distributed Systems Challenges - Cont... 1.Heterogeneity of  Underlying network infrastructure,  Computer hard- and software (e.g., operating systems, compare UNIX socket and Winsock calls),  Programming languages (in particular, data representations).  Some approaches  Middleware (e.g., CORBA): transparency of network, hard and software and programming language heterogeneity  Mobile Code (e.g., JAVA): transparency from hard-, software and programming language heterogeneity through virtual machine concepts

Distributed Systems Challenges - Cont Openness – Ensure extensibility and maintainability of systems  Adherence to standard interfaces 3. Security  Privacy  Authentication  Availability  Trusting

Challenges in The Design of Distributed Systems 4. Handling of Failures – Detection (may be impossible) – Masking Retransmission redundancy of data storage – Tolerance exception handling (e.g., timeouts when waiting for a web resource) – Redundancy redundant routes in network replication of name tables in multiple domain name servers

Challenges in The Design of Distributed Systems 5. Concurrency Consistent scheduling of concurrent threads (so that dependencies are preserved, e.g., in concurrent transactions) Avoidance of dead- and life lock problems 6. Transparency: Concealing the heterogeneous and distributed nature of the system so that it appears to the user like one system. Transparency categories (according to ISO's Reference Model for ODP) –Access: access local and remote resources using identical operations * e.g., network mapped drive using Samba server, NFS Mounts –Location: access without knowledge of location of a resource e.g., URLs, addresses Concurrency: allow several processes to operate concurrently using shared resources in a consistent fashion

Distributed Software Software is very critical to a distributed system The image that a system presents to its users and how they think about the system is largely determined by the operating system software Like hardware there are several classifications of distributed operating systems – Network Operating Systems – Distributed Operating Systems – Multiprocessor Timesharing Operating Systems Without a distributed operating system the user is responsible for managing the distributed environment – Very complex, this is what an OS is suppose to handle

Software Concepts An overview of  DOS (Distributed Operating Systems)  NOS (Network Operating Systems)  Middleware SystemDescriptionMain Goal DOS Tightly-coupled operating system for multi- processors and homogeneous multicomputers Hide and manage hardware resources NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency

Distributed Operating Systems Requirements: –Provide user with convenient virtual computer. –Hide distribution of resources. –Mechanisms for protecting resources. –Secure communication. Definition Distributed OS looks to user like ordinary centralized OS, but runs on multiple, independent CPUs. –Use of multiple processors is invisible. –User views system as virtual uniprocessor.

Network Operating Systems Definition: A network OS is a collection of OSs of computers connected through a network incorporating modules to provide access to remote resources. Characteristics: –Each computer has private OS. –User works on his own machine and remotely logs in to other computers. –Users are aware of location of files. –Limited fault tolerance.

Research and Design Issues There are many design issues that are important when considering how to achieve a single system image in a distributed environment Transparency System designers “fool” users into thinking a collection of computers is a single timesharing system Flexibility System should be able to be logically configured in a flexible manner Reliability System should be able to tolerate one or more failures in the distributed environment Scalability System should scale well and limit the amount of central control

Research and Design Issues- Cont.. Communication model – Paradigms for process interaction Heterogeneity Autonomy and/or interdependence Replication

Transparency Transparency: Make the network invisible to user/applications. Various degrees of transparency: –Access Transparency –Location Transparency –Name Transparency –Data Transparency –Execution Transparency –Performance Transparency

Transparency in a Distributed System Different forms of 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 Replication Hide that a resource may be redundant and shared by several competitive users Concurrency Hide that a resource may be shared by several competitive users FailureHide the failure and recovery of a resource PersistenceHide whether a (software) resource is in memory or on disk