introduction
play

Introduction Radu Nicolescu Department of Computer Science - PowerPoint PPT Presentation

Organisation Topics Basics Echo Further Readings Project Introduction Radu Nicolescu Department of Computer Science University of Auckland 16 July 2018 1 / 35 Organisation Topics Basics Echo Further Readings Project 1 Organisation


  1. Organisation Topics Basics Echo Further Readings Project Introduction Radu Nicolescu Department of Computer Science University of Auckland 16 July 2018 1 / 35

  2. Organisation Topics Basics Echo Further Readings Project 1 Organisation 2 Distributed algorithms 3 Basics 4 Echo algorithm 5 Further algorithms 6 Readings 7 Project and practical work 2 / 35

  3. Organisation Topics Basics Echo Further Readings Project Outline 1 Organisation 2 Distributed algorithms 3 Basics 4 Echo algorithm 5 Further algorithms 6 Readings 7 Project and practical work 3 / 35

  4. Organisation Topics Basics Echo Further Readings Project Organisation • Before the break: weeks 1–4; after the break: weeks 11–12 • Contents: an introduction to a few fundamental distributed algorithms • Exam: theory of the distributed algorithms • Two projects: practical implementations (emulations of specific distributed algorithms on a single computer) 4 / 35

  5. Organisation Topics Basics Echo Further Readings Project Outline 1 Organisation 2 Distributed algorithms 3 Basics 4 Echo algorithm 5 Further algorithms 6 Readings 7 Project and practical work 5 / 35

  6. Organisation Topics Basics Echo Further Readings Project Distributed algorithms • Computing: computer systems, networking, computer architectures, computer programming, algorithms • Parallel computing: multi-processors/cores, parallel systems, threading, concurrency, data sharing and races, parallel programming (data and task parallelism), parallel algorithms • Distributed computing: distributed systems, message passing, communication channels, distributed architectures, distributed programming, distributed algorithms • concurrency of components • paramount messaging time • lack of global clock in the async case • independent failure of components • read more: http://en.wikipedia.org/w/index.php? title=Distributed_computing&oldid=616081922 6 / 35

  7. Organisation Topics Basics Echo Further Readings Project Distributed algorithms • Computing: computer systems, networking, computer architectures, computer programming, algorithms • Parallel computing: multi-processors/cores, parallel systems, threading, concurrency, data sharing and races, parallel programming (data and task parallelism), parallel algorithms • Distributed computing: distributed systems, message passing, communication channels, distributed architectures, distributed programming, distributed algorithms • concurrency of components • paramount messaging time • lack of global clock in the async case • independent failure of components • read more: http://en.wikipedia.org/w/index.php? title=Distributed_computing&oldid=616081922 6 / 35

  8. Organisation Topics Basics Echo Further Readings Project Distributed algorithms • Computing: computer systems, networking, computer architectures, computer programming, algorithms • Parallel computing: multi-processors/cores, parallel systems, threading, concurrency, data sharing and races, parallel programming (data and task parallelism), parallel algorithms • Distributed computing: distributed systems, message passing, communication channels, distributed architectures, distributed programming, distributed algorithms • concurrency of components • paramount messaging time • lack of global clock in the async case • independent failure of components • read more: http://en.wikipedia.org/w/index.php? title=Distributed_computing&oldid=616081922 6 / 35

  9. Organisation Topics Basics Echo Further Readings Project Distributed algorithms • Computing: computer systems, networking, computer architectures, computer programming, algorithms • Parallel computing: multi-processors/cores, parallel systems, threading, concurrency, data sharing and races, parallel programming (data and task parallelism), parallel algorithms • Distributed computing: distributed systems, message passing, communication channels, distributed architectures, distributed programming, distributed algorithms • concurrency of components • paramount messaging time • lack of global clock in the async case • independent failure of components • read more: http://en.wikipedia.org/w/index.php? title=Distributed_computing&oldid=616081922 6 / 35

  10. Organisation Topics Basics Echo Further Readings Project Overlap between parallel and distributed computing • One litmus test: • Parallel computing: tight coupling between tasks • Distributed computing: loose coupling between nodes • Another difference – specific for algorithms: • In classical algorithms, the problem is encoded and given to the (one single) processing element • In parallel algorithms, the problem is encoded and partitioned, and then its chunks are given to the processing elements • In distributed algorithms, the problem is given by the network itself and solved by coordination protocols • read more: http://en.wikipedia.org/w/index.php? title=Distributed_algorithm&oldid=594511669 7 / 35

  11. Organisation Topics Basics Echo Further Readings Project Overlap between parallel and distributed computing • One litmus test: • Parallel computing: tight coupling between tasks • Distributed computing: loose coupling between nodes • Another difference – specific for algorithms: • In classical algorithms, the problem is encoded and given to the (one single) processing element • In parallel algorithms, the problem is encoded and partitioned, and then its chunks are given to the processing elements • In distributed algorithms, the problem is given by the network itself and solved by coordination protocols • read more: http://en.wikipedia.org/w/index.php? title=Distributed_algorithm&oldid=594511669 7 / 35

  12. Organisation Topics Basics Echo Further Readings Project Overlap between parallel and distributed computing • One litmus test: • Parallel computing: tight coupling between tasks • Distributed computing: loose coupling between nodes • Another difference – specific for algorithms: • In classical algorithms, the problem is encoded and given to the (one single) processing element • In parallel algorithms, the problem is encoded and partitioned, and then its chunks are given to the processing elements • In distributed algorithms, the problem is given by the network itself and solved by coordination protocols • read more: http://en.wikipedia.org/w/index.php? title=Distributed_algorithm&oldid=594511669 7 / 35

  13. Organisation Topics Basics Echo Further Readings Project Overlap between parallel and distributed computing • One litmus test: • Parallel computing: tight coupling between tasks • Distributed computing: loose coupling between nodes • Another difference – specific for algorithms: • In classical algorithms, the problem is encoded and given to the (one single) processing element • In parallel algorithms, the problem is encoded and partitioned, and then its chunks are given to the processing elements • In distributed algorithms, the problem is given by the network itself and solved by coordination protocols • read more: http://en.wikipedia.org/w/index.php? title=Distributed_algorithm&oldid=594511669 7 / 35

  14. Organisation Topics Basics Echo Further Readings Project Overlap between parallel and distributed computing • One litmus test: • Parallel computing: tight coupling between tasks • Distributed computing: loose coupling between nodes • Another difference – specific for algorithms: • In classical algorithms, the problem is encoded and given to the (one single) processing element • In parallel algorithms, the problem is encoded and partitioned, and then its chunks are given to the processing elements • In distributed algorithms, the problem is given by the network itself and solved by coordination protocols • read more: http://en.wikipedia.org/w/index.php? title=Distributed_algorithm&oldid=594511669 7 / 35

  15. Organisation Topics Basics Echo Further Readings Project Typical scenario in distributed computing • computing nodes have local memories and unique IDs • nodes are arranged in a network: graph, digraph, ring, ... • neighbouring nodes can communicate by message passing • independent failures are possible: nodes, communication channels • the network topology (size, diameter, neighbourhoods) and other characteristics (e.g. latencies) are often unknown to individual nodes • the network may or may not dynamically change • nodes solve parts of a bigger problem or have individual problems but still need some sort of coordination – which is achieved by distributed algorithms 8 / 35

  16. Organisation Topics Basics Echo Further Readings Project Outline 1 Organisation 2 Distributed algorithms 3 Basics 4 Echo algorithm 5 Further algorithms 6 Readings 7 Project and practical work 9 / 35

  17. Organisation Topics Basics Echo Further Readings Project Recall from graph theory • Graphs, edges, digraphs, arcs, degrees, connected, complete graphs, size, distance, diameter, radius, paths, weights/costs, shortest paths, spanning trees, ... • distance between a pair of nodes = minimum length of a connecting path, aka length of a shortest path (hop count in unweighted graphs) • min • diameter = maximum distance, between any pair of nodes • max min • radius = minimum maximum distance, over all nodes (minimum attained at centers) • min max min 10 / 35

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend