Distributed Systems COMP 212. Lecture 1 Othon Michail

Similar documents
Distributed Systems COMP 212. Lecture 1 Othon Michail

Distributed Systems COMP 212. Lecture 1 Othon Michail

Kingdom of Saudi Arabia Ministry of Higher Education College of Computer & Information Sciences Majmaah University. Course Profile

CA464 Distributed Programming

CSE 5306 Distributed Systems. Course Introduction

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that:

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [DISTRIBUTED MUTUAL EXCLUSION] Frequently asked questions from the previous class survey

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Introduction. Distributed Systems IT332

Frequently asked questions from the previous class survey

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

Distributed Systems Course. a.o. Univ.-Prof. Dr. Harald Kosch

Distributed Systems Principles and Paradigms

Distributed Systems Concepts Design 5th Edition Solutions

Distributed Systems Concepts Design 4th Edition

CS 454/654 Distributed Systems. Course Objective

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

CSE Traditional Operating Systems deal with typical system software designed to be:

Distributed Systems. Lecture 4 Othon Michail COMP 212 1/27

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science.

Distributed Systems. Wintersemester - Winter Term 2003

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology

Designing Issues For Distributed Computing System: An Empirical View

Lecture 1: Introduction to distributed Algorithms

Distributed Systems (5DV147)

Introduction to Distributed Systems. Fabienne Boyer, LIG,

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON.

Introduction to Distributed Systems

Distributed Systems LEEC (2006/07 2º Sem.)

Distributed Computing Course Instructor: Dr. Safdar Ali

Distributed Operating Systems Fall Prashant Shenoy UMass Computer Science. CS677: Distributed OS

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

Middleware and Interprocess Communication

Concepts of Distributed Systems 2006/2007

CS655: Advanced Topics in Distributed Systems [Fall 2013] Dept. Of Computer Science, Colorado State University

Distributed Systems Concepts And Design 5th Edition Exercise Solutions

Computer Networks IT321

Specifying and Proving Broadcast Properties with TLA

Module 7 - Replication

CHAPTER 1 Fundamentals of Distributed System. Issues in designing Distributed System

Distributed File Systems. CS432: Distributed Systems Spring 2017

Introduction. Chapter 1

Chapter 7 Consistency And Replication

Outline. Distributed Computing Systems. The Rise of Distributed Systems. Depiction of a Distributed System 4/15/2014

Course Computer Science Academic year 2012/2013 Subject Distributed Systems ECTS 6

Distributed Systems Conclusions & Exam. Brian Nielsen

Introduction to Distributed Systems

Curriculum 2013 Knowledge Units Pertaining to PDC

Distributed Systems (5DV147)

Unit 7: RPC and Indirect Communication

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

TDP3471 Distributed and Parallel Computing

Distributed Information Processing

THE IMPACT OF E-COMMERCE ON DEVELOPING A COURSE IN OPERATING SYSTEMS: AN INTERPRETIVE STUDY

Distributed Systems. Edited by. Ghada Ahmed, PhD. Fall (3rd Edition) Maarten van Steen and Tanenbaum

Lecture 1: January 22

Naming in Distributed Systems

Distributed Clock Synchronization Algorithms: A Survey

Distributed Systems. Lehrstuhl für Informatik 4. RWTH Aachen. Organization. Literature. Classification of the lecture

Introduction to Distributed Systems

Distributed Systems [COMP9243] Session 1, 2018

Distributed Systems COMP 212. Lecture 18 Othon Michail

Operating Systems and Networks. Lecture 01: Introducing the course and Introduction to OS-part 1 Behzad Bordbar

VEL TECH MULTITECH Dr.RANGARAJAN Dr.SAKUNTHALA ENGINEERING COLLEGE

Academic Course Description. EM2101 Computer Architecture

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

Support for resource sharing Openness Concurrency Scalability Fault tolerance (reliability) Transparence. CS550: Advanced Operating Systems 2

Advanced Operating Systems

Client Server & Distributed System. A Basic Introduction

Introduction to Distributed Systems (DS)

Release Consistency. Draft material for 3rd edition of Distributed Systems Concepts and Design

Distributed Systems. Lehrstuhl für Informatik IV RWTH Aachen. Organisation. Classification of the lecture. Literature

What is a distributed system?

Module 1 - Distributed System Architectures & Models

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad INFORMATION TECHNOLOGY COURSE DESCRIPTION FORM

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 7 Consistency And Replication

Lecture 1: January 23

DISTRIBUTED MUTEX. EE324 Lecture 11

Advanced Systems Lab (Intro and Administration) G. Alonso Systems Group

Module 8 Fault Tolerance CS655! 8-1!

Introduction to Distributed Systems (DS)

Professor: Ioan Raicu. TA: Wei Tang. Everyone else

Distributed Information Processing

sections details presentation DAD Distributed Applications Development Cristian Toma

Distributed Systems COMP 212. Revision 2 Othon Michail

Advanced Distributed Systems

Distributed Systems Conclusions & Exam. Brian Nielsen

Consensus a classic problem. Consensus, impossibility results and Paxos. Distributed Consensus. Asynchronous networks.

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Distributed Systems COMP 212. Lecture 15 Othon Michail

Transcription:

Distributed Systems COMP 212 Lecture 1 Othon Michail

Course Information Lecturer: Othon Michail Office 2.14 Holt Building http://csc.liv.ac.uk/~michailo/teaching/comp2 12 Structure 30 Lectures + 10 lab practicals Assessment 2 programming assignments and a class test (20% ) and final exam (80%) 2/32

Recommended Reading Main Book: Maarten van Steen, Andrew S. Tanenbaum. Distributed Systems, 3rd edition, 2017 (free digital copy: https://www.distributedsystems.net/index.php/books/distributed-systems-3rd-edition-2017/) Andrew S. Tanenbaum, Maarten van Steen. Distributed Systems: Principles and Paradigms, Pearson, 2nd edition, 2006 Java references Thinking in Java http://www.mindview.net/books/tij/ The Java Tutorials (Oracle) https://docs.oracle.com/javase/tutorial/ 3/32

Other Relevant Books George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. Distributed Systems: Concepts and Design, Pearson, 5th Edition, 2011 Marko Boger. Java in Distributed Systems: Concurrency, Distribution and Persistence, John Wiley & Sons, 1st Edition, 2001 Nancy Lynch. Distributed Algorithms, Morgan Kaufmann Publishers, 1996 Hagit Attiya and Jennifer Welch, Distributed Computing Fundamentals, Simulations, and Advanced Topics, 2nd Edition, Wiley-Interscience, 2004 4/32

Content of the Course 1. Introduction to Distributed Systems 2. Communication 3. Processes 4. Naming 5. Synchronisation 6. Consistency and Replication 7. Fault tolerance 8. Security 9. Object-based Systems (?) 10.File Systems (?) 11.Coordination-based Systems (?) 5/32

Aims Provide an understanding of the technical issues involved in the design of modern distributed systems Present some of the major current paradigms 6/32

Learning Outcomes Appreciation of the main principles underlying distributed systems: processes, communication, naming, synchronisation, consistency, fault tolerance, and security Familiarity with some of the main paradigms in distributed systems Knowledge and understanding of the essential facts, concepts, principles and theories related to distributed computing In depth understanding of the appropriate theory, practices, languages and tools for the specification, design, implementation and evaluation of distributed systems 7/32

Introduction

What is a Distributed System? A distributed system is: A collection of independent computers that appears to its users as a single coherent system 9/32

What is a Distributed System? 10/32

Examples of Distributed Systems Can you think of some examples? 11/32

Examples of Distributed Systems University computer network The Internet Real-time process control Aircraft/Industrial control systems Distributed databases Distributed file systems Distributed information processing systems Banks (Cash machines) Ticket reservation systems Parallel computing (cluster computing, multiprocessor systems) Cloud computing 12/32

The Beginning of the Internet (ARPANET) 4 interconnected computers forming a simple packet switching network First to implement TCP/IP 13/32

The Internet Over 1 billion websites Over 3 billion users Check the rate of growth at: http://www.internetlivestats.com/ 14/32

Internet-enabled Devices 15/32

Nanorobotics and Self-Assembly 16/32

Why Distributed Systems? Pervade society Billions of computers and mobile devices Continuous advances in communication technology Most crucial modern information systems are distributed Turing Award 2013 was awarded to Leslie Lamport for his work on Distributed Systems 17/32

Goals of Distributed Systems Easily connect users/resources Transparency Openness Reliability Performance Scalability 18/32

Connecting Users and Resources Typical resources computers, computing power, data, printers, sensors, mobile devices Why sharing Communications, Economics/Business Collaboration, Information Exchange (groupware) Problems (similar to societal) Security Coordination required Fairness 19/32

Transparency in a Distributed System Transparent distributed system: Appears to its users as if it were only a single computer system 20/32

Different Forms of Transparency Transparency Access Location Migration Relocation Replication Concurrency Failure Persistence Description Hide differences in data representation and how a resource is accessed Hide where a resource is located Hide that a resource may move to another location Hide that a resource may be moved to another location while in use Hide that a resource is replicated Hide that a resource may be shared by several competitive users Hide the failure and recovery of a resource Hide whether a (software) resource is in memory or on disk 21/32

Degree of Transparency Transparency is: Not always desirable Users located in different continents (context-aware) Not always possible Hiding failures You cannot always distinguish a slow computer from a failing one Trade-off between a high degree of transparency and the performance of the system 22/32

Summary Distributed systems are collections of independent computers that appear to users as a single coherent system They are commonly used all around the world May not immediately appear as computer systems Main goals: Easily connect users/resources Exhibit transparency Be open Be reliable Be efficient Be scalable 23/32

Beyond Systems Distributed systems also require a rigorous theory to support them Theory of Distributed Computing The distributed counterpart of the theory of (centralised) computation and of sequential algorithms Why? Theory can provide insights into existing systems Allows to argue about any potential system For example, Prove what is in principle feasible in a given setting or Prove impossibility results for a given setting 24/32

A Formal Model n processors Network: Directed graph G=(V,E) n= V Examples: ring, tree, complete network Distributed algorithms may assume a specific topology or not 25/32

Processes Executed in procesors A process u: states u (set of states) initial states start u and halting states halt u subsets of states u msgs u : states u x out-nbrs u M {null} (message-generation function) trans u : states u x {M {null}} in-nbrs u states u (state-transition function) 26/32

Synchronous Networks All processes initially in initial state(s) All processes repeat synchronously (in lock-step): Step 1 1. Apply message-generation function 2. Messages produced for out-neighbours 3. Messages transmitted through corresponding channels Step 2 1. Apply state-transition function (taking into account any received messages) 2. Remove all messages from the channels Step 1 + Step 2 = 1 Round 27/32

An Illustration states u = {a, b, c}, M = {m 1, m 2 } (also null) msgs u (a, 1) = m 1, msgs u (a, 2) = null, msgs u (a, 3) = m 2 trans u (a, (m 1, m 2, null, m 2 )) = b 28/32

An Illustration states u = {a, b, c}, M = {m 1, m 2 } (also null) msgs u (a, 1) = m 1, msgs u (a, 2) = null, msgs u (a, 3) = m 2 29/32

An Illustration states u = {a, b, c}, M = {m 1, m 2 } (also null) trans u (a, (m 1, m 2, null, m 2 )) = b 30/32

A Simple Example: Flooding Initially: A leader-node has a token (piece of info) Goal: All nodes must learn the token Distributed Algorithm: Ideas??? Example application: Wireless Sensor Network A node detects fire All nodes must be informed about the location to act accordingly 31/32

A Simple Example: Flooding Initially: A leader-node has a token (piece of info) Goal: All nodes must learn the token Distributed Algorithm: Ideas??? Formally, we must define: M, states u, msgs u and trans u Algorithmic Idea (informal): All nodes awake initially If in the beginning of this round you are awake and you have the token, forward it to all your neighbours and sleep If you are asleep, do nothing 32/32