Introduction Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

Parallel Processing & Parallel Algorithm May 8, 2003 B4 Yuuki Horita.
Lecture 8: Asynchronous Network Algorithms
What is a network? A network consists of two or more computers that are linked in order to share resources (such as printers and CD-ROMs) , exchange.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Classification of Distributed Systems Properties of Distributed Systems n motivation: advantages of distributed systems n classification l architecture.
Dinker Batra CLUSTERING Categories of Clusters. Dinker Batra Introduction A computer cluster is a group of linked computers, working together closely.
Efficient Solutions to the Replicated Log and Dictionary Problems
Università degli Studi dell’Aquila Academic Year 2009/2010 Course: Algorithms for Distributed Systems Instructor: Prof. Guido Proietti Time: Monday:
1 Complexity of Network Synchronization Raeda Naamnieh.
CPSC 668Set 1: Introduction1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
Asynchronous Consensus (Some Slides borrowed from ppt on Web.(by Ken Birman) )
Teaching material based on Distributed Systems: Concepts and Design, Edition 3, Addison-Wesley Copyright © George Coulouris, Jean Dollimore, Tim.
Dynamic Hypercube Topology Stefan Schmid URAW 2005 Upper Rhine Algorithms Workshop University of Tübingen, Germany.
EE 4272Spring, 2003 EE4272: Computer Networks Instructor: Tricia Chigan Dept.: Elec. & Comp. Eng. Spring, 2003.
1 Brief Announcement: Distributed Broadcasting and Mapping Protocols in Directed Anonymous Networks Michael Langberg: Open University of Israel Moshe Schwartz:
Chapter 10 Introduction to Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
Click to add text Introduction to z/OS Basics © 2006 IBM Corporation Chapter 15: WebSphere MQ.
Message Passing Systems A Formal Model. The System Topology – network (connected undirected graph) Processors (nodes) Communication channels (edges) Algorithm.
Composition Model and its code. bound:=bound+1.
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
Message Passing Systems A Formal Model. The System Topology – network (connected undirected graph) Processors (nodes) Communication channels (edges) Algorithm.
Basic Concepts of Computer Networks
CECS 474 Computer Network Interoperability WAN Technologies & Routing
Lecture 6: Introduction to Distributed Computing.
Distributed Asynchronous Bellman-Ford Algorithm
Computing hardware CPU.
1 Lecture 20: Parallel and Distributed Systems n Classification of parallel/distributed architectures n SMPs n Distributed systems n Clusters.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
CH2 System models.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Introduction – Part II.
1 Next Few Classes Networking basics Protection & Security.
Architectures of distributed systems Fundamental Models
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch CSCE 668 Set 1: Introduction 1.
Distributed Database Systems Overview
1 CHAPTER 8 TELECOMMUNICATIONSANDNETWORKS. 2 TELECOMMUNICATIONS Telecommunications: Communication of all types of information, including digital data,
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Multiprossesors Systems.. What are Distributed Databases ? “ A Logically interrelated collection of shared data ( and a description of this data) physically.
Lecture 4: Sun: 23/4/1435 Distributed Operating Systems Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 10, 2005 Session 9.
04/06/2016Applied Algorithmics - week101 Dynamic vs. Static Networks  Ideally, we would like distributed algorithms to be: dynamic, i.e., be able to.
PARALLEL COMPUTING overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer.
Distributed DBMSs- Concept and Design Jing Luo CS 157B Dr. Lee Fall, 2003.
Agenda Fail Stop Processors –Problem Definition –Implementation with reliable stable storage –Implementation without reliable stable storage Failure Detection.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Chap 15. Agreement. Problem Processes need to agree on a single bit No link failures A process can fail by crashing (no malicious behavior) Messages take.
Hwajung Lee.  Models are simple abstractions that help understand the variability -- abstractions that preserve the essential features, but hide the.
Several sets of slides by Prof. Jennifer Welch will be used in this course. The slides are mostly identical to her slides, with some minor changes. Set.
Vertex Coloring Distributed Algorithms for Multi-Agent Networks
 Distributed Database Concepts  Parallel Vs Distributed Technology  Advantages  Additional Functions  Distribution Database Design  Data Fragmentation.
Exercises for Chapter 2: System models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
Agenda  Quick Review  Finish Introduction  Java Threads.
Powerpoint Templates Data Communication Muhammad Waseem Iqbal Lecture # 07 Spring-2016.
Computer Network Collection of computers and devices connected by communications channels that facilitates communications among users and allows users.
Parallel Programming By J. H. Wang May 2, 2017.
Michael Langberg: Open University of Israel
Parallel and Distributed Simulation Techniques
Chapter 16: Distributed System Structures
Parallel and Distributed Algorithms
Introduction to locality sensitive approach to distributed systems
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Parallel Exact Stochastic Simulation in Biochemical Systems
Presentation transcript:

Introduction Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM

What is distributed computing? Centralized system – composed of a single controlling unit – at most one autonomous activity is carried on at any single moment Distributed system – many autonomous processors active at any moment – communicate with each other in order to coordinate their actions and achieve a reasonable level of cooperation – non-uniform characteristic processors are physically in different geographic locations they have different in size power, architecture,… so on.

Different Types of Distributed Systems Wide spectrum of types of distributed systems – parallel computing systems – to wide-area communication networks –…–… Coupling level of different processors – Tightly-coupled distributed systems (e.g., a parallel computing systems) Processors work in tight synchrony, share memory, have very fast and reliable communication – Loosely-coupled distributed systems (e.g., a wide-area communication network) processors are more independent, communication is less frequent and less synchronous, cooperation is more limited

Purpose of Cooperation Goals – in order to handle large complex problems, e.g. parallel machines to achieve a difficult goal together – supply the user with a centralized view of the system, i.e., to make the distributed nature of the system transparent to the user, ensure that different individual processes do not disturb each other. Actual systems usually provide a mixture (to a varying degree) of both extreme types of cooperation.

A basic Framework Message passing models – treat communication explicitly – a processor sends a message to communicate with another using some available communication media. Shared memory system – processors do not speak to each other directly – there is some common memory, storing variables that are shared by all processors – variables can be written to or read from by all processors can also be used for communication between processors – it is more suitable for discussing very tightly coupled concurrent or parallel systems

Message Passing Model We shall restrict ourselves to systems based on the message passing model – locality arises mainly in physically distributed systems To discuss locality issues, it is necessary to keep the communication aspect explicit in the model, rather than hide it. Point-to-point communication systems – allow direct information exchange between specific pairs of sites. Broadcast networks – Ethernet and radio-based networks – a single message to be delivered simultaneously to a number of recipients, rather than just one at a time.

Communication Network Described by a connected undirected graph – vertices represent the sites of the network each site consists of an autonomous processor – edges represent bidirectional communication channels connecting the different sites. – a vertex communicates directly with its neighbors messages to non-neighboring vertices must be sent along some path connecting them in the graph

Communication The need for communicating information between different entities participating in the system's activities. – Non-existent in centralized computing except at the very low level of hardware considerations – Communication does not come "for free" has certain costs associated with it. – This cost may dominate other costs e.g., processing time and storage capacity – There may be limits to the speed at which we can transmit information the amounts of information that can be transmitted.

Incomplete knowledge In centralized setting – the processor carrying out the computation has full knowledge – every data item required during the computation is known and available In distributed setting – A processor has only a partial picture of the system – The input may be physically distributed among the sites – In which stage of the computation each of the participants is currently at is unknown The extent of topological knowledge – anonymous networks: vertices have no identifying labels and they initially know nothing on the topology – a more realistic model: vertices are equipped with unique identifiers and that each vertex knows the identity of its neighbors – more permissive models: allow a vertex to know the topology of its entire region – the most powerful model: assumes that complete topological knowledge of the network is maintained at every vertex.

Coping with Failures Centralized environment – a bug in the software or hardware may cause the program to terminate abnormally or even crash the system. – a hardware failure may even crash the entire computer. Distributed setting – the failure of one component may not necessarily cause other processors to go down. – the system continues to function properly and does not collapse even in the presence of some (processor or link) failures. fault-tolerant algorithms

Timing and Synchrony Synchronous model – entire system as driven by one global clock. – the machine cycle of each processor 1. Send messages to (some of) the neighbors. 2. Receive messages from (some of) the neighbors. 3. Perform some local computation. Asynchronous model – algorithms are event driven processors cannot access a global clock – messages sent from a processor to its neighbor arrive within some finite but unpredictable time. – it is also impossible to rely on the ordering of message arrivals the order of arrivals may reverse due to different message transmission speeds. Both of these models somewhat unrealistic – they help to define and limit their potential behavior, show a lower bound or an impossibility result

Asynchrony and Non-determinism Asynchronous model is inherently non-deterministic – the ordering of message deliveries The executions of any particular protocol are strongly affected by – the timing and speed of actions which in turn are affected by other events concurrently occurring in the system – the order in which messages arrive may differ from one execution to another may subsequently affect the way the computation continues

Example Running precisely the same algorithm twice, on precisely the same inputs – would yield completely different executions terminating with different outputs.

Algorithm & Protocol & Programming Protocol – Local program executed by a vertex in the network. – Governs the way each processor modifies its local data and exchanges messages with neighboring processors Distributed algorithm – consists of n protocols, each dedicated to one of the vertices. – In asynchronous setting, the algorithm must be described as event driven

Complications Distributed algorithm design & programming involves several complications – non-deterministic nature of a distributed program. – all possible executions must be correct a hidden adversary has control over the network's actions at any given execution Analyzing the properties of distributed algorithms & proving their correctness – today's one of the most active research areas!

Locality-sensitive Distributed Algorithms Traditional protocols such as routing, – maintain full information (of various forms) about what happens in the network. – as distributed networks grow larger, it becomes increasingly harder to use many of those traditional protocols, not only in the increased need for memory, but maintaining and updating this global information becomes complex and resource consuming. Global knowledge is not always essential – "locality of reference” processors to know more about their immediate neighborhood and less about the rest of the world – even in a global operation, there are many cases that sub- operations are local in nature Costs can be considerably reduced by utilizing this locality of reference!