parallel and distributed algorithms in p systems

Post on 11-Sep-2021

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Parallel and Distributed Algorithms in P Systems

Radu NicolescuThe University of Auckland, New Zealand

Thanks to:Michael Dinneen, Yun-Bum Kim, Sharvin Ragavan, Huiling Wu

CMC12, 23–26 August 2011, Fontainebleau, France

1 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Kia Ora!

2 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

3 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Outline

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

4 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Introduction

This talk discusses our group’s recent use of P systems to modelparallel and distributed algorithms.

• Nicolescu, Dinneen and Kim

• Dinneen, Kim and Nicolescu

• Balanescu, Nicolescu and Wu

• Nicolescu and Wu

• Ipate, Nicolescu, Niculescu and Stefan

• Gimel’farb, Nicolescu and Ragavan

5 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Introduction

A P system is a parallel and distributed computational model,inspired by the structure and interactions of cell membranes.

P systems research areas:

• Theory (often minimalist approach)

• Tools: designers, simulators, verifiers

• Applications (often maximalist approach)

• Biology, ...

• Parallel and distributed algorithms

6 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Introduction

A P system is a parallel and distributed computational model,inspired by the structure and interactions of cell membranes.

P systems research areas:

• Theory (often minimalist approach)

• Tools: designers, simulators, verifiers

• Applications (often maximalist approach)

• Biology, ...

• Parallel and distributed algorithms

6 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Introduction

A P system is a parallel and distributed computational model,inspired by the structure and interactions of cell membranes.

P systems research areas:

• Theory (often minimalist approach)

• Tools: designers, simulators, verifiers

• Applications (often maximalist approach)

• Biology, ...

• Parallel and distributed algorithms

6 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Introduction

A P system is a parallel and distributed computational model,inspired by the structure and interactions of cell membranes.

P systems research areas:

• Theory (often minimalist approach)

• Tools: designers, simulators, verifiers

• Applications (often maximalist approach)

• Biology, ...

• Parallel and distributed algorithms

6 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Introduction

A P system is a parallel and distributed computational model,inspired by the structure and interactions of cell membranes.

P systems research areas:

• Theory (often minimalist approach)

• Tools: designers, simulators, verifiers

• Applications (often maximalist approach)

• Biology, ...

• Parallel and distributed algorithms

6 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Introduction

A P system is a parallel and distributed computational model,inspired by the structure and interactions of cell membranes.

P systems research areas:

• Theory (often minimalist approach)

• Tools: designers, simulators, verifiers

• Applications (often maximalist approach)

• Biology, ...

• Parallel and distributed algorithms

6 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Introduction

A P system is a parallel and distributed computational model,inspired by the structure and interactions of cell membranes.

P systems research areas:

• Theory (often minimalist approach)

• Tools: designers, simulators, verifiers

• Applications (often maximalist approach)

• Biology, ...

• Parallel and distributed algorithms

6 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Parallel and distributed algorithms

Parallel and distributed algorithms, criteria:

• Self-referential: the problem is given by the P system itself,not as externally encoded data, which is fed into a P system

• Challenging: or an interesting algorithm, less known in theP systems community

• Descriptions: short and crisp (comparable to pseudo-code)

• Efficiency: same as best known algorithms

• Results: benefits for the application domain and feedback forP systems

7 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Parallel and distributed algorithms

Parallel and distributed algorithms, criteria:

• Self-referential: the problem is given by the P system itself,not as externally encoded data, which is fed into a P system

• Challenging: or an interesting algorithm, less known in theP systems community

• Descriptions: short and crisp (comparable to pseudo-code)

• Efficiency: same as best known algorithms

• Results: benefits for the application domain and feedback forP systems

7 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Parallel and distributed algorithms

Parallel and distributed algorithms, criteria:

• Self-referential: the problem is given by the P system itself,not as externally encoded data, which is fed into a P system

• Challenging: or an interesting algorithm, less known in theP systems community

• Descriptions: short and crisp (comparable to pseudo-code)

• Efficiency: same as best known algorithms

• Results: benefits for the application domain and feedback forP systems

7 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Parallel and distributed algorithms

Parallel and distributed algorithms, criteria:

• Self-referential: the problem is given by the P system itself,not as externally encoded data, which is fed into a P system

• Challenging: or an interesting algorithm, less known in theP systems community

• Descriptions: short and crisp (comparable to pseudo-code)

• Efficiency: same as best known algorithms

• Results: benefits for the application domain and feedback forP systems

7 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Parallel and distributed algorithms

Parallel and distributed algorithms, criteria:

• Self-referential: the problem is given by the P system itself,not as externally encoded data, which is fed into a P system

• Challenging: or an interesting algorithm, less known in theP systems community

• Descriptions: short and crisp (comparable to pseudo-code)

• Efficiency: same as best known algorithms

• Results: benefits for the application domain and feedback forP systems

7 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Parallel and distributed algorithms

Parallel and distributed algorithms, criteria:

• Self-referential: the problem is given by the P system itself,not as externally encoded data, which is fed into a P system

• Challenging: or an interesting algorithm, less known in theP systems community

• Descriptions: short and crisp (comparable to pseudo-code)

• Efficiency: same as best known algorithms

• Results: benefits for the application domain and feedback forP systems

7 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Earlier results

• Hyperdag P systems (hP): seem to model well structuredscenarios where the tree model in inadequate, such ascomputer networks or phylogenetic trees enhanced withhorizontal gene transfer

• has a Moebius-like representation

• Network discovery: neighborhood, searching, disjoint paths

• FSSP: firing squad synchronization problem1 (variants)

• Fault tolerant distributed computing: Byzantine agreement(“crown jewel of distributed algorithms”)

• P modules: recursive composition with information hiding

• Asynchronous P systems: a version closely related to themainstream concepts in distributed algorithms

1Simultaneous neuron firing8 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Earlier results

• Hyperdag P systems (hP): seem to model well structuredscenarios where the tree model in inadequate, such ascomputer networks or phylogenetic trees enhanced withhorizontal gene transfer

• has a Moebius-like representation

• Network discovery: neighborhood, searching, disjoint paths

• FSSP: firing squad synchronization problem1 (variants)

• Fault tolerant distributed computing: Byzantine agreement(“crown jewel of distributed algorithms”)

• P modules: recursive composition with information hiding

• Asynchronous P systems: a version closely related to themainstream concepts in distributed algorithms

1Simultaneous neuron firing8 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Earlier results

• Hyperdag P systems (hP): seem to model well structuredscenarios where the tree model in inadequate, such ascomputer networks or phylogenetic trees enhanced withhorizontal gene transfer

• has a Moebius-like representation

• Network discovery: neighborhood, searching, disjoint paths

• FSSP: firing squad synchronization problem1 (variants)

• Fault tolerant distributed computing: Byzantine agreement(“crown jewel of distributed algorithms”)

• P modules: recursive composition with information hiding

• Asynchronous P systems: a version closely related to themainstream concepts in distributed algorithms

1Simultaneous neuron firing8 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Earlier results

• Hyperdag P systems (hP): seem to model well structuredscenarios where the tree model in inadequate, such ascomputer networks or phylogenetic trees enhanced withhorizontal gene transfer

• has a Moebius-like representation

• Network discovery: neighborhood, searching, disjoint paths

• FSSP: firing squad synchronization problem1 (variants)

• Fault tolerant distributed computing: Byzantine agreement(“crown jewel of distributed algorithms”)

• P modules: recursive composition with information hiding

• Asynchronous P systems: a version closely related to themainstream concepts in distributed algorithms

1Simultaneous neuron firing8 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Earlier results

• Hyperdag P systems (hP): seem to model well structuredscenarios where the tree model in inadequate, such ascomputer networks or phylogenetic trees enhanced withhorizontal gene transfer

• has a Moebius-like representation

• Network discovery: neighborhood, searching, disjoint paths

• FSSP: firing squad synchronization problem1 (variants)

• Fault tolerant distributed computing: Byzantine agreement(“crown jewel of distributed algorithms”)

• P modules: recursive composition with information hiding

• Asynchronous P systems: a version closely related to themainstream concepts in distributed algorithms

1Simultaneous neuron firing8 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Earlier results

• Hyperdag P systems (hP): seem to model well structuredscenarios where the tree model in inadequate, such ascomputer networks or phylogenetic trees enhanced withhorizontal gene transfer

• has a Moebius-like representation

• Network discovery: neighborhood, searching, disjoint paths

• FSSP: firing squad synchronization problem1 (variants)

• Fault tolerant distributed computing: Byzantine agreement(“crown jewel of distributed algorithms”)

• P modules: recursive composition with information hiding

• Asynchronous P systems: a version closely related to themainstream concepts in distributed algorithms

1Simultaneous neuron firing8 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Earlier results

• Hyperdag P systems (hP): seem to model well structuredscenarios where the tree model in inadequate, such ascomputer networks or phylogenetic trees enhanced withhorizontal gene transfer

• has a Moebius-like representation

• Network discovery: neighborhood, searching, disjoint paths

• FSSP: firing squad synchronization problem1 (variants)

• Fault tolerant distributed computing: Byzantine agreement(“crown jewel of distributed algorithms”)

• P modules: recursive composition with information hiding

• Asynchronous P systems: a version closely related to themainstream concepts in distributed algorithms

1Simultaneous neuron firing8 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Earlier results

• Hyperdag P systems (hP): seem to model well structuredscenarios where the tree model in inadequate, such ascomputer networks or phylogenetic trees enhanced withhorizontal gene transfer

• has a Moebius-like representation

• Network discovery: neighborhood, searching, disjoint paths

• FSSP: firing squad synchronization problem1 (variants)

• Fault tolerant distributed computing: Byzantine agreement(“crown jewel of distributed algorithms”)

• P modules: recursive composition with information hiding

• Asynchronous P systems: a version closely related to themainstream concepts in distributed algorithms

1Simultaneous neuron firing8 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Outline

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

9 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Edge disjoint paths (Edmonds-Karp 1972, Dinic 1970)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

10 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Outline

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

11 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

A sample Byzantine scenario, N = 4

Complete graph, synchronous model.

1

2

4

3

1 2 3 4

Faulty

Round 1messagesRound 2messages

Finaldecision

Initialchoice

0 0 1 1

Yes No No No

(λ, x) (λ, 0) (λ, 1) (λ, 1)

0 0 0

(1, 0)(2, 0)(3, y)(4, 1)

(1, 0)(2, 0)(3, 1)(4, 1)

(1, 0)(2, 0)(3, 1)(4, 1)

(1, 1)(2, 0)(3, 1)(4, 1)

?

Process

12 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Byzantine agreement—details

• We used P modules to ensure systematic proper connectionsin the Byzantine agreement scenario.

ψ2

Γ21

Π2

Ψ2

Γ22 Γ23 Γ24

γ′24

γ24

γ′23

γ23

γ′22

γ22

γ′21

γ21

γ′′24γ′′23γ′′22γ′′21

ψ3

Γ34

Π3

Ψ3

Γ33Γ32Γ31

γ′31

γ31

γ′32

γ32

γ′33

γ33

γ′34

γ34

γ′′31 γ′′32 γ′′33 γ′′34

γ′12

γ′13

γ′22 γ′42

γ′23 γ′33 γ′43

γ′32

13 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Outline

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

14 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

P Systems in Parallel Stereo Matching

Gimel’farb, Nicolescu and Ragavan, CAIP 2011, Sevilla, Spain.

• We designed a massively parallel logical P model for theSymmetric Dynamic Programming Stereo (SDPS) algorithm...

• which can be efficiently mapped on a small number ofphysical processing elements.

SDPS parallelisation avenues:

• Straightforward: Similarities between each pair ofcorresponding scan lines in a rectified stereo pair of imagescan be maximised in parallel (with other scan line pairs).

• Challenging: For a given scan line pair, disparities associatedwith the current x-coordinate can be computed in parallel(even on restricted architectures such as GPUs).

15 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

P Systems in Parallel Stereo Matching

Gimel’farb, Nicolescu and Ragavan, CAIP 2011, Sevilla, Spain.

• We designed a massively parallel logical P model for theSymmetric Dynamic Programming Stereo (SDPS) algorithm...

• which can be efficiently mapped on a small number ofphysical processing elements.

SDPS parallelisation avenues:

• Straightforward: Similarities between each pair ofcorresponding scan lines in a rectified stereo pair of imagescan be maximised in parallel (with other scan line pairs).

• Challenging: For a given scan line pair, disparities associatedwith the current x-coordinate can be computed in parallel(even on restricted architectures such as GPUs).

15 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

P Systems in Parallel Stereo Matching

Gimel’farb, Nicolescu and Ragavan, CAIP 2011, Sevilla, Spain.

• We designed a massively parallel logical P model for theSymmetric Dynamic Programming Stereo (SDPS) algorithm...

• which can be efficiently mapped on a small number ofphysical processing elements.

SDPS parallelisation avenues:

• Straightforward: Similarities between each pair ofcorresponding scan lines in a rectified stereo pair of imagescan be maximised in parallel (with other scan line pairs).

• Challenging: For a given scan line pair, disparities associatedwith the current x-coordinate can be computed in parallel(even on restricted architectures such as GPUs).

15 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

P Systems in Parallel Stereo Matching

Gimel’farb, Nicolescu and Ragavan, CAIP 2011, Sevilla, Spain.

• We designed a massively parallel logical P model for theSymmetric Dynamic Programming Stereo (SDPS) algorithm...

• which can be efficiently mapped on a small number ofphysical processing elements.

SDPS parallelisation avenues:

• Straightforward: Similarities between each pair ofcorresponding scan lines in a rectified stereo pair of imagescan be maximised in parallel (with other scan line pairs).

• Challenging: For a given scan line pair, disparities associatedwith the current x-coordinate can be computed in parallel(even on restricted architectures such as GPUs).

15 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

P Systems in Parallel Stereo Matching

Gimel’farb, Nicolescu and Ragavan, CAIP 2011, Sevilla, Spain.

• We designed a massively parallel logical P model for theSymmetric Dynamic Programming Stereo (SDPS) algorithm...

• which can be efficiently mapped on a small number ofphysical processing elements.

SDPS parallelisation avenues:

• Straightforward: Similarities between each pair ofcorresponding scan lines in a rectified stereo pair of imagescan be maximised in parallel (with other scan line pairs).

• Challenging: For a given scan line pair, disparities associatedwith the current x-coordinate can be computed in parallel(even on restricted architectures such as GPUs).

15 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

P Systems in Parallel Stereo Matching

Gimel’farb, Nicolescu and Ragavan, CAIP 2011, Sevilla, Spain.

• We designed a massively parallel logical P model for theSymmetric Dynamic Programming Stereo (SDPS) algorithm...

• which can be efficiently mapped on a small number ofphysical processing elements.

SDPS parallelisation avenues:

• Straightforward: Similarities between each pair ofcorresponding scan lines in a rectified stereo pair of imagescan be maximised in parallel (with other scan line pairs).

• Challenging: For a given scan line pair, disparities associatedwith the current x-coordinate can be computed in parallel(even on restricted architectures such as GPUs).

15 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

P system structure—bird’s eye view

All data moves along paths parallel to the example paths, for leftpixels (orange), right pixels (blue), minimum scores (pink) and

disparity values (green).

16 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

SDPS P system structure—detail view

• In the forward pass, a computationwave (the dotted lines with slope 2/1,in the figure at left) moves throughthe cells computing alternate “odd”(blue) or “even” (red) phases.

• Most other cells are idle and used tostore simple information backwardpointers.

• The conceptual cells on the activewave can be mapped to D/2 physicalprocessing elements.

17 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Assessment

Benefits for SDPS:

• We solved the challenge (to parallelise SDPS on each scanline pair).

• We refactored the existing SDPS implementation to a morerobust and flexible version, inspired by our cell structure,which enables further algorithm improvements.

• The modelling exercise enabled us to correct a small bug inthe existing SDPS implementation.

We validated our P systems extensions:

• Labelled multigraph structures

• Extended rewriting modes: generic rules with complex symbols

18 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Assessment

Benefits for SDPS:

• We solved the challenge (to parallelise SDPS on each scanline pair).

• We refactored the existing SDPS implementation to a morerobust and flexible version, inspired by our cell structure,which enables further algorithm improvements.

• The modelling exercise enabled us to correct a small bug inthe existing SDPS implementation.

We validated our P systems extensions:

• Labelled multigraph structures

• Extended rewriting modes: generic rules with complex symbols

18 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Assessment

Benefits for SDPS:

• We solved the challenge (to parallelise SDPS on each scanline pair).

• We refactored the existing SDPS implementation to a morerobust and flexible version, inspired by our cell structure,which enables further algorithm improvements.

• The modelling exercise enabled us to correct a small bug inthe existing SDPS implementation.

We validated our P systems extensions:

• Labelled multigraph structures

• Extended rewriting modes: generic rules with complex symbols

18 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Assessment

Benefits for SDPS:

• We solved the challenge (to parallelise SDPS on each scanline pair).

• We refactored the existing SDPS implementation to a morerobust and flexible version, inspired by our cell structure,which enables further algorithm improvements.

• The modelling exercise enabled us to correct a small bug inthe existing SDPS implementation.

We validated our P systems extensions:

• Labelled multigraph structures

• Extended rewriting modes: generic rules with complex symbols

18 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Assessment

Benefits for SDPS:

• We solved the challenge (to parallelise SDPS on each scanline pair).

• We refactored the existing SDPS implementation to a morerobust and flexible version, inspired by our cell structure,which enables further algorithm improvements.

• The modelling exercise enabled us to correct a small bug inthe existing SDPS implementation.

We validated our P systems extensions:

• Labelled multigraph structures

• Extended rewriting modes: generic rules with complex symbols

18 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Assessment

Benefits for SDPS:

• We solved the challenge (to parallelise SDPS on each scanline pair).

• We refactored the existing SDPS implementation to a morerobust and flexible version, inspired by our cell structure,which enables further algorithm improvements.

• The modelling exercise enabled us to correct a small bug inthe existing SDPS implementation.

We validated our P systems extensions:

• Labelled multigraph structures

• Extended rewriting modes: generic rules with complex symbols

18 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Assessment

Benefits for SDPS:

• We solved the challenge (to parallelise SDPS on each scanline pair).

• We refactored the existing SDPS implementation to a morerobust and flexible version, inspired by our cell structure,which enables further algorithm improvements.

• The modelling exercise enabled us to correct a small bug inthe existing SDPS implementation.

We validated our P systems extensions:

• Labelled multigraph structures

• Extended rewriting modes: generic rules with complex symbols

18 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Empirical test data

Input left image Input right image True disparity map

Stereo pair ”Tsukuba Head”, Middlebury Stereo Vision Database.

19 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Empirical test results

Initial, before P modelling Refactored, after P modelling

Disparity maps generated by our two SDPS implementations.

20 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Outline

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

21 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• Our preferred membrane structure is the digraph; although wealso use restricted forms such as dags and trees.

• Occasionally, we also considered multigraphs or hypergraphs.

• Structural parent → child arcs define communicationchannels, which are duplex (bidirectional, default) or simplex(unidirectional).

• All cells evolve synchronously (default).

• Rules are prioritized and applied in weak priority order.

22 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• Our preferred membrane structure is the digraph; although wealso use restricted forms such as dags and trees.

• Occasionally, we also considered multigraphs or hypergraphs.

• Structural parent → child arcs define communicationchannels, which are duplex (bidirectional, default) or simplex(unidirectional).

• All cells evolve synchronously (default).

• Rules are prioritized and applied in weak priority order.

22 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• Our preferred membrane structure is the digraph; although wealso use restricted forms such as dags and trees.

• Occasionally, we also considered multigraphs or hypergraphs.

• Structural parent → child arcs define communicationchannels, which are duplex (bidirectional, default) or simplex(unidirectional).

• All cells evolve synchronously (default).

• Rules are prioritized and applied in weak priority order.

22 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• Our preferred membrane structure is the digraph; although wealso use restricted forms such as dags and trees.

• Occasionally, we also considered multigraphs or hypergraphs.

• Structural parent → child arcs define communicationchannels, which are duplex (bidirectional, default) or simplex(unidirectional).

• All cells evolve synchronously (default).

• Rules are prioritized and applied in weak priority order.

22 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• Our preferred membrane structure is the digraph; although wealso use restricted forms such as dags and trees.

• Occasionally, we also considered multigraphs or hypergraphs.

• Structural parent → child arcs define communicationchannels, which are duplex (bidirectional, default) or simplex(unidirectional).

• All cells evolve synchronously (default).

• Rules are prioritized and applied in weak priority order.

22 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• The general form of a rule is: S x →α S ′ x ′ (y)β . . . |z

• α is a rewriting operator, α ∈ {min, max}

• β is a transfer operator, β ∈ {↑γ , ↓γ , lγ | γ ∈ {∀,∃} ∪ Λ},where Λ is the set of (implicit or explicit) arc labels.

• (y)↓∀ indicates a broadcast, to all children (default)

• (y)↓∃ indicates an anycast, to one random child

• (y)↓γ , γ ∈ Λ, indicates a unicast via arc labelled γ

• ↑ and l are also allowed in duplex, but not in simplex,scenarios

23 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• The general form of a rule is: S x →α S ′ x ′ (y)β . . . |z

• α is a rewriting operator, α ∈ {min, max}

• β is a transfer operator, β ∈ {↑γ , ↓γ , lγ | γ ∈ {∀, ∃} ∪ Λ},where Λ is the set of (implicit or explicit) arc labels.

• (y)↓∀ indicates a broadcast, to all children (default)

• (y)↓∃ indicates an anycast, to one random child

• (y)↓γ , γ ∈ Λ, indicates a unicast via arc labelled γ

• ↑ and l are also allowed in duplex, but not in simplex,scenarios

23 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• The general form of a rule is: S x →α S ′ x ′ (y)β . . . |z

• α is a rewriting operator, α ∈ {min, max}

• β is a transfer operator, β ∈ {↑γ , ↓γ , lγ | γ ∈ {∀, ∃} ∪ Λ},where Λ is the set of (implicit or explicit) arc labels.

• (y)↓∀ indicates a broadcast, to all children (default)

• (y)↓∃ indicates an anycast, to one random child

• (y)↓γ , γ ∈ Λ, indicates a unicast via arc labelled γ

• ↑ and l are also allowed in duplex, but not in simplex,scenarios

23 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• The general form of a rule is: S x →α S ′ x ′ (y)β . . . |z

• α is a rewriting operator, α ∈ {min, max}

• β is a transfer operator, β ∈ {↑γ , ↓γ , lγ | γ ∈ {∀, ∃} ∪ Λ},where Λ is the set of (implicit or explicit) arc labels.

• (y)↓∀ indicates a broadcast, to all children (default)

• (y)↓∃ indicates an anycast, to one random child

• (y)↓γ , γ ∈ Λ, indicates a unicast via arc labelled γ

• ↑ and l are also allowed in duplex, but not in simplex,scenarios

23 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• The general form of a rule is: S x →α S ′ x ′ (y)β . . . |z

• α is a rewriting operator, α ∈ {min, max}

• β is a transfer operator, β ∈ {↑γ , ↓γ , lγ | γ ∈ {∀, ∃} ∪ Λ},where Λ is the set of (implicit or explicit) arc labels.

• (y)↓∀ indicates a broadcast, to all children (default)

• (y)↓∃ indicates an anycast, to one random child

• (y)↓γ , γ ∈ Λ, indicates a unicast via arc labelled γ

• ↑ and l are also allowed in duplex, but not in simplex,scenarios

23 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• The general form of a rule is: S x →α S ′ x ′ (y)β . . . |z

• α is a rewriting operator, α ∈ {min, max}

• β is a transfer operator, β ∈ {↑γ , ↓γ , lγ | γ ∈ {∀, ∃} ∪ Λ},where Λ is the set of (implicit or explicit) arc labels.

• (y)↓∀ indicates a broadcast, to all children (default)

• (y)↓∃ indicates an anycast, to one random child

• (y)↓γ , γ ∈ Λ, indicates a unicast via arc labelled γ

• ↑ and l are also allowed in duplex, but not in simplex,scenarios

23 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Simple P module

• The general form of a rule is: S x →α S ′ x ′ (y)β . . . |z

• α is a rewriting operator, α ∈ {min, max}

• β is a transfer operator, β ∈ {↑γ , ↓γ , lγ | γ ∈ {∀, ∃} ∪ Λ},where Λ is the set of (implicit or explicit) arc labels.

• (y)↓∀ indicates a broadcast, to all children (default)

• (y)↓∃ indicates an anycast, to one random child

• (y)↓γ , γ ∈ Λ, indicates a unicast via arc labelled γ

• ↑ and l are also allowed in duplex, but not in simplex,scenarios

23 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Outline

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

24 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

P modules

τ1

θ1 τ2

θ2 τ1

θ1 τ2

θ2

(a) (b) (c)

Z1

Z2

Π1 Π2 Π3

• If we allow half-arcs (i.e. “arcs” with one open end, tail orhead), we obtain P modules

• The open ends define ports, which are external link pointsbetween P modules

• P modules allow recursive composition and information hiding

25 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

P modules

τ1

θ1 τ2

θ2 τ1

θ1 τ2

θ2

(a) (b) (c)

Z1

Z2

Π1 Π2 Π3

• If we allow half-arcs (i.e. “arcs” with one open end, tail orhead), we obtain P modules

• The open ends define ports, which are external link pointsbetween P modules

• P modules allow recursive composition and information hiding

25 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

P modules

τ1

θ1 τ2

θ2 τ1

θ1 τ2

θ2

(a) (b) (c)

Z1

Z2

Π1 Π2 Π3

• If we allow half-arcs (i.e. “arcs” with one open end, tail orhead), we obtain P modules

• The open ends define ports, which are external link pointsbetween P modules

• P modules allow recursive composition and information hiding

25 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

P modules: GCD

x ≥ y

x← x− y

x = 0

z ← x, x← y, y ← z

No

Y es

Y es

No

Π1

Π3

Π2

Π4

Π5

Π6

N1

Y1

Z6 = Y4

N4

Π1

Π3

Π2

Π4

Π5

Π6

σ1

σ3

σ4

σ2

Z3

Z2

• A recursive composition of a P system for GCD.

26 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Modular composition of the Byzantine scenario N = 4

• We used P modules to ensure systematic proper connectionsin the Byzantine agreement scenario.

ψ2

Γ21

Π2

Ψ2

Γ22 Γ23 Γ24

γ′24

γ24

γ′23

γ23

γ′22

γ22

γ′21

γ21

γ′′24γ′′23γ′′22γ′′21

ψ3

Γ34

Π3

Ψ3

Γ33Γ32Γ31

γ′31

γ31

γ′32

γ32

γ′33

γ33

γ′34

γ34

γ′′31 γ′′32 γ′′33 γ′′34

γ′12

γ′13

γ′22 γ′42

γ′23 γ′33 γ′43

γ′32

27 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Modular composition of the Byzantine scenario N = 4

• We used P modules to ensure systematic proper connectionsin the Byzantine agreement scenario.

ψ2

Γ21

Π2

Ψ2

Γ22 Γ23 Γ24

γ′24

γ24

γ′23

γ23

γ′22

γ22

γ′21

γ21

γ′′24γ′′23γ′′22γ′′21

ψ3

Γ34

Π3

Ψ3

Γ33Γ32Γ31

γ′31

γ31

γ′32

γ32

γ′33

γ33

γ′34

γ34

γ′′31 γ′′32 γ′′33 γ′′34

γ′12

γ′13

γ′22 γ′42

γ′23 γ′33 γ′43

γ′32

27 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Modular composition of the Byzantine scenario N = 4

• We used P modules to ensure systematic proper connectionsin the Byzantine agreement scenario.

ψ2

Γ21

Π2

Ψ2

Γ22 Γ23 Γ24

γ′24

γ24

γ′23

γ23

γ′22

γ22

γ′21

γ21

γ′′24γ′′23γ′′22γ′′21

ψ3

Γ34

Π3

Ψ3

Γ33Γ32Γ31

γ′31

γ31

γ′32

γ32

γ′33

γ33

γ′34

γ34

γ′′31 γ′′32 γ′′33 γ′′34

γ′12

γ′13

γ′22 γ′42

γ′23 γ′33 γ′43

γ′32

27 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Outline

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

28 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Leader election

Leader election is a fundamental problem in distributed algorithmsand can be viewed as a highly abstract and simplified version ofthe cellular differentiation in developmental biology.

ι1

ι2

ι3

ι4

ι5

ι6

(b)

Imagine a network of cells which must elect a leader. A celebratedresult shows that this is impossible, in the deterministic case, if thesystem is totally symmetric, e.g., if the network is a circular ringand all cells are totally identical.

29 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Leader election

Leader election is a fundamental problem in distributed algorithmsand can be viewed as a highly abstract and simplified version ofthe cellular differentiation in developmental biology.

ι1

ι2

ι3

ι4

ι5

ι6

(b)

Imagine a network of cells which must elect a leader. A celebratedresult shows that this is impossible, in the deterministic case, if thesystem is totally symmetric, e.g., if the network is a circular ringand all cells are totally identical.

29 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Outline

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

30 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Spanning trees (ST)

(1)

1

1 1

3

2

(2)

1

1 1

3

2

(3)

1

1 1

3

2

1 Breadth first search (BFS) ST

2 Shortest paths ST

3 Minimal ST; in this case, also depth-first search (DFS) ST

31 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Spanning trees (ST)

(1)

1

1 1

3

2

(2)

1

1 1

3

2

(3)

1

1 1

3

2

1 Breadth first search (BFS) ST

2 Shortest paths ST

3 Minimal ST; in this case, also depth-first search (DFS) ST

31 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Spanning trees (ST)

(1)

1

1 1

3

2

(2)

1

1 1

3

2

(3)

1

1 1

3

2

1 Breadth first search (BFS) ST

2 Shortest paths ST

3 Minimal ST; in this case, also depth-first search (DFS) ST

31 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Spanning trees (ST)

(1)

1

1 1

3

2

(2)

1

1 1

3

2

(3)

1

1 1

3

2

1 Breadth first search (BFS) ST

2 Shortest paths ST

3 Minimal ST; in this case, also depth-first search (DFS) ST

31 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning tree (MST) algorithms

• Prim (1957) Jarnık (1930) Dijkstra (1959)O(M logN)

• Kruskal (1956) Reverse-KruskalO(M logN)

• Boruvka (1926) Choquet (1938) Florek, Lukasiewicz, Perkal,Steinhaus, and Zubrzycki (1951) Sollin (1965)2

O(M logN)

• Distributed MST: Gallager, Humblet and Spira (1983)O(N logN), O(N), even less

2“Because Sollin was the only computer scientist in this list living in anEnglish speaking country, this algorithm is frequently called Sollin’s algorithm”(Wiki)

32 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Minimum spanning networks in biology

33 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Example

1

5 2

6 3

7

10

9

8

4

34 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Prim

1

5 2

6 3

7

10

9

8

4

35 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Prim

1

5 2

6 3

7

10

9

8

4

35 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Prim

1

5 2

6 3

7

10

9

8

4

35 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Prim

1

5 2

6 3

7

10

9

8

4

35 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Prim

1

5 2

6 3

7

10

9

8

4

35 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Prim

1

5 2

6 3

7

10

9

8

4

35 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Kruskal

1

5 2

6 3

7

10

9

8

4

36 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Kruskal

1

5 2

6 3

7

10

9

8

4

36 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Kruskal

1

5 2

6 3

7

10

9

8

4

36 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Kruskal

1

5 2

6 3

7

10

9

8

4

36 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Kruskal

1

5 2

6 3

7

10

9

8

4

36 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Kruskal

1

5 2

6 3

7

10

9

8

4

36 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Boruvka

1

5 2

6 3

7

10

9

8

4

37 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Boruvka

1

5 2

6 3

7

10

9

8

4

37 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Outline

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

38 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

What we still need

We still need proper ways:

• To define and use complex symbols.

• To define and use cell IDs.

• To define fixed-size alphabets and rule sets, with sizeindependent of the problem size.

39 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

What we still need

We still need proper ways:

• To define and use complex symbols.

• To define and use cell IDs.

• To define fixed-size alphabets and rule sets, with sizeindependent of the problem size.

39 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

What we still need

We still need proper ways:

• To define and use complex symbols.

• To define and use cell IDs.

• To define fixed-size alphabets and rule sets, with sizeindependent of the problem size.

39 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

What we still need

We still need proper ways:

• To define and use complex symbols.

• To define and use cell IDs.

• To define fixed-size alphabets and rule sets, with sizeindependent of the problem size.

39 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

String objects vs complex symbols

• String objects seem fine for some theoretical evaluations

• However, string objects require complex encoding and parsingtechniques, which makes them impractical for actualapplications

• We choose an alternate way, with clear and fastencoding/decoding: complex symbols (similar to Prolog termsor Lisp tuples), with a simple “unification” semantics.

40 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

String objects vs complex symbols

• String objects seem fine for some theoretical evaluations

• However, string objects require complex encoding and parsingtechniques, which makes them impractical for actualapplications

• We choose an alternate way, with clear and fastencoding/decoding: complex symbols (similar to Prolog termsor Lisp tuples), with a simple “unification” semantics.

40 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

String objects vs complex symbols

• String objects seem fine for some theoretical evaluations

• However, string objects require complex encoding and parsingtechniques, which makes them impractical for actualapplications

• We choose an alternate way, with clear and fastencoding/decoding: complex symbols (similar to Prolog termsor Lisp tuples), with a simple “unification” semantics.

40 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Sidebar: parsing strings with regular expressions

Quiz: what is the result of matching string s0 with the regex p0?

s t r i ng s0 = @” rgb rgb rgb rgb :r g b r b g r r g b r b g r r g b r b g r r g b r b g r r g b r b g r r g b r b g r ” ;

s t r i ng p0 = @”\ s ∗\w{0 ,} (\w)\w∗\ s+\w{0 ,}(\w)\w∗\ s+\w{0 ,} (\w)\w∗\ s+\w{0 ,} (\w)\w∗\ s ∗ :\ s ∗\w∗(\1\2)\w∗\ s+\w∗(\1\3)\w∗\ s+\w∗(\2\3)\w∗\ s+\w∗(\2\4)\w∗\ s+\w∗(\3\4)\w∗\ s+\w∗(\1\4)\w∗\ s ∗” ;

The answer: Graph (V ,E ), V = {1, 2, 3, 4},E = {(1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (1, 4)}cannot be coloured with three colours.

Easy, isn’t it? QED

41 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Sidebar: parsing strings with regular expressions

Quiz: what is the result of matching string s0 with the regex p0?

s t r i ng s0 = @” rgb rgb rgb rgb :r g b r b g r r g b r b g r r g b r b g r r g b r b g r r g b r b g r r g b r b g r ” ;

s t r i ng p0 = @”\ s ∗\w{0 ,} (\w)\w∗\ s+\w{0 ,}(\w)\w∗\ s+\w{0 ,} (\w)\w∗\ s+\w{0 ,} (\w)\w∗\ s ∗ :\ s ∗\w∗(\1\2)\w∗\ s+\w∗(\1\3)\w∗\ s+\w∗(\2\3)\w∗\ s+\w∗(\2\4)\w∗\ s+\w∗(\3\4)\w∗\ s+\w∗(\1\4)\w∗\ s ∗” ;

The answer: Graph (V ,E ), V = {1, 2, 3, 4},E = {(1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (1, 4)}cannot be coloured with three colours.

Easy, isn’t it? QED

41 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Sidebar: parsing strings with regular expressions

Quiz: what is the result of matching string s0 with the regex p0?

s t r i ng s0 = @” rgb rgb rgb rgb :r g b r b g r r g b r b g r r g b r b g r r g b r b g r r g b r b g r r g b r b g r ” ;

s t r i ng p0 = @”\ s ∗\w{0 ,} (\w)\w∗\ s+\w{0 ,}(\w)\w∗\ s+\w{0 ,} (\w)\w∗\ s+\w{0 ,} (\w)\w∗\ s ∗ :\ s ∗\w∗(\1\2)\w∗\ s+\w∗(\1\3)\w∗\ s+\w∗(\2\3)\w∗\ s+\w∗(\2\4)\w∗\ s+\w∗(\3\4)\w∗\ s+\w∗(\1\4)\w∗\ s ∗” ;

The answer: Graph (V ,E ), V = {1, 2, 3, 4},E = {(1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (1, 4)}cannot be coloured with three colours.

Easy, isn’t it? QED

41 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Complex symbols

Complex symbols are compound terms of the form:

t(i , . . . )

• t is an elementary symbol representing the functor

• i can be a multiset of elementary and complex symbols

• or, i can be a free variable (open to be bound, according tothe cell’s current configuration)

42 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Complex symbols

Complex symbols are compound terms of the form:

t(i , . . . )

• t is an elementary symbol representing the functor

• i can be a multiset of elementary and complex symbols

• or, i can be a free variable (open to be bound, according tothe cell’s current configuration)

42 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Complex symbols

Complex symbols are compound terms of the form:

t(i , . . . )

• t is an elementary symbol representing the functor

• i can be a multiset of elementary and complex symbols

• or, i can be a free variable (open to be bound, according tothe cell’s current configuration)

42 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Complex symbols

Complex symbols are compound terms of the form:

t(i , . . . )

• t is an elementary symbol representing the functor

• i can be a multiset of elementary and complex symbols

• or, i can be a free variable (open to be bound, according tothe cell’s current configuration)

42 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Complex symbols

Examples:

• b(2)

• c(a2b3), where a and b are elementary symbols

• d(e, i , f (j)), where i and j are free variables, if not listedamong elementary symbols

Notation: we often introduce complex objects via subscriptsand/or superscripts, e.g., ci is just a shorthand for c(i).

43 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Complex symbols

Examples:

• b(2)

• c(a2b3), where a and b are elementary symbols

• d(e, i , f (j)), where i and j are free variables, if not listedamong elementary symbols

Notation: we often introduce complex objects via subscriptsand/or superscripts, e.g., ci is just a shorthand for c(i).

43 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Complex symbols

Examples:

• b(2)

• c(a2b3), where a and b are elementary symbols

• d(e, i , f (j)), where i and j are free variables, if not listedamong elementary symbols

Notation: we often introduce complex objects via subscriptsand/or superscripts, e.g., ci is just a shorthand for c(i).

43 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Complex symbols

Examples:

• b(2)

• c(a2b3), where a and b are elementary symbols

• d(e, i , f (j)), where i and j are free variables, if not listedamong elementary symbols

Notation: we often introduce complex objects via subscriptsand/or superscripts, e.g., ci is just a shorthand for c(i).

43 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Complex symbols

Examples:

• b(2)

• c(a2b3), where a and b are elementary symbols

• d(e, i , f (j)), where i and j are free variables, if not listedamong elementary symbols

Notation: we often introduce complex objects via subscriptsand/or superscripts, e.g., ci is just a shorthand for c(i).

43 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cell IDs

• We reify3 the external cell index i into an internal complexsymbol, ιi

• The cell ID symbol, ιi , is accessible to the rules

• But we will use it exclusively as an immutable promoter

• Cell IDs do not need to increase the alphabet size— we canencode any number of cell IDs with a fixed number ofelementary symbols, e.g., as unary or binary strings.

3to reify = to consider or make (an abstract idea or concept) real orconcrete; cf. republic = respublica = public object

44 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cell IDs

• We reify3 the external cell index i into an internal complexsymbol, ιi

• The cell ID symbol, ιi , is accessible to the rules

• But we will use it exclusively as an immutable promoter

• Cell IDs do not need to increase the alphabet size— we canencode any number of cell IDs with a fixed number ofelementary symbols, e.g., as unary or binary strings.

3to reify = to consider or make (an abstract idea or concept) real orconcrete; cf. republic = respublica = public object

44 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cell IDs

• We reify3 the external cell index i into an internal complexsymbol, ιi

• The cell ID symbol, ιi , is accessible to the rules

• But we will use it exclusively as an immutable promoter

• Cell IDs do not need to increase the alphabet size— we canencode any number of cell IDs with a fixed number ofelementary symbols, e.g., as unary or binary strings.

3to reify = to consider or make (an abstract idea or concept) real orconcrete; cf. republic = respublica = public object

44 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cell IDs

• We reify3 the external cell index i into an internal complexsymbol, ιi

• The cell ID symbol, ιi , is accessible to the rules

• But we will use it exclusively as an immutable promoter

• Cell IDs do not need to increase the alphabet size— we canencode any number of cell IDs with a fixed number ofelementary symbols, e.g., as unary or binary strings.

3to reify = to consider or make (an abstract idea or concept) real orconcrete; cf. republic = respublica = public object

44 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules

Consider this generic rule (hyper-rule):

S3 a nj →min.min S4 b (ci )lj |ιi .

• A generic rule uses an extended rewriting mode, heremin.min, which is a combination of a new instantiation mode(first min) and a classical rewriting mode (second min).

• It also uses complex symbols, ci and nj , where i and j are freevariables.

• The instantiations are ephemeral, created when rules aretested for applicability and disappearing at the end of the step.

45 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules

Consider this generic rule (hyper-rule):

S3 a nj →min.min S4 b (ci )lj |ιi .

• A generic rule uses an extended rewriting mode, heremin.min, which is a combination of a new instantiation mode(first min) and a classical rewriting mode (second min).

• It also uses complex symbols, ci and nj , where i and j are freevariables.

• The instantiations are ephemeral, created when rules aretested for applicability and disappearing at the end of the step.

45 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules

Consider this generic rule (hyper-rule):

S3 a nj →min.min S4 b (ci )lj |ιi .

• A generic rule uses an extended rewriting mode, heremin.min, which is a combination of a new instantiation mode(first min) and a classical rewriting mode (second min).

• It also uses complex symbols, ci and nj , where i and j are freevariables.

• The instantiations are ephemeral, created when rules aretested for applicability and disappearing at the end of the step.

45 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules

As an example, consider a system with N cells, σ1, σ2, . . . , σN ,where cell σ1 is in state S3 and contains multiset a2n22n3.

Consider also all possible instantiations of the following rule, ρα,where α is one of the four extended rewriting modes: min.min,min.max, max.min, max.max.

(ρα) S3 a nj →α S4 b (ci )lj |ιi .

46 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules

As an example, consider a system with N cells, σ1, σ2, . . . , σN ,where cell σ1 is in state S3 and contains multiset a2n22n3.

Consider also all possible instantiations of the following rule, ρα,where α is one of the four extended rewriting modes: min.min,min.max, max.min, max.max.

(ρα) S3 a nj →α S4 b (ci )lj |ιi .

46 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →min.min S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →min.max S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

47 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →min.min S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →min.max S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

47 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →min.min S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →min.max S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

47 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →min.min S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →min.max S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

47 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →min.min S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →min.max S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

47 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →min.min S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →min.max S4 b (ci )lj |ιi generates one of the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

47 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →max.min S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →max.max S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

48 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →max.min S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →max.max S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

48 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →max.min S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →max.max S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

48 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →max.min S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →max.max S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

48 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →max.min S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →max.max S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

48 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Generic rules example: σ1(S3, a2n2

2n3)

• Rule S3 a nj →max.min S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →min S4 b (c1)l2

• S3 a n3 →min S4 b (c1)l3.

• Rule S3 a nj →max.max S4 b (ci )lj |ιi generates the twolow-level instances:

• S3 a n2 →max S4 b (c1)l2

• S3 a n3 →max S4 b (c1)l3.

48 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Alternative to generic rules?

• Without our new ingredients, each cell would need a muchlarger logically equivalent custom rule set.

• For example, instead of S3 a nj →max.max S4 b (ci )lj |ιi , cell σ1would need its own custom rule set, of N low-level rules:

{S3 a nj →max S4 b (c1)lj | 1 ≤ j ≤ N}

• This would also imply that σ1 might be able to gain “illicit”knowledge of the digraph metrics.

49 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Alternative to generic rules?

• Without our new ingredients, each cell would need a muchlarger logically equivalent custom rule set.

• For example, instead of S3 a nj →max.max S4 b (ci )lj |ιi , cell σ1would need its own custom rule set, of N low-level rules:

{S3 a nj →max S4 b (c1)lj | 1 ≤ j ≤ N}

• This would also imply that σ1 might be able to gain “illicit”knowledge of the digraph metrics.

49 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Alternative to generic rules?

• Without our new ingredients, each cell would need a muchlarger logically equivalent custom rule set.

• For example, instead of S3 a nj →max.max S4 b (ci )lj |ιi , cell σ1would need its own custom rule set, of N low-level rules:

{S3 a nj →max S4 b (c1)lj | 1 ≤ j ≤ N}

• This would also imply that σ1 might be able to gain “illicit”knowledge of the digraph metrics.

49 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Discovering neighbours

1

2 3

6

4 5

σ1 n2, n4σ2 n1, n3, n4σ3 n2, n4, n5, n6σ4 n1, n2, n3, n5σ5 n3, n4, n6σ6 n3, n5

0 Rules for state S0:

1 S0 a→min S1 ay (z) l2 S0 z →min S1 y (z) l3 S0 z →max S1

1 Rules for state S1:

1 S1 y →min.min S2 (ni ) l |ιi2 S1 z →max S2

2 Rules for state S2:

1 S2 →min S32 S2 z →max S3

50 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Discovering neighbours

1

2 3

6

4 5

σ1 n2, n4σ2 n1, n3, n4σ3 n2, n4, n5, n6σ4 n1, n2, n3, n5σ5 n3, n4, n6σ6 n3, n5

0 Rules for state S0:

1 S0 a→min S1 ay (z) l2 S0 z →min S1 y (z) l3 S0 z →max S1

1 Rules for state S1:

1 S1 y →min.min S2 (ni ) l |ιi2 S1 z →max S2

2 Rules for state S2:

1 S2 →min S32 S2 z →max S3

50 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Outline

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

51 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Asynchronous P systems

• We propose an approach based on based on classical notionsin distributed algorithms, as presented by Lynch (1996) andTel (2000)

• unbounded communication delays

• We do not require any change in the static descriptions ofP systems

• Asynchronous P systems differ from synchronous systems bytheir evolutions only (i.e. their runtime “P engines” workdifferently)

52 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Asynchronous P systems

• We propose an approach based on based on classical notionsin distributed algorithms, as presented by Lynch (1996) andTel (2000)

• unbounded communication delays

• We do not require any change in the static descriptions ofP systems

• Asynchronous P systems differ from synchronous systems bytheir evolutions only (i.e. their runtime “P engines” workdifferently)

52 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Asynchronous P systems

• We propose an approach based on based on classical notionsin distributed algorithms, as presented by Lynch (1996) andTel (2000)

• unbounded communication delays

• We do not require any change in the static descriptions ofP systems

• Asynchronous P systems differ from synchronous systems bytheir evolutions only (i.e. their runtime “P engines” workdifferently)

52 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Semantics changes

1 For each cell, each step starts after a random step delay t(after the preceding step)

2 For each cell, rules application, once started, takes zero time(i.e. it occurs instantaneously)

1 a small execution delay might be more realistic but couldneedlessly complicate the arguments

3 For each message, its delivery delay t is random:

1 either from its origin,

2 or, more realistically, after the previous message over the samechannel (i.e. arc)

4 Synchronous P systems can be considered as a special case ofasynchronous P systems, where all step and delivery delays areone, i.e. t = 1.

53 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Semantics changes

1 For each cell, each step starts after a random step delay t(after the preceding step)

2 For each cell, rules application, once started, takes zero time(i.e. it occurs instantaneously)

1 a small execution delay might be more realistic but couldneedlessly complicate the arguments

3 For each message, its delivery delay t is random:

1 either from its origin,

2 or, more realistically, after the previous message over the samechannel (i.e. arc)

4 Synchronous P systems can be considered as a special case ofasynchronous P systems, where all step and delivery delays areone, i.e. t = 1.

53 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Semantics changes

1 For each cell, each step starts after a random step delay t(after the preceding step)

2 For each cell, rules application, once started, takes zero time(i.e. it occurs instantaneously)

1 a small execution delay might be more realistic but couldneedlessly complicate the arguments

3 For each message, its delivery delay t is random:

1 either from its origin,

2 or, more realistically, after the previous message over the samechannel (i.e. arc)

4 Synchronous P systems can be considered as a special case ofasynchronous P systems, where all step and delivery delays areone, i.e. t = 1.

53 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Semantics changes

1 For each cell, each step starts after a random step delay t(after the preceding step)

2 For each cell, rules application, once started, takes zero time(i.e. it occurs instantaneously)

1 a small execution delay might be more realistic but couldneedlessly complicate the arguments

3 For each message, its delivery delay t is random:

1 either from its origin,

2 or, more realistically, after the previous message over the samechannel (i.e. arc)

4 Synchronous P systems can be considered as a special case ofasynchronous P systems, where all step and delivery delays areone, i.e. t = 1.

53 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Semantics changes

1 For each cell, each step starts after a random step delay t(after the preceding step)

2 For each cell, rules application, once started, takes zero time(i.e. it occurs instantaneously)

1 a small execution delay might be more realistic but couldneedlessly complicate the arguments

3 For each message, its delivery delay t is random:

1 either from its origin,

2 or, more realistically, after the previous message over the samechannel (i.e. arc)

4 Synchronous P systems can be considered as a special case ofasynchronous P systems, where all step and delivery delays areone, i.e. t = 1.

53 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Semantics changes

1 For each cell, each step starts after a random step delay t(after the preceding step)

2 For each cell, rules application, once started, takes zero time(i.e. it occurs instantaneously)

1 a small execution delay might be more realistic but couldneedlessly complicate the arguments

3 For each message, its delivery delay t is random:

1 either from its origin,

2 or, more realistically, after the previous message over the samechannel (i.e. arc)

4 Synchronous P systems can be considered as a special case ofasynchronous P systems, where all step and delivery delays areone, i.e. t = 1.

53 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Semantics changes

1 For each cell, each step starts after a random step delay t(after the preceding step)

2 For each cell, rules application, once started, takes zero time(i.e. it occurs instantaneously)

1 a small execution delay might be more realistic but couldneedlessly complicate the arguments

3 For each message, its delivery delay t is random:

1 either from its origin,

2 or, more realistically, after the previous message over the samechannel (i.e. arc)

4 Synchronous P systems can be considered as a special case ofasynchronous P systems, where all step and delivery delays areone, i.e. t = 1.

53 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Message delivery

1 We typically assume that messages sent over the same arcarrive in FIFO order (queue)

2 but one could also consider arrival in arbitrary order (multiset,instead of queue).

3 Open question: what is the message granularity?

54 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Message delivery

1 We typically assume that messages sent over the same arcarrive in FIFO order (queue)

2 but one could also consider arrival in arbitrary order (multiset,instead of queue).

3 Open question: what is the message granularity?

54 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Message delivery

1 We typically assume that messages sent over the same arcarrive in FIFO order (queue)

2 but one could also consider arrival in arbitrary order (multiset,instead of queue).

3 Open question: what is the message granularity?

54 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Message delivery

1 We typically assume that messages sent over the same arcarrive in FIFO order (queue)

2 but one could also consider arrival in arbitrary order (multiset,instead of queue).

3 Open question: what is the message granularity?

54 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Runtime complexity

• For the purpose of time complexity, the time unit is chosen tobe greater than any step or delivery delay,

• i.e. all such delays are real numbers in the closed unit interval,t ∈ [0, 1].

• The runtime complexity of an asynchronous system is thesupremum over all possible executions.

55 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Runtime complexity

• For the purpose of time complexity, the time unit is chosen tobe greater than any step or delivery delay,

• i.e. all such delays are real numbers in the closed unit interval,t ∈ [0, 1].

• The runtime complexity of an asynchronous system is thesupremum over all possible executions.

55 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Runtime complexity

• For the purpose of time complexity, the time unit is chosen tobe greater than any step or delivery delay,

• i.e. all such delays are real numbers in the closed unit interval,t ∈ [0, 1].

• The runtime complexity of an asynchronous system is thesupremum over all possible executions.

55 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo algorithm: sync scenario

This scenario assumes that all messages arrive in 1 time units:essentially, the synchronous case

1

2

3

4

Time Units = 0

Messages = 0

• The forward and return paths take the same time:D time units each

56 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo algorithm: sync scenario

This scenario assumes that all messages arrive in 1 time units:essentially, the synchronous case

1

2

3

4

Time Units = 1

Messages = 3

• The forward and return paths take the same time:D time units each

56 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo algorithm: sync scenario

This scenario assumes that all messages arrive in 1 time units:essentially, the synchronous case

1

2

3

4

Time Units = 2

Messages = 6

• The forward and return paths take the same time:D time units each

56 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo algorithm: sync scenario

This scenario assumes that all messages arrive in 1 time units:essentially, the synchronous case

1

2

3

4

Time Units = 2 = 2D

Messages = 6

• The forward and return paths take the same time:D time units each

56 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo Algorithm - “Bad” async scenario

This scenario allows that some messages travel much faster thanothers (bad but possible in asynchronous networks):ε vs 1 (where 0 < ε� 1)

1

2

3

4

Time Units = 0

Messages = 0

57 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo Algorithm - “Bad” async scenario

This scenario allows that some messages travel much faster thanothers (bad but possible in asynchronous networks):ε vs 1 (where 0 < ε� 1)

1

2

3

4

Time Units = ε

Messages = 3

57 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo Algorithm - “Bad” async scenario

This scenario allows that some messages travel much faster thanothers (bad but possible in asynchronous networks):ε vs 1 (where 0 < ε� 1)

1

2

3

4

Time Units = 2ε

Messages = 5

57 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo Algorithm - “Bad” async scenario

This scenario allows that some messages travel much faster thanothers (bad but possible in asynchronous networks):ε vs 1 (where 0 < ε� 1)

1

2

3

4

Time Units = 3ε

Messages = 7

57 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo Algorithm - “Bad” async scenario

This scenario allows that some messages travel much faster thanothers (bad but possible in asynchronous networks):ε vs 1 (where 0 < ε� 1)

1

2

3

4

Time Units = 4ε

Messages = 9

57 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo Algorithm - “Bad” async scenario

This scenario allows that some messages travel much faster thanothers (bad but possible in asynchronous networks):ε vs 1 (where 0 < ε� 1)

1

2

3

4

Time Units = 1

Messages = 9

57 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo Algorithm - “Bad” async scenario

This scenario allows that some messages travel much faster thanothers (bad but possible in asynchronous networks):ε vs 1 (where 0 < ε� 1)

1

2

3

4

Time Units = 2

Messages = 10

57 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo Algorithm - “Bad” async scenario

This scenario allows that some messages travel much faster thanothers (bad but possible in asynchronous networks):ε vs 1 (where 0 < ε� 1)

1

2

3

4

Time Units = 3

Messages = 11

57 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo Algorithm - “Bad” async scenario

This scenario allows that some messages travel much faster thanothers (bad but possible in asynchronous networks):ε vs 1 (where 0 < ε� 1)

1

2

3

4

Time Units = 4

Messages = 12

57 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Async Echo Algorithm - “Bad” async scenario

This scenario allows that some messages travel much faster thanothers (bad but possible in asynchronous networks):ε vs 1 (where 0 < ε� 1)

1

2

3

4

Time Units on Forward Path = 1 = D

Messages = 12

Time Units on Return Path = 3 = N - 1

Total Time Units = 4

57 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Distributed Depth First Search (DFS)

• DFS is a fundamental technique, inherently sequential, or so itappears

• Can it still run faster on parallel and distributed systems?

• Yes! We present several versions, with substantially differentrunning times: 2M vs 2N vs < 2N time units

58 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Distributed Depth First Search (DFS)

• DFS is a fundamental technique, inherently sequential, or so itappears

• Can it still run faster on parallel and distributed systems?

• Yes! We present several versions, with substantially differentrunning times: 2M vs 2N vs < 2N time units

58 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Distributed Depth First Search (DFS)

• DFS is a fundamental technique, inherently sequential, or so itappears

• Can it still run faster on parallel and distributed systems?

• Yes! We present several versions, with substantially differentrunning times: 2M vs 2N vs < 2N time units

58 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

2 3

4 5

61

Time Units = 0

Messages = 0

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

2 3

4 5

6

Messages = 1

Time Units = 1

{2}

{} {}

{}

{} {}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 2

Message = 2

{}

{}

{}{}

{2}

{3}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 3

Message = 3

{}

{}{}

{5}

{2}

{3}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 4

Message = 4

{}

{2}

{3} {5}

{6}

{}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 5

Message = 5

{2}

{3} {5}

{} {6}

{3}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 6

Message = 6

{2}

{3} {5, 6}

{} {6}

{3}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 7

Message = 7

{2}

{3} {5, 6}

{} {6}

{3, 5}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 8

Message = 8

{2}

{3} {5, 6}

{3, 5}

{} {6, 4}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 9

Message = 9

{2}

{3} {5, 6}

{1}

{3, 5}

{6, 4}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 10

Message = 10

{2, 4}

{3} {5, 6}

{1} {6, 4}

{3, 5}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 11

Message = 11

{2, 4}

{3} {5, 6}

{3, 5}

{6, 4}{1, 2}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 12

Message = 12

{2, 4}

{3, 4} {5, 6}

{3, 5}

{6, 4}{1, 2}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 13

Message = 13

{2, 4}

{3, 4} {5, 6}

{3, 5}

{6, 4}{1, 2, 3}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 14

Message = 14

{2, 4}

{3, 4} {5, 6, 4}

{3, 5}

{1, 2, 3} {6, 4}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 15

Message = 15

{2, 4}

{3, 4} {5, 6, 4}

{1, 2, 3, 5} {6, 4}

{3, 5}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 16

Message = 16

{2, 4}

{3, 4} {5, 6, 4}

{1, 2, 3, 5}

{3, 5}

{6, 4, 3}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 17

Message = 17

{2, 4}

{3, 4} {5, 6, 4, 2}

{1, 2, 3, 5}

{3, 5}

{6, 4, 3}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 18

Message = 18

{2, 4}

{3, 4, 1} {5, 6, 4, 2}

{1, 2, 3, 5}

{3, 5}

{6, 4, 3}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Classical DFS: 2M steps

1

23

4 5

6

Time Units = 18 = 2M

Message = 18 = 2M

{2, 4}

{3, 4, 1} {5, 6, 4, 2}

{3, 5}

{6, 4, 3}{1, 2, 3, 5}

59 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

61

Time Units = 0

Messages = 0

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

6

Messages = 3

Time Units = 1

{1}

{1}

{2}

{}

{}

{}

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

6

Messages = 6

Time Units = 2

{1, 3}

{1, 2}

{2}

{2}{}

{}

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

6

Messages = 10

Time Units = 3

{1, 3}

{1, 2, 3}

{2, 5}

{3}

{3}{2}

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

6

Messages = 13

Time Units = 4

{1, 3}

{1, 2, 3, 5}

{2, 5}

{3, 6}

{3, 5}{2}

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

6

Messages = 15

Time Units = 5

{1, 3}

{1, 2, 3, 5}

{2, 5, 6}

{3, 6}

{3, 5}{2}

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

6

Messages = 16

Time Units = 6

{1, 3}

{1, 2, 3, 5}

{2, 5, 6}

{3, 6, 4}

{3, 5}{2}

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

6

Messages = 20

Time Units = 7

{1, 3, 4}

{1, 2, 3, 5}

{2, 5, 6, 4}

{3, 6, 4}

{3, 5}{2, 4}

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

6

Messages = 21

Time Units = 8

{1, 3, 4}

{1, 2, 3, 5}

{2, 5, 6, 4}

{3, 6, 4}

{3, 5}{2, 4}

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

6

Messages = 22

Time Units = 9

{1, 3, 4}

{1, 2, 3, 5}

{2, 5, 6, 4}

{3, 6, 4}

{3, 5}{2, 4}

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

6

Messages = 23

Time Units = 10

{1, 3, 4}

{1, 2, 3, 5}

{2, 5, 6, 4}

{3, 6, 4}

{3, 5}{2, 4}

1

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Cidon DFS: 2N steps

1

2 3

4 5

6

Messages = 23 ≤ 4M

Time Units = 10 = 2N - 2

{1, 3, 4}

{1, 2, 3, 5}

{2, 5, 6, 4}

{3, 6, 4}

{3, 5}{2, 4}

1

60 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Outline

1 Introduction

2 Edge disjoint paths

3 Byzantine agreement

4 Parallel Stereo Matching

5 Basic model (simple P module)

6 P modules

7 Leader election

8 Minimal spanning tree

9 Extensions

10 Asynchronous P systems

11 Thanks

61 / 62

Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks

Thank you!

Questions? Suggestions?

62 / 62

top related