Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2011.

Slides:



Advertisements
Similar presentations
Chapter 2 Introduction to Computer Networks INTRODUCTION TO COMPUTER NETWORKS.
Advertisements

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Jaringan Informasi Pengantar Sistem Terdistribusi oleh Ir. Risanuri Hidayat, M.Sc.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Network+ Guide to Networks, Fourth Edition
Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2014.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
1 Distributed Computing Algorithms CSCI Distributed Computing: everything not centralized many processors.
City University London
Based on last years lecture notes, used by Juha Takkinen.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
All Organizations Need to Share and Communicate Information...
20101 Overview Distributed systems Layers Communication is logically on the application layer Only that has to be considered except for speed,
Network+ Guide to Networks, Fourth Edition Chapter 1 An Introduction to Networking.
DISTRIBUTED COMPUTING
Addition to Networking.  There is no unique and standard definition out there  Cloud Computing is a general term used to describe a new class of network.
Lecture 1 Internet CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger and Daniel Zappala Lecture 1 Introduction.
Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa.
Figure 1-2: Simple peer-to-peer network
Network+ Guide to Networks, Fourth Edition Chapter 1 An Introduction to Networking.
Chapter 1 An Introduction to Networking
Lecture 6: Introduction to Distributed Computing.
ITED 328 Lecture 4 12 Feb 2004 Loosely covering Chapter 5 Internet and LAN Technology.
Thesis Proposal Data Consistency in DHTs. Background Peer-to-peer systems have become increasingly popular Lots of P2P applications around us –File sharing,
Common Devices Used In Computer Networks
® 2007 Solid Information Technology Data Management for Automotive Standardization requirements Franz-Josef Maintz Solid Information Technology
Computers Are Your Future Tenth Edition Chapter 8: Networks: Communicating & Sharing Resources Copyright © 2009 Pearson Education, Inc. Publishing as Prentice.
NETWORKS.
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 Next Few Classes Networking basics Protection & Security.
Computer Networks. Introduction Computer Network2 A History Lesson of Networking 1969 – ARPANET, first packet switched network consist of UCLA, Stanford,
Architectures of distributed systems Fundamental Models
Distributed Software Engineering Lecture 1 Introduction Sam Malek SWE 622, Fall 2012 George Mason University.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Computing in the Modern World Unit 4. GPS: BCS-CMW-8. Students will demonstrate knowledge of basic components of computer networks.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Chapter 9 Networking & Distributed Security. csci5233 computer security & integrity (Chap. 9) 2 Outline Overview of Networking Threats Wiretapping, impersonation,
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
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 Computing Systems CSCI 4780/6780. Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!!
Hwajung Lee. Maximilien Brice, © CERN  Fact: Processor population is exploding. Technology has dramatically reduced the price of processors.  Geographic.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.
What is a distributed system? A network of processes. The nodes are processes, and the edges are communication channels.
Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Fall 2011.
Distributed Systems Architecure. Architectures Architectural Styles Software Architectures Architectures versus Middleware Self-management in distributed.
COMPUTER NETWORKS Quizzes 5% First practical exam 5% Final practical exam 10% LANGUAGE.
Introduction Chapter 1. Introduction  A computer network is two or more computers connected together so they can communicate with one another.  Two.
Lecture 1: Network Operating Systems (NOS)
Chapter 1 Characterization of Distributed Systems
Computer Networks.
Network Operating Systems (NOS)
Lecture 1: Network Operating Systems (NOS)
Computing in the Modern World Unit 4
CS 5620 Distributed Systems and Algorithms
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.
CLUSTER COMPUTING.
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Hwajung Lee ITEC452 Distributed Computing Lecture 1 Introduction to Distributed Systems.
CS 5620 Distributed Systems and Algorithms
CS 5620 Distributed Systems and Algorithms
Distributed Systems and Algorithms
Presentation transcript:

Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2011

What is a distributed system ? Abstract definition: It is a network of processes. (The nodes are processes, and the edges are communication channels.)

Example 2 communication among 436 employees of one of the Hewlett Packard Research Labs. It is a trivial example of a distributed system. Collectively these communications help complete an unspecified job.

Facts  Technology has dramatically reduced the cost of processors, so their population is exploding.  User demands for services have increased the scale of systems (Facebook has 500 million users)  We live in a networked society. 3

Examples Large networks are very commonplace these days. Think of the world wide web. A few examples of distributed systems are: - Facebook (the oxygen of many people) - Sensor networks - BitTorrent for downloading video / audio - Skype for making free audio and video communication - Process control networks in engineering factories - Computational grids ( OSG, Teragrid, ) - Network of mobile robots collectively doing a job 4

Sensor Network The sensor network is checking the structural integrity of the bridge 5

Mobile robots I-Swarm Robot (See a video of the I-Swarm Robots on YouTube) 6 The I-Swarm project, consisting of 10 research institutes, is coordinated by Professor Heinz Wörn and Jörg Seyfried of the University of Karsruhe in Germany.

Goal of a distributed system The application layer software enables the computers to coordinate their activities and to share hardware and software, and data, so that users perceive a single, integrated computing facility. 7 D ownloading music in Bittorrent

Goal continued Distributed computing relies on inter-process communication, which involves all layers of networking. In fact, the communication system Itself helps create simple abstractions of inter- process communication and facilitate program writing. Example: (1) TCP implements a reliable end-to-end communication channel, (2) Media Access protocol used in Ethernet LAN or Wireless networks helps resolve network access conflict. P Q Create a reliable channel between P and Q that are 10,000 miles away 8

Why distributed systems Geographic distribution of processes Resource sharing ( example: P2P networks, grids ) Computation speed up ( as in a grid ) Fault tolerance 9

Important services Internet banking Web search Net meeting Distance education Video distribution Internet auction Skype Publish subscribe 10

Important challenges Knowledge is local Clocks are not synchronized No shared address space Topology and routing : everything is dynamic Scalability: all solutions do not scale well Processes and links fail: Fault tolerance 11

Some common subproblems Leader election Mutual exclusion Time synchronization Distributed snapshot Replica management Consensus 12

Implementation Practical distributed systems has a real network as its backbone. However, such systems can also be simulated on a shared-memory multiprocessor, or even on a single processor. (How will you do it? Think of simulating multiple processes, and mailboxes between pairs of communicating processes) 13

Models We will reason about distributed systems using models. There are many dimensions of variability in distributed systems. Examples: - types of processors - inter-process communication mechanisms - timing assumptions - failure classes - security features, etc 14

Models Models are simple abstractions that help overcome the variability -- abstractions that preserve the essential features, but hide the implementation details from observers who view the system at a higher level. We don’t care whether a process runs on a PC or a Mac. A link may use optical communication or radio communication For simplicity, in a specific model, we may assume that all clocks are perfectly synchronized. 15

A classification Client-server model Ser ver is the coordinator Peer-to-peer model No unique coordinator Server Clients 16

Parallel vs Distributed In both parallel and distributed systems, the events are partially ordered. The distinction between parallel and distributed is not always very clear. In parallel systems, the primarily issues are speed-up and increased data handling capability. In distributed systems the primary issues are fault-tolerance, synchronization, scalability etc. 17 ParallelDistributed GridP2P

The Case of Facebook 17 30,000 servers The servers are networked, both for speed-up and for fault-tolerance. The set up mimics client- server kind of operation, with the servers having a high level of parallelism, although the network of servers may be viewed as a distributed system. user

Objective of the course To understand how a system works, why it fails, how can we guarantee our design, so that it behaves the way we want it to behave. A system that “sometimes works” is no good. Disclaimer: We are not discussing implementation or programming, although they are also important issues. 18