topological structure of asynchronous computing imaruth/notes/distributed... · 2021. 4. 4. · 1...

73
Topological Structure of Asynchronous Computing I Maruth Goyal UT Austin Spring 2021 Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 1 / 43

Upload: others

Post on 30-Aug-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topological Structure of Asynchronous Computing I

Maruth Goyal

UT Austin

Spring 2021

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 1 / 43

Page 2: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Table of Contents

1 Introduction

2 Computational Model

3 Topology Background

4 Combining Topology and Computation

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 2 / 43

Page 3: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Happy Holi!

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 3 / 43

Page 4: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Introduction

In real systems it is very desirable, almost necessary to processmultiple things at the same time.

Happens in the form of programs which are concurrent, or parallel, orboth.

Concurrency: Multiplexing 1000s of tasks over a single thread. eg:servers, just about any Go programParallelism: Multiplexing threads over multiple cores, truly executingmultiple operations at the same time. eg: multithreaded OSs

However, such programs often require synchronization amongtasks/threads for correctness.

Synchronizing using primitives such as Mutexes, Locks, Semaphores,etc is susceptible to deadlock, livelock, thread starvation etc.

This motivates non-blocking programs. We will focus on wait-freeprograms.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 4 / 43

Page 5: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Introduction

In real systems it is very desirable, almost necessary to processmultiple things at the same time.

Happens in the form of programs which are concurrent, or parallel, orboth.

Concurrency: Multiplexing 1000s of tasks over a single thread. eg:servers, just about any Go programParallelism: Multiplexing threads over multiple cores, truly executingmultiple operations at the same time. eg: multithreaded OSs

However, such programs often require synchronization amongtasks/threads for correctness.

Synchronizing using primitives such as Mutexes, Locks, Semaphores,etc is susceptible to deadlock, livelock, thread starvation etc.

This motivates non-blocking programs. We will focus on wait-freeprograms.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 4 / 43

Page 6: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Introduction

In real systems it is very desirable, almost necessary to processmultiple things at the same time.

Happens in the form of programs which are concurrent, or parallel, orboth.

Concurrency: Multiplexing 1000s of tasks over a single thread. eg:servers, just about any Go programParallelism: Multiplexing threads over multiple cores, truly executingmultiple operations at the same time. eg: multithreaded OSs

However, such programs often require synchronization amongtasks/threads for correctness.

Synchronizing using primitives such as Mutexes, Locks, Semaphores,etc is susceptible to deadlock, livelock, thread starvation etc.

This motivates non-blocking programs. We will focus on wait-freeprograms.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 4 / 43

Page 7: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Introduction

In real systems it is very desirable, almost necessary to processmultiple things at the same time.

Happens in the form of programs which are concurrent, or parallel, orboth.

Concurrency: Multiplexing 1000s of tasks over a single thread. eg:servers, just about any Go programParallelism: Multiplexing threads over multiple cores, truly executingmultiple operations at the same time. eg: multithreaded OSs

However, such programs often require synchronization amongtasks/threads for correctness.

Synchronizing using primitives such as Mutexes, Locks, Semaphores,etc is susceptible to deadlock, livelock, thread starvation etc.

This motivates non-blocking programs. We will focus on wait-freeprograms.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 4 / 43

Page 8: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Introduction

Definition (Wait-free algorithm)

An asynchronous algorithm wherein for each thread of execution, eachoperation is guaranteed to finish in a bounded number of steps is knownas a wait-free algorithm

Wait-free algorithms guarantee that every thread will always makeprogress.

This also guarantees system-wide progress.

Well studied class of algorithms [Attiya et al., 1994,Hunt et al., 2010, Herlihy, 1988, Kogan and Petrank, 2012]

Wait-free data structures:

Queue: [Kogan and Petrank, 2011]Hash Table: [Laborde et al., 2017]Linked List: [Timnat et al., 2012]

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 5 / 43

Page 9: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Introduction

Definition (Wait-free algorithm)

An asynchronous algorithm wherein for each thread of execution, eachoperation is guaranteed to finish in a bounded number of steps is knownas a wait-free algorithm

Wait-free algorithms guarantee that every thread will always makeprogress.

This also guarantees system-wide progress.

Well studied class of algorithms [Attiya et al., 1994,Hunt et al., 2010, Herlihy, 1988, Kogan and Petrank, 2012]

Wait-free data structures:

Queue: [Kogan and Petrank, 2011]Hash Table: [Laborde et al., 2017]Linked List: [Timnat et al., 2012]

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 5 / 43

Page 10: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Introduction

Definition (Wait-free algorithm)

An asynchronous algorithm wherein for each thread of execution, eachoperation is guaranteed to finish in a bounded number of steps is knownas a wait-free algorithm

Question we’re interested in: which problems have wait-freealgorithms?

We will look at seminal work from Maurice Herlihy and Nir Shavitfrom 1999: The Topological Structure of Asynchronous Computability[Herlihy and Shavit, 1999]

Awarded 2004 Godel prize for this work.

They provide necessary and sufficient conditions for problems to havewait-free algorithms using techniques from Algebraic, andCombinatorial Topology.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 6 / 43

Page 11: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Introduction

Definition (Wait-free algorithm)

An asynchronous algorithm wherein for each thread of execution, eachoperation is guaranteed to finish in a bounded number of steps is knownas a wait-free algorithm

Question we’re interested in: which problems have wait-freealgorithms?

We will look at seminal work from Maurice Herlihy and Nir Shavitfrom 1999: The Topological Structure of Asynchronous Computability[Herlihy and Shavit, 1999]

Awarded 2004 Godel prize for this work.

They provide necessary and sufficient conditions for problems to havewait-free algorithms using techniques from Algebraic, andCombinatorial Topology.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 6 / 43

Page 12: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Introduction

Definition (Wait-free algorithm)

An asynchronous algorithm wherein for each thread of execution, eachoperation is guaranteed to finish in a bounded number of steps is knownas a wait-free algorithm

They proved the following problems do not have wait-free algorithms

Renaming [Attiya et al., 1990]: Suppose you have n processors, eachwith a unique ID in [M ]. Now want the processors to choose uniquenames in [N ] where n ≤ N < M .

k-set agreement [Chaudhuri, 1990]: Each processor has a startingvalue, and must choose the value of any of the processors as its finalvalue. The processors may choose at most k distinct values.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 7 / 43

Page 13: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Introduction

Definition (Wait-free algorithm)

An asynchronous algorithm wherein for each thread of execution, eachoperation is guaranteed to finish in a bounded number of steps is knownas a wait-free algorithm

They proved the following problems do not have wait-free algorithms

Renaming [Attiya et al., 1990]: Suppose you have n processors, eachwith a unique ID in [M ]. Now want the processors to choose uniquenames in [N ] where n ≤ N < M .k-set agreement [Chaudhuri, 1990]: Each processor has a startingvalue, and must choose the value of any of the processors as its finalvalue. The processors may choose at most k distinct values.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 7 / 43

Page 14: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Prior Work

Independently, [Saks and Zaharoglou, 1993] proved impossibility ofk-set agreement using techniques from Topology. However, theirmethod (according to Herlihy and Shavit), seem “specific” to setagreement, while their method generalizes to arbitrary problems.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 8 / 43

Page 15: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Theorem Statement

The following is the statement of the main theorem.

Theorem (Asynchronous Computability Theorem)

A decision task 〈ℐ,O,∆〉 has a wait-free protocol using read-write memoryif and only if there exists a chromatic subdivision σ of ℐ and acolor-preserving simplicial map

µ : σ(ℐ)→ O

such that for each simplex S in σ(ℐ), µ(S) ∈ ∆(carrier(S,ℐ)).

In the rest of this talk we will break down and define every subpart ofthis theorem.

In the proceeding sessions, we will (1) study the application of thistheorem to different problems, and then finally (2) study the proof ofthis theorem.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 9 / 43

Page 16: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Theorem Statement

The following is the statement of the main theorem.

Theorem (Asynchronous Computability Theorem)

A decision task 〈ℐ,O,∆〉 has a wait-free protocol using read-write memoryif and only if there exists a chromatic subdivision σ of ℐ and acolor-preserving simplicial map

µ : σ(ℐ)→ O

such that for each simplex S in σ(ℐ), µ(S) ∈ ∆(carrier(S,ℐ)).

In the rest of this talk we will break down and define every subpart ofthis theorem.

In the proceeding sessions, we will (1) study the application of thistheorem to different problems, and then finally (2) study the proof ofthis theorem.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 9 / 43

Page 17: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Table of Contents

1 Introduction

2 Computational Model

3 Topology Background

4 Combining Topology and Computation

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 10 / 43

Page 18: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

Theorem (Asynchronous Computability Theorem)

A decision task 〈ℐ,O,∆〉 has a wait-free protocol using read-writememory if and only if there exists a chromatic subdivision σ of ℐ and acolor-preserving simplicial map

µ : σ(ℐ)→ O

such that for each simplex S in σ(ℐ), µ(S) ∈ ∆(carrier(S,ℐ)).

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 11 / 43

Page 19: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

1 Decision Tasks2 Wait-Free Protocols

1 Protocols2 Read-Write memory

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 12 / 43

Page 20: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

“Decision Tasks” allow us to appropriately formalize problems in theAsynchronous setting.

In particular, a decision task is defined using a 3-tuple, 〈ℐ,O,∆〉.Here, ℐ is the “input vector”, O the “output vector”, and ∆ a “taskspecification”

Definition (I/O Vectors)

An input vector I (resp output vector O) is a vector of length n, wherethere are n processors, such that each entry is either a value of type DI

(resp. DO), or ⊥. At least one entry must not be ⊥.

If entry I[x] = ⊥, it means processor x will not participate in theexecution.

Similarly, if O[x] = ⊥, then it means processor x did not choose anoutput in the execution.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 13 / 43

Page 21: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

“Decision Tasks” allow us to appropriately formalize problems in theAsynchronous setting.

In particular, a decision task is defined using a 3-tuple, 〈ℐ,O,∆〉.Here, ℐ is the “input vector”, O the “output vector”, and ∆ a “taskspecification”

Definition (I/O Vectors)

An input vector I (resp output vector O) is a vector of length n, wherethere are n processors, such that each entry is either a value of type DI

(resp. DO), or ⊥. At least one entry must not be ⊥.

If entry I[x] = ⊥, it means processor x will not participate in theexecution.

Similarly, if O[x] = ⊥, then it means processor x did not choose anoutput in the execution.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 13 / 43

Page 22: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

“Decision Tasks” allow us to appropriately formalize problems in theAsynchronous setting.

In particular, a decision task is defined using a 3-tuple, 〈ℐ,O,∆〉.Here, ℐ is the “input vector”, O the “output vector”, and ∆ a “taskspecification”

Definition (I/O Vectors)

An input vector I (resp output vector O) is a vector of length n, wherethere are n processors, such that each entry is either a value of type DI

(resp. DO), or ⊥. At least one entry must not be ⊥.

If entry I[x] = ⊥, it means processor x will not participate in theexecution.

Similarly, if O[x] = ⊥, then it means processor x did not choose anoutput in the execution.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 13 / 43

Page 23: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

It is useful to relate input/output vectors which are basically thesame, except perhaps some processors failed / don’t participate.

Definition

A vector ~U is said to be a prefix of ~V is for 0 ≤ i ≤ n, either ~U [i] = ~V [i],or ~U [i] = ⊥.

Since we are considering wait-free algorithms, we are interested inmodelling scenarios where even in the case some processors fail, allothers will still produce output. Thus, this motivates the followingdefinition:

Definition

A set V of vectors is prefix-closed if for all ~V ∈ V , every prefix ~U of ~V isin V .

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 14 / 43

Page 24: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

It is useful to relate input/output vectors which are basically thesame, except perhaps some processors failed / don’t participate.

Definition

A vector ~U is said to be a prefix of ~V is for 0 ≤ i ≤ n, either ~U [i] = ~V [i],or ~U [i] = ⊥.

Since we are considering wait-free algorithms, we are interested inmodelling scenarios where even in the case some processors fail, allothers will still produce output. Thus, this motivates the followingdefinition:

Definition

A set V of vectors is prefix-closed if for all ~V ∈ V , every prefix ~U of ~V isin V .

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 14 / 43

Page 25: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

It is useful to relate input/output vectors which are basically thesame, except perhaps some processors failed / don’t participate.

Definition

A vector ~U is said to be a prefix of ~V is for 0 ≤ i ≤ n, either ~U [i] = ~V [i],or ~U [i] = ⊥.

Since we are considering wait-free algorithms, we are interested inmodelling scenarios where even in the case some processors fail, allothers will still produce output. Thus, this motivates the followingdefinition:

Definition

A set V of vectors is prefix-closed if for all ~V ∈ V , every prefix ~U of ~V isin V .

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 14 / 43

Page 26: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

It is useful to relate input/output vectors which are basically thesame, except perhaps some processors failed / don’t participate.

Definition

A vector ~U is said to be a prefix of ~V is for 0 ≤ i ≤ n, either ~U [i] = ~V [i],or ~U [i] = ⊥.

Since we are considering wait-free algorithms, we are interested inmodelling scenarios where even in the case some processors fail, allothers will still produce output. Thus, this motivates the followingdefinition:

Definition

A set V of vectors is prefix-closed if for all ~V ∈ V , every prefix ~U of ~V isin V .

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 14 / 43

Page 27: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

We may now define the “task specification”, which induces a mapfrom inputs to valid sets of outputs. Thus, defining the task to besolved.

Definition

A task specification is a relation ∆ ⊂ I ×O where I,O are prefix-closedinput, and output vectors respectively. Moreover, for each ~I ∈ I, thereexists at least one ~O ∈ O such that (~I, ~O) ∈ ∆. We will use ∆(~I) todenote the set { ~O | (~I, ~O) ∈ ∆}.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 15 / 43

Page 28: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

We may now define the “task specification”, which induces a mapfrom inputs to valid sets of outputs. Thus, defining the task to besolved.

Definition

A task specification is a relation ∆ ⊂ I ×O where I,O are prefix-closedinput, and output vectors respectively. Moreover, for each ~I ∈ I, thereexists at least one ~O ∈ O such that (~I, ~O) ∈ ∆. We will use ∆(~I) todenote the set { ~O | (~I, ~O) ∈ ∆}.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 15 / 43

Page 29: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

1 Decision Tasks X2 Wait-Free Protocols

1 Protocols2 Read-Write memory

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 16 / 43

Page 30: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

Definition (I/O automaton)

An I/O automaton is a nondeterministic automaton with a (not necessarilyfinite) set of states, a set of input events, output events, and a transitionrelation. An execution is an alternating sequence of states and events,given some initial state.

Definition (Process)

A process P is an automaton with output events call(P, v,X, T ), andFinish(P, v), and input events Start(P, v), and Return(P, v,X, T )where P is a process id, v is a value, X an object, and T is a type.

Intuitively: a process receives Start is it’s the entry-point. TheReturn event models composition with a previous “subroutine”.

Thus, when a process finishes it can either terminate with Finish orit can call the next subroutine with Call.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 17 / 43

Page 31: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

Definition (I/O automaton)

An I/O automaton is a nondeterministic automaton with a (not necessarilyfinite) set of states, a set of input events, output events, and a transitionrelation. An execution is an alternating sequence of states and events,given some initial state.

Definition (Process)

A process P is an automaton with output events call(P, v,X, T ), andFinish(P, v), and input events Start(P, v), and Return(P, v,X, T )where P is a process id, v is a value, X an object, and T is a type.

Intuitively: a process receives Start is it’s the entry-point. TheReturn event models composition with a previous “subroutine”.

Thus, when a process finishes it can either terminate with Finish orit can call the next subroutine with Call.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 17 / 43

Page 32: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

Definition (I/O automaton)

An I/O automaton is a nondeterministic automaton with a (not necessarilyfinite) set of states, a set of input events, output events, and a transitionrelation. An execution is an alternating sequence of states and events,given some initial state.

Definition (Process)

A process P is an automaton with output events call(P, v,X, T ), andFinish(P, v), and input events Start(P, v), and Return(P, v,X, T )where P is a process id, v is a value, X an object, and T is a type.

Intuitively: a process receives Start is it’s the entry-point. TheReturn event models composition with a previous “subroutine”.

Thus, when a process finishes it can either terminate with Finish orit can call the next subroutine with Call.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 17 / 43

Page 33: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Computational Model

Definition (Object)

An object X is an automaton with input events Call(P, v,X, T ), andoutput event Return(P, v,X, T ).

Definition (Read/Write Memory Object)

A read/write memory object M is an automaton with input eventCall(P,Read,M, a) (also written as Read(P, a)), and a correspondingCall(P, (Write, v),M, a) (also written as Write(P, a, v)).

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 18 / 43

Page 34: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Memory Model

We assume memory is atomic snapshot memory.

There is an array a of length n, where there are n processes.

reads: A read atomically returns the entire array.

writes: A write updates the entry corresponding to the processor.

commutativity: Reads commute with each other, and writescommute with each other.

linearizability: Atomic snapshot memory is linearizable. i.e., for anysequence of potentially concurrent reads and writes, there’s anequivalent sequential execution which preserves relative ordering ofevents.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 19 / 43

Page 35: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Memory Model

We assume memory is atomic snapshot memory.

There is an array a of length n, where there are n processes.

reads: A read atomically returns the entire array.

writes: A write updates the entry corresponding to the processor.

commutativity: Reads commute with each other, and writescommute with each other.

linearizability: Atomic snapshot memory is linearizable. i.e., for anysequence of potentially concurrent reads and writes, there’s anequivalent sequential execution which preserves relative ordering ofevents.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 19 / 43

Page 36: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Memory Model

We assume memory is atomic snapshot memory.

There is an array a of length n, where there are n processes.

reads: A read atomically returns the entire array.

writes: A write updates the entry corresponding to the processor.

commutativity: Reads commute with each other, and writescommute with each other.

linearizability: Atomic snapshot memory is linearizable. i.e., for anysequence of potentially concurrent reads and writes, there’s anequivalent sequential execution which preserves relative ordering ofevents.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 19 / 43

Page 37: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Wait Free Protocols

Definition (Wait-Free solving)

A protocol P wait-free solves a decision task, if given an input vector ~I atleast one processor produces a Finish event in a finite number of stepsindependent of the whether the other processors finish, and the outputvector ~O produced by the processors is a prefix of some vector in ∆(~I).

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 20 / 43

Page 38: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Table of Contents

1 Introduction

2 Computational Model

3 Topology Background

4 Combining Topology and Computation

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 21 / 43

Page 39: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Theorem (Asynchronous Computability Theorem)

A decision task 〈ℐ,O,∆〉 has a wait-free protocol using read-write memoryif and only if there exists a chromatic subdivision σ of ℐ and acolor-preserving simplicial map

µ : σ(ℐ)→ O

such that for each simplex S in σ(ℐ), µ(S) ∈ ∆(carrier(S,ℐ)).

Geometric/Abstract simplex

Geomtric/Abstract complex

simplicial Map

Colored complex

Subdivision of a complex

Color preserving maps, chromatic subdivision

Carrier of simplex in subdivisionMaruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 22 / 43

Page 40: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

Definition (Geometric n-simplex)

Given a set of points {v0, . . . , vn} in some Euclidean space (say Rd), thegeometric n-simplex on these points is the set

S = {x | x =

n∑i=0

ti · vi,n∑i=0

ti = 1, 0 ≤ ti ≤ 1} ≡ (v0, . . . , vn)

The dimension of a simplex with n+ 1 vertices is n, written as dim(S).

For 2 points, (i.e., a 1-simplex) it is a line

For 3 points, (i.e., a 2-simplex) it is a solid triangle

For 4 points, (i.e., a 3-simplex) it is a solid tetrahedron

Definition (Face)

Any simplex spanned by a proper subset of {v0, . . . , vn} is called a properface of S.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 22 / 43

Page 41: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

Definition (Geometric n-simplex)

Given a set of points {v0, . . . , vn} in some Euclidean space (say Rd), thegeometric n-simplex on these points is the set

S = {x | x =

n∑i=0

ti · vi,n∑i=0

ti = 1, 0 ≤ ti ≤ 1} ≡ (v0, . . . , vn)

The dimension of a simplex with n+ 1 vertices is n, written as dim(S).

For 2 points, (i.e., a 1-simplex) it is a line

For 3 points, (i.e., a 2-simplex) it is a solid triangle

For 4 points, (i.e., a 3-simplex) it is a solid tetrahedron

Definition (Face)

Any simplex spanned by a proper subset of {v0, . . . , vn} is called a properface of S.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 22 / 43

Page 42: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

Definition (Geometric n-simplex)

Given a set of points {v0, . . . , vn} in some Euclidean space (say Rd), thegeometric n-simplex on these points is the set

S = {x | x =

n∑i=0

ti · vi,n∑i=0

ti = 1, 0 ≤ ti ≤ 1} ≡ (v0, . . . , vn)

The dimension of a simplex with n+ 1 vertices is n, written as dim(S).

For 2 points, (i.e., a 1-simplex) it is a line

For 3 points, (i.e., a 2-simplex) it is a solid triangle

For 4 points, (i.e., a 3-simplex) it is a solid tetrahedron

Definition (Face)

Any simplex spanned by a proper subset of {v0, . . . , vn} is called a properface of S.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 22 / 43

Page 43: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

Definition (Geometric n-simplex)

Given a set of points {v0, . . . , vn} in some Euclidean space (say Rd), thegeometric n-simplex on these points is the set

S = {x | x =

n∑i=0

ti · vi,n∑i=0

ti = 1, 0 ≤ ti ≤ 1} ≡ (v0, . . . , vn)

The dimension of a simplex with n+ 1 vertices is n, written as dim(S).

Eventually, the vertices of the simplex will be used to identify thestates of the various processors, and the simplices will model theconsistent state of multiple processors involved in solving a task.

However, we want to reason about multiple possible sets of inputstates, corresponding to different input vectors ~I.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 23 / 43

Page 44: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

Definition (Geometric n-simplex)

Given a set of points {v0, . . . , vn} in some Euclidean space (say Rd), thegeometric n-simplex on these points is the set

S = {x | x =

n∑i=0

ti · vi,n∑i=0

ti = 1, 0 ≤ ti ≤ 1} ≡ (v0, . . . , vn)

The dimension of a simplex with n+ 1 vertices is n, written as dim(S).

Eventually, the vertices of the simplex will be used to identify thestates of the various processors, and the simplices will model theconsistent state of multiple processors involved in solving a task.

However, we want to reason about multiple possible sets of inputstates, corresponding to different input vectors ~I.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 23 / 43

Page 45: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

Definition (Geomtric simplicial n-complex)

A geometric simplicial complex K in a Euclidean space is a collection ofgeometric simplices such that

Every face of every simplex of K is also a simplex of K

The intersection of any two simplices of K is also a simplex of K.

The dimension of K, dim(K) = maxS∈K dimS.

Definition

A subset ℒ of a complex K, is called a subcomplex if it’s closed undercontainment and intersection.

Definition

The `-skeleton of a complex K, denoted skel`(K) is the subcomplexconsisting of all simplices of dimension at most `.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 24 / 43

Page 46: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

Definition (Geomtric simplicial n-complex)

A geometric simplicial complex K in a Euclidean space is a collection ofgeometric simplices such that

Every face of every simplex of K is also a simplex of K

The intersection of any two simplices of K is also a simplex of K.

The dimension of K, dim(K) = maxS∈K dimS.

Definition

A subset ℒ of a complex K, is called a subcomplex if it’s closed undercontainment and intersection.

Definition

The `-skeleton of a complex K, denoted skel`(K) is the subcomplexconsisting of all simplices of dimension at most `.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 24 / 43

Page 47: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

Definition (Geomtric simplicial n-complex)

A geometric simplicial complex K in a Euclidean space is a collection ofgeometric simplices such that

Every face of every simplex of K is also a simplex of K

The intersection of any two simplices of K is also a simplex of K.

The dimension of K, dim(K) = maxS∈K dimS.

Definition

A subset ℒ of a complex K, is called a subcomplex if it’s closed undercontainment and intersection.

Definition

The `-skeleton of a complex K, denoted skel`(K) is the subcomplexconsisting of all simplices of dimension at most `.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 24 / 43

Page 48: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 25 / 43

Page 49: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

A construction that will be most important is maps betweencomplexes which map the simplices of one to simplices of the other.We will refer to these as simplicial maps.

Intuitively, this will be useful to study the interaction of the input,and output simplices for a decision task.

Definition

Let K and ℒ be complexes, possibly of different dimensions. A vertex mapµ : skel0(K)→ skel0(ℒ) carries vertices of K to vertices of ℒ. If this inaddition carries simplices of K to simplices of ℒ it is called a simplicialmap.

Definition

A coloring χ of a complex K assigns every vertex of K a color, such thatno two vertices connected by a 1-simplex (line) have the same color.The coloring can be thought of as a dimension-preserving simplicial mapχ : skel0(K)→ skel0(S) where S is the complex induced by the faces of an-dimensional simplex S. Intuitively, the coloring condition is enforced bysuch a map since it is dimension preserving.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 26 / 43

Page 50: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

A construction that will be most important is maps betweencomplexes which map the simplices of one to simplices of the other.We will refer to these as simplicial maps.Intuitively, this will be useful to study the interaction of the input,and output simplices for a decision task.

Definition

Let K and ℒ be complexes, possibly of different dimensions. A vertex mapµ : skel0(K)→ skel0(ℒ) carries vertices of K to vertices of ℒ. If this inaddition carries simplices of K to simplices of ℒ it is called a simplicialmap.

Definition

A coloring χ of a complex K assigns every vertex of K a color, such thatno two vertices connected by a 1-simplex (line) have the same color.The coloring can be thought of as a dimension-preserving simplicial mapχ : skel0(K)→ skel0(S) where S is the complex induced by the faces of an-dimensional simplex S. Intuitively, the coloring condition is enforced bysuch a map since it is dimension preserving.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 26 / 43

Page 51: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

A construction that will be most important is maps betweencomplexes which map the simplices of one to simplices of the other.We will refer to these as simplicial maps.Intuitively, this will be useful to study the interaction of the input,and output simplices for a decision task.

Definition

Let K and ℒ be complexes, possibly of different dimensions. A vertex mapµ : skel0(K)→ skel0(ℒ) carries vertices of K to vertices of ℒ. If this inaddition carries simplices of K to simplices of ℒ it is called a simplicialmap.

Definition

A coloring χ of a complex K assigns every vertex of K a color, such thatno two vertices connected by a 1-simplex (line) have the same color.The coloring can be thought of as a dimension-preserving simplicial mapχ : skel0(K)→ skel0(S) where S is the complex induced by the faces of an-dimensional simplex S. Intuitively, the coloring condition is enforced bysuch a map since it is dimension preserving.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 26 / 43

Page 52: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

We will now consider a structure which further slices up a complexinto potentially smaller simplices.

Intuitively, this helps model certain susbets of processor states,and/or evolution of intermediate states.

Definition

Let K be a complex in R`. A complex σ(K) is a subdivision of K if

Each simplex in σ(K) is contained in a simplex in K

Each simplex of K is the union of finitely many simplices in σ(K).

Definition

If S is a simplex if σ(K), the carrier of S denoted carrier(S,K) is theunique smallest T ∈ K such that S ⊂ T .Intuitively, it is the simplex in the original complex which was subdividedto create S in σ(K).

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 27 / 43

Page 53: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

We will now consider a structure which further slices up a complexinto potentially smaller simplices.

Intuitively, this helps model certain susbets of processor states,and/or evolution of intermediate states.

Definition

Let K be a complex in R`. A complex σ(K) is a subdivision of K if

Each simplex in σ(K) is contained in a simplex in K

Each simplex of K is the union of finitely many simplices in σ(K).

Definition

If S is a simplex if σ(K), the carrier of S denoted carrier(S,K) is theunique smallest T ∈ K such that S ⊂ T .Intuitively, it is the simplex in the original complex which was subdividedto create S in σ(K).

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 27 / 43

Page 54: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

We will now consider a structure which further slices up a complexinto potentially smaller simplices.

Intuitively, this helps model certain susbets of processor states,and/or evolution of intermediate states.

Definition

Let K be a complex in R`. A complex σ(K) is a subdivision of K if

Each simplex in σ(K) is contained in a simplex in K

Each simplex of K is the union of finitely many simplices in σ(K).

Definition

If S is a simplex if σ(K), the carrier of S denoted carrier(S,K) is theunique smallest T ∈ K such that S ⊂ T .Intuitively, it is the simplex in the original complex which was subdividedto create S in σ(K).

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 27 / 43

Page 55: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 28 / 43

Page 56: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Topology Background

Definition

A chromatic subdivision of (K, χK) is a chromatic complex (σ(K), χσ(K))such that σ(K) is a subdivision of K, and for all S in σ(K), we haveχσ(K)(S) ⊆ χK(carrier(S,K))

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 29 / 43

Page 57: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Table of Contents

1 Introduction

2 Computational Model

3 Topology Background

4 Combining Topology and Computation

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 30 / 43

Page 58: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Combining Topology and Computation

Theorem (Asynchronous Computability Theorem)

A decision task 〈ℐ,O,∆〉 has a wait-free protocol using read-write memoryif and only if there exists a chromatic subdivision σ of ℐ and acolor-preserving simplicial map

µ : σ(ℐ)→ O

such that for each simplex S in σ(ℐ), µ(S) ∈ ∆(carrier(S,ℐ)).

We have all these topological constructions, but how do we embedour decision task to work with these constructions?

Need to (1) Represent the Input/Output sets ℐ and O usingcomplexes, and (2) lift ∆ to a topological specification.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 31 / 43

Page 59: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Combining Topology and Computation

Theorem (Asynchronous Computability Theorem)

A decision task 〈ℐ,O,∆〉 has a wait-free protocol using read-write memoryif and only if there exists a chromatic subdivision σ of ℐ and acolor-preserving simplicial map

µ : σ(ℐ)→ O

such that for each simplex S in σ(ℐ), µ(S) ∈ ∆(carrier(S,ℐ)).

We have all these topological constructions, but how do we embedour decision task to work with these constructions?

Need to (1) Represent the Input/Output sets ℐ and O usingcomplexes, and (2) lift ∆ to a topological specification.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 31 / 43

Page 60: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Combining Topology and Computation

We first need to introduce a generalization of the geometric simplicesfrom earlier in order to embed our tasks.

However, conveniently there is provably a correspondence betweenthis generalization and a geometric representation.

Definition

An abstract simplex is simply a non-empty set.

Definition

An abstract complex K is a collection of abstract simplices closed undercontainment. i.e., if S ∈ K then so is any face of S.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 32 / 43

Page 61: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Combining Topology and Computation

We first need to introduce a generalization of the geometric simplicesfrom earlier in order to embed our tasks.

However, conveniently there is provably a correspondence betweenthis generalization and a geometric representation.

Definition

An abstract simplex is simply a non-empty set.

Definition

An abstract complex K is a collection of abstract simplices closed undercontainment. i.e., if S ∈ K then so is any face of S.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 32 / 43

Page 62: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Combining Topology and Computation

Definition

Let ~I ∈ I be an input vector. The input simplex corresponding to ~I,denoted T (I), is the abstract colored simplex whose vertices 〈Pi, vi〉correspond to the participating entries in ~I, for which ~I[i] = vi 6= ⊥.Output simplices defined similarly.

Definition

The input complex corresponding to I, dneoted by ℐ is the collection ofinput simplices T (I) corresponding to the input vectors of I. Outputcomplex O defined similarly.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 33 / 43

Page 63: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Combining Topology and Computation

Definition

Let ~I ∈ I be an input vector. The input simplex corresponding to ~I,denoted T (I), is the abstract colored simplex whose vertices 〈Pi, vi〉correspond to the participating entries in ~I, for which ~I[i] = vi 6= ⊥.Output simplices defined similarly.

Definition

The input complex corresponding to I, dneoted by ℐ is the collection ofinput simplices T (I) corresponding to the input vectors of I. Outputcomplex O defined similarly.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 33 / 43

Page 64: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Combining Topology and Computation

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 34 / 43

Page 65: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Combining Topology and Computation

Definition

The topological task specification corresponding to the task specification∆, denoted ∆ ⊆ ℐ × O, is defined to contain all pairs (T (~I),T ( ~O)) where(~I, ~O) is in the task specification ∆.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 35 / 43

Page 66: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Putting it all Together I

Theorem (Asynchronous Computability Theorem)

A decision task 〈ℐ,O,∆〉 has a wait-free protocol using read-write memoryif and only if there exists a chromatic subdivision σ of ℐ and acolor-preserving simplicial map

µ : σ(ℐ)→ O

such that for each simplex S in σ(ℐ), µ(S) ∈ ∆(carrier(S,ℐ)).

My intuition:

Last condition µ(S) ∈ ∆(carrier(S,ℐ)) enforces that µ is mapping tovalid output simplexes (i.e., protocol actually solves the task)

The coloring enforces some notion of “independence” among tasks asdesired in a wait-free protocol

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 36 / 43

Page 67: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Putting it all Together II

The subdivision allows considering more fine-grained / intermediatestates of processors, and the color-preserving map says that thesestates can be mapped to a valid output state which still preservesthat independence.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 37 / 43

Page 68: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

References I

Attiya, H., Bar-Noy, A., Dolev, D., Peleg, D., and Reischuk, R.(1990).Renaming in an asynchronous environment.Journal of the ACM (JACM), 37(3):524–548.

Attiya, H., Lynch, N., and Shavit, N. (1994).Are wait-free algorithms fast?Journal of the ACM (JACM), 41(4):725–763.

Chaudhuri, S. (1990).Agreement is harder than consensus: Set consensus problems intotally asynchronous systems.In Proceedings of the ninth annual ACM symposium on Principles ofdistributed computing, pages 311–324.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 38 / 43

Page 69: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

References II

Herlihy, M. and Shavit, N. (1999).The topological structure of asynchronous computability.Journal of the ACM (JACM), 46(6):858–923.

Herlihy, M. P. (1988).Impossibility and universality results for wait-free synchronization.In Proceedings of the seventh annual ACM Symposium on Principlesof distributed computing, pages 276–290.

Hunt, P., Konar, M., Junqueira, F. P., and Reed, B. (2010).Zookeeper: Wait-free coordination for internet-scale systems.In USENIX annual technical conference, volume 8.

Kogan, A. and Petrank, E. (2011).Wait-free queues with multiple enqueuers and dequeuers.ACM SIGPLAN Notices, 46(8):223–234.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 39 / 43

Page 70: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

References III

Kogan, A. and Petrank, E. (2012).A methodology for creating fast wait-free data structures.ACM SIGPLAN Notices, 47(8):141–150.

Laborde, P., Feldman, S., and Dechev, D. (2017).A wait-free hash map.International Journal of Parallel Programming, 45(3):421–448.

Saks, M. and Zaharoglou, F. (1993).Wait-free k-set agreement is impossible: The topology of publicknowledge.In Proceedings of the twenty-fifth annual ACM symposium on Theoryof computing, pages 101–110.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 40 / 43

Page 71: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

References IV

Timnat, S., Braginsky, A., Kogan, A., and Petrank, E. (2012).Wait-free linked-lists.In International Conference On Principles Of Distributed Systems,pages 330–344. Springer.

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 41 / 43

Page 72: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Questions?

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 42 / 43

Page 73: Topological Structure of Asynchronous Computing Imaruth/notes/Distributed... · 2021. 4. 4. · 1 Introduction 2 Computational Model 3 Topology Background 4 Combining Topology and

Thank You!

Maruth Goyal (UT Austin) Top. Struct. of Async. Computing. Spring 2021 43 / 43