Distributed Systems and Algorithms

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

Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
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.
1 Distributed Computing Algorithms CSCI Distributed Computing: everything not centralized many processors.
Based on last years lecture notes, used by Juha Takkinen.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
20101 Overview Distributed systems Layers Communication is logically on the application layer Only that has to be considered except for speed,
Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa.
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
DM Rasanjalee Himali CSc8320 – Advanced Operating Systems (SECTION 2.6) FALL 2009.
1 Next Few Classes Networking basics Protection & Security.
Distributed Software Engineering Lecture 1 Introduction Sam Malek SWE 622, Fall 2012 George Mason University.
Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2011.
Hwajung Lee. Maximilien Brice, © CERN  Fact: Processor population is exploding. Technology has dramatically reduced the price of processors.  Geographic.
Oz – Foundations of Electronic Commerce © 2002 Prentice Hall Essentials of Telecommunications.
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.
Chapter 1 Characterization of Distributed Systems
Chapter 1 Introduction Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011.
Distributed Operating Systems Spring 2004
1.2 The Network Edge Beginning at the edge of a network we are looking at the components with which we are most familiar - namely, the computers that we.
Network Operating Systems (NOS)
Distributed Operating Systems
Surveying computer applications
Definition of Distributed System
CHAPTER 3 Architectures for Distributed Systems
University of Technology
TYPES OF NETWORK
Chapter 2 Introduction Application Requirements VS. Transport Services
Congestion Control, Internet transport protocols: udp
CPE 401 / 601 Computer Network Systems
CS 5620 Distributed Systems and Algorithms
Lecture 7: Introduction to Distributed Computing.
Software Defined Networking (SDN)
Introduction to Networks
AGENT OS.
Towards Next Generation Panel at SAINT 2002
Introduction to Local Area Networks
Replication Improves reliability Improves availability
CLUSTER COMPUTING.
Architectures of distributed systems Fundamental Models
COMP28112 Distributed Computing
Combinatorial Topology and Distributed Computing
Architectures of distributed systems Fundamental Models
COMP28112 Distributed Computing
COMP28112 Distributed Computing
COMP28112 Distributed Computing
COMP28112 Distributed Computing
Distributed Computing:
Networking at Home and Abroad
Architectures of distributed systems
Introduction To Distributed Systems
Introduction to Networks
Protocols.
Architectures of distributed systems Fundamental Models
Overview of Networking
Introduction to Networks
Distributed Systems (15-440)
COMP28112 Distributed Computing
Hwajung Lee ITEC452 Distributed Computing Lecture 1 Introduction to Distributed Systems.
Protocols.
CS 5620 Distributed Systems and Algorithms
CS 5620 Distributed Systems and Algorithms
Presentation transcript:

Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Fall 2009

What is a distributed system? 5 2 1 4 8 3 7 10 6 9 A network of processes. The nodes are processes, and the edges are communication channels.

Fact Processor population is exploding. Technology has dramatically reduced the cost of processors, and user demands for services have increased the scale of systems.

Examples Large networks are very commonplace these days. Think of the world wide web. Other examples are: - Social Networks Sensor networks BitTorrent for downloading video / audio Skype for making free audio and video communication Process control networks Computational grids (OSG, Teragrid, SETI@home) Network of mobile robots

Sensor Network Checking the structural integrity

Mobile robots I-Swarm Robot (See a YouTube video on the I-Swarm Robots)

Goal P Q Typically, the application layers of the processes interact with one another to meet a common objective, or achieve individual objectives using shared resources. Copy X from P to Q (P&Q may be two processes 10,000 miles apart)

Goal continued Distributed computing relies on inter-process communication, which involves other layers of networking too (like TCP implementing a reliable end-to-end communication channel, or the Media Access protocol used in Ethernet LAN or Wireless networks). What are the distributed computing issues in establishing inter-process communication? P Q Create a reliable channel from P to Q

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

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

Important issues Clocks are not synchronized No shared address space 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

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

Implementation Practical distributed systems must have a real network as its backbone. However, such systems can be simulated on a shared-memory multiprocessor, or even on a single processor. (How will you do it?)

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

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.

A classification Client-server model Server is the coordinator Peer-to-peer model No unique coordinator

Parallel vs Distributed In both parallel and distributed systems, the events are partially ordered. In parallel systems, the primarily issue is speed-up In distributed systems the primary issues are fault-tolerance, availability, and scalability

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. We are not discussing implementation or programming, although they are also important issues.