CMPT 401 2008 Dr. Alexandra Fedorova Distributed Systems.

Slides:



Advertisements
Similar presentations
Distributed Computing
Advertisements

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Distributed Systems Topics What is a Distributed System?
Jaringan Informasi Pengantar Sistem Terdistribusi oleh Ir. Risanuri Hidayat, M.Sc.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
CS542: Topics in Distributed Systems
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Distributed components
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Distributed Systems.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
City University London
Introduction Dr. Ying Lu CSCE455/855 Distributed Operating Systems.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Introduction to Distributed Systems CS412: Programming Distributed Applications Computer Science Southern Illinois University CS412: Programming Distributed.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
DISTRIBUTED COMPUTING
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Introduction. Readings r Van Steen and Tanenbaum: 5.1 r Coulouris: 10.3.
CS431 Distributed Systems
1 Distributed Computing Class: BIT 5 & 6 Instructor: Aatif Kamal Chapter 01: Character of Distributed Systems Dated: 06 th Sept 2006.
Introduction to DISTRIBUTED SYSTEMS Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
1 Lecture 20: Parallel and Distributed Systems n Classification of parallel/distributed architectures n SMPs n Distributed systems n Clusters.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Chapter 1 Characterization of Distributed Systems Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Bộ môn Mạng và Truyền Thông Máy Tính.
Characterization of Distributed Systems
Distributed systems [Fall 2014] G Lec 1: Course Introduction.
What is a Distributed System? n From various textbooks: l “A distributed system is a collection of independent computers that appear to the users of the.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Distributed Systems: Concepts and Design Chapter 1 Pages
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Introduction. Outline r Definitions r Challenges r Examples to Illustrate Challenges r Goals in Application Development r Summary.
Architectures of distributed systems Fundamental Models
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
SUMAN K REDDY BURJUKINDI. Evolution of Modern Operating Systems 1 st Generation: Centralized Operating System 2 nd Generation: Network Operating System.
Advanced Principles of Operating Systems (CE-403).
Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Shuman Guo CSc 8320 Advanced Operating Systems
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Design of Parallel and Distributed.
Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Systems Unit – 1 Concepts of DS By :- Maulik V. Dhamecha Maulik V. Dhamecha (M.Tech.)
CMPT 401 Distributed Systems Concepts And Design.
Distributed Operating Systems CS551 Colorado State University at Lockheed-Martin Lecture 2 -- Spring 2001.
SMP Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
Exercises for Chapter 1: Characterization of Distributed Systems From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition.
Chapter 1 Characterization of Distributed Systems
COMPSCI 110 Operating Systems
CS/CE/TE 6378 Advanced Operating Systems
Distributed Operating Systems Spring 2004
Distributed Operating Systems
Advanced Operating Systems
Distributed Systems Bina Ramamurthy 11/12/2018 From the CDK text.
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Architectures of distributed systems
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Introduction To Distributed Systems
Architectures of distributed systems Fundamental Models
Distributed Systems and Concurrency: Distributed Systems
Presentation transcript:

CMPT Dr. Alexandra Fedorova Distributed Systems

2 CMPT 401 © A. Fedorova What is a Distributed System? Coulouris, et al: –communicate and coordinate their actions only by passing messages

3 CMPT 401 © A. Fedorova What is a Distributed System? Andrew Tanenbaum: –A collection of independent computers that appear to the users as a single coherent system –autonomous computers connected by a network –software specifically designed to provide an integrated computing facility

4 CMPT 401 © A. Fedorova What is a Distributed System? Leslie Lamport: –“You know you have a distributed system when the crash of a computer you’ve never heard of stops you from getting any work done.”

5 CMPT 401 © A. Fedorova What is a Distributed System? A broader definition: –A collection of processors executing independent instruction streams that communicate and synchronize their actions –Communication may be done via messages or shared memory –Includes multi-process and multithreaded programs running on a monolithic multiprocessor hardware

6 CMPT 401 © A. Fedorova Distributed System: the Internet ©Pearson Education 2001

7 CMPT 401 © A. Fedorova Distributed System: an Intranet ©Pearson Education 2001

8 CMPT 401 © A. Fedorova Distributed System: Mobile Devices ©Pearson Education 2001

9 CMPT 401 © A. Fedorova Other Examples of Distributed Systems Distributed Multimedia Systems –Teleconferencing –Distance learning Cellular phone systems IP Telephony Flight management system in an aircraft Automotive control systems (50+ embedded processors in a Mercedes S-class) Distributed file systems (NFS, Samba) P2P file sharing The World Wide Web

10 CMPT 401 © A. Fedorova Reasons for Distributing Systems I The need to share data across remote geographies –Online Encyclopedia Britannica is accessed by users all over the world –Computer users in different geographies send messages to each other Replication of processing power –Independent processors working on the same task –Distributed systems consisting of collections of microcomputers may have processing power of a large supercomputer Use of heterogeneous components –Compute-intensive sub-tasks of a problem are run on powerful computers –Less resource-demanding sub-tasks run on less powerful computers –More efficient use of resources

11 CMPT 401 © A. Fedorova Reasons for Distributing Systems II Cost of hardware and management –A collection of cheap computers may be less expensive than one large supercomputer –Small simple computers may be easier to manage than one large one Administrative/functional issues –Payroll database is separate from registrar’s database –Each is managed according to the needs of the organization –Each is equipped with hardware that answers the needs of an organization Resilience to failures –If one component fails, others can proceed with work on the task Scalability –The system can be extended by adding more components (i.e., WWW)

12 CMPT 401 © A. Fedorova Properties of Distributed Systems Heterogeneity –Systems consist of heterogeneous hardware and software components Concurrency –Multiple programs run together Shared data –Data is accessed simultaneously by multiple entities No global clock –Each component has a local notion of time Interdependencies –Independent components depend on each other

13 CMPT 401 © A. Fedorova Challenges of DS: Heterogeneity Different network infrastructures (Ethernet, – wireless) Hardware and software (e.g., operating systems, processors): how can an Intel/Windows system understand messages sent by an Macintosh OS X system? Programming languages – how can a Java program and a C program communicate?

14 CMPT 401 © A. Fedorova Challenges of DS: Security Shared data must be protected –Privacy – avoid unintentional disclosure of private data –Security – data is not revealed to unauthorized parties –Integrity – protect data and system state from corruption Denial of service attacks – put significant load on the system, prevent users from accessing it

15 CMPT 401 © A. Fedorova Challenges of DS: Synchronization Concurrent cooperating tasks need to synchronize –When accessing shared data –When performing a common task Synchronization must be done correctly to prevent data corruption: –Example: two account owners; one deposits the money, the other one withdraws; they act concurrently –How to ensure that the bank account is in “correct” state after these actions? Synchronization implies communication Communication can take a long time Excessive synchronization can limit effectiveness and scalability of a distributed system

16 CMPT 401 © A. Fedorova Challenges of DS: Absence of Global Clock Cooperating task need to agree on the order of events Each task has its own notion of time Clocks cannot be perfectly synchronized How to determine which even occurred first? Example: Bank account, starting balance = $100 –Client at bank machine A makes a deposit of $100 –Client at bank machine B makes a withdrawal of $150 –Which event happened first? –Should the bank charge the overdraft fee?

17 CMPT 401 © A. Fedorova Challenges of DS: Partial Failures Detection of failures – may be impossible –Has a component crashed? Or is it just slow? –Is the network down? Or is it just slow? –If it’s slow – how long should we wait? Handling of failures –Retransmission –Tolerance for failures –Roll back partially completed task Redundancy against failures –Duplicate network routes –Replicated databases

18 CMPT 401 © A. Fedorova Challenges of DS: Scalability Does the system remain effective as if grows? As you add more components: –More synchronization –More communication –> the system runs slowly. Avoiding performance bottlenecks: –Everyone is waiting for a single shared resource –In a centrally coordinated system, everyone waits for the coordinator

19 CMPT 401 © A. Fedorova Challenges of DS: Transparency I Concealing the heterogeneous and distributed nature of the system so that it appears to the user like one system Transparency categories –Access: access local and remote resources using identical operations (NFS or Samba-mounted file systems) –Location: access without knowledge of location of a resource (URL’s, ) –Concurrency: allow several processes to operate concurrently using shared resources in a consistent fashion (two users simultaneously accessing the bank account)

20 CMPT 401 © A. Fedorova Challenges of DS: Transparency II Transparency categories (continued) –Replication: use replicated resource as if there were just one instance –Failure: allow programs to complete their task despite failures –Mobility: allow resources to move around –Performance: adaption of the system to varying load situations without the user noticing it –Scaling: allow system and applications to expand without need to change structure of applications or algorithms

21 CMPT 401 © A. Fedorova Course Objective Comprehensive introduction to distributed systems Theoretical aspects: models and architectures of distributed systems Understand challenges in building distributed systems Practical aspect: implement advanced distributed systems Read latest research papers addressing distributed systems

22 CMPT 401 © A. Fedorova Topics Studied I Architecture models of distributed systems (client-server, P2P, etc.) Operating system support: processes and threads, synchronization and mutual exclusion Inter-process communication Distributed objects and remote invocation Distributed file systems Time and Global Clocks Coordination and agreement

23 CMPT 401 © A. Fedorova Topics Studied II Transactions and concurrency control Replication Distributed multimedia systems Peer-to-Peer systems Mobile and ubiquitous computing Biologically inspired distributed systems

24 CMPT 401 © A. Fedorova Course Structure Reading a textbook –Reading is assigned for every class –To be done before the lecture –Midterm and final will test reading Programming assignments and a project –Challenging assignments –Require strong programming skills –First assignment is in C; the rest are either C or Java Reading research papers –Takes time –Submit summaries of assigned articles

25 CMPT 401 © A. Fedorova Programming Assignments Assignment #1 (already posted) – due January 28 –Solve a synchronization problem –Multithreaded programming in C, using pthreads library and mutexes Assignment #2 – due February 25 –Implement a distributed file system with a transactional interface –Use C, C++ or Java

26 CMPT 401 © A. Fedorova Grading One midterm exam: 20% Two homework assignments: 30% Project assignment: 20% Paper summaries: 10% Final exam: 20%

27 CMPT 401 © A. Fedorova Course Web Site Linked at Visit often Contains: –Syllabus –Assignments –Deadlines –Instructor office hours and office location