34
Advanced Distributed Algorithms and Data Structures Christian Scheideler Institut für Informatik Universität Paderborn

Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

  • Upload
    others

  • View
    21

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Advanced Distributed Algorithms and Data Structures

Christian ScheidelerInstitut für Informatik

Universität Paderborn

Page 2: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Advanced Distributed Algorithms and Data Structures

Lecture: Mon 11:00-14:00, F0.530Tutorial: Mon 09:00-11:00, F0.530 (starts 2nd week)

Website: see http://cs.uni-paderborn.de/ti/lehre/veranstaltungen/ss-2019

Focus Areas and Grading: • Focus areas “Algorithm Design” and “Networks and Communication”• Prerequisites for oral exam: presentation of solution to homework

problem and software project• Grading: oral exam (recommended: by end of September)

Prerequisites: • basic knowledge in algorithms and data structures• recommended: distributed algorithms and data structures course

SS 2019 2Chapter 1

Page 3: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Advanced Distributed Algorithms and Data Structures

Homework assignments:• Weekly assignments each Monday on the

website (starting with this week)• Theoretical and practical problems

Slides and assignments: course websiteBook recommendations: no book available

(lecture is based on newest results)SS 2019 3Chapter 1

Page 4: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Embedding into CS Curriculum

Data Structuresand Algorithms

Distributed Algorithmsand Data Structures

Advanced Distributed Algorithmsand Data Structures

Bachelor I

Bachelor II

Master

SS 2019 4Chapter 1

Page 5: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Embedding into CS Curriculum

Advanced Distributed Algorithmsand Data Structures

Master

SS 2019 5Chapter 1

Seminar, Project Group

Page 6: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Advanced Distributed Algorithms and Data Structures

Goals:1. Introduction to advanced concepts in

distributed algorithms and data structures.

2. Introduction to important design methods.

3. Introduction to important analytical methods.

SS 2019 6Chapter 1

Page 7: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Introduction

Sequential Algorithmsand Data Structures

Distributed Algorithmsand Data Structures

SS 2019 7Chapter 1

Page 8: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Introduction

What are the basic problems fordistributed algorithms and data structures?

SS 2019 8Chapter 1

Page 9: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

IntroductionDefinition 1.1: A data structure is a certain way to

organize data in a computer so that operations like, forexample, search, insert, and delete are simple andeffective to realize.

Simple examples:• Lists

• Arrays

SS 2019 9Chapter 1

Page 10: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

IntroductionBasic view:

Data Structure

Operation 1

Operation 2

Operation 3

SS 2019 10Chapter 1

Page 11: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Introduction

Classical case: computer with one processor

Operations

Memory

Data Structure

SS 2019 11Chapter 1

Page 12: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Introduction

Computer with several processors/cores:

Shared Memory

Data Structure

SS 2019 12Chapter 1

Page 13: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Computer with several processors/cores:

Data Structure

Introduction

Cache Cache Cache Cache

Overlaps:• access conflicts (correctness)• performance problems (efficiency)

SS 2019 13Chapter 1

Page 14: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

IntroductionMultiple computers:

Problem: distribution of DS among computers

Data structure

SS 2019 14Chapter 1

Page 15: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

IntroductionMultiple computers:

Problem: distribution of DS among computers

Da ta str uct ure

SS 2019 15Chapter 1

Page 16: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

IntroductionMultiple computers:

Basic problems: • How to interconnect the computers?• How to coordinate the management of the DS

among the computers?

Da ta str uct ure

SS 2019 16Chapter 1

Page 17: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

IntroductionMultiple computers:

How to manage the DS?• We need redundancy to cope with failures.• But then we need to maintain consistency!

Da ta str uct ure

SS 2019 17Chapter 1

Page 18: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

IntroductionDistributed Algorithms:

Input I might be split into different pieces Ij that aredistributed among many computers.How to efficiently solve problems (minimumspanning tree, shortest paths,..) in this case?SS 2019 Chapter 1 18

I1 I2 I3 I4 I5

Page 19: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Introduction

SS 2019 Chapter 1 19

General problem: Find solutions that are scalable, robust andsecure (because participants might be faulty oradversarial, or might get attacked from outside!)

Page 20: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Advanced distributed algorithms and data structures

Contents:1. Introduction2. Foundations3. Link primitives4. Networks5. Consensus and Blockchains6. Information Dissemination7. Information Aggregation8. Distributed Scheduling9. Distributed Optimization

SS 2019 20Chapter 1

Page 21: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

FoundationsGraphs and graph parameters, processes, …

SS 2019 Chapter 1 21

U

Γ(U)

Page 22: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Advanced distributed algorithms and data structures

Contents:1. Introduction2. Foundations3. Link primitives4. Networks5. Consensus and Blockchains6. Information Dissemination7. Distributed Scheduling8. Distributed Optimization

SS 2019 22Chapter 1

Page 23: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Link PrimitivesAdmissible link primitives w.r.t. connectivity:

SS 2019 Chapter 1 23

uv

wu

v

w

uv

wu

v

w

u u vv

u u vv

Introduction Fusion

Delegation Reversal

Page 24: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Advanced distributed algorithms and data structures

Contents:1. Introduction2. Foundations3. Link primitives4. Networks5. Consensus and Blockchains6. Information Dissemination7. Distributed Scheduling8. Distributed Optimization

SS 2019 24Chapter 1

Page 25: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Networks

Minimum spanning tree:

New approach: hybrid networks

SS 2019 Chapter 1 25

4

d

e

g

c

f

b

h

a i

8 79

10

21

8

4 2

76

1411

Page 26: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Advanced distributed algorithms and data structures

Contents:1. Introduction2. Foundations3. Link primitives4. Networks5. Consensus and Blockchains6. Information Dissemination7. Distributed Scheduling8. Distributed Optimization

SS 2019 26Chapter 1

Page 27: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Consensus and Blockchains

Consensus:

SS 2019 Chapter 1 27

58

32

33

33

Page 28: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Advanced distributed algorithms and data structures

Contents:1. Introduction2. Foundations3. Link primitives4. Networks5. Consensus and Blockchains6. Information Dissemination7. Distributed Scheduling8. Distributed Optimization

SS 2019 28Chapter 1

Page 29: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Information Dissemination

SS 2019 Chapter 1 29

2

2 2

2

2 2

2

Page 30: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Advanced distributed algorithms and data structures

Contents:1. Introduction2. Foundations3. Link primitives4. Networks5. Consensus and Blockchains6. Information Dissemination7. Distributed Scheduling8. Distributed Optimization

SS 2019 30Chapter 1

Page 31: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Distributed Scheduling

Independent set, matching, coloring,…

SS 2019 Chapter 1 31

1

9

4

65

2

7

3

10

Page 32: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Advanced distributed algorithms and data structures

Contents:1. Introduction2. Foundations3. Link primitives4. Networks5. Consensus and Blockchains6. Information Dissemination7. Distributed Scheduling8. Distributed Optimization

SS 2019 32Chapter 1

Page 33: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Distributed Optimization

Smallest enclosing ball problem:

SS 2019 Chapter 1 33

Page 34: Advanced Distributed Algorithms and Data Structures · Advanced Distributed Algorithms and Data Structures Goals: 1. Introduction to advanced concepts in distributed algorithms and

Questions?

SS 2019 34Chapter 1