parallel and distributed algorithms in p systems

249
Intro Disjoint Byz SDPS Basic P modules Leader MST Ext Async Thanks Parallel and Distributed Algorithms in P Systems Radu Nicolescu The 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

Upload: others

Post on 11-Sep-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Parallel and Distributed Algorithms in P Systems

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

Page 2: Parallel and Distributed Algorithms in P Systems

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

Kia Ora!

2 / 62

Page 3: Parallel and Distributed Algorithms in P Systems

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

Page 4: Parallel and Distributed Algorithms in P Systems

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

Page 5: Parallel and Distributed Algorithms in P Systems

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

Page 6: Parallel and Distributed Algorithms in P Systems

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

Page 7: Parallel and Distributed Algorithms in P Systems

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

Page 8: Parallel and Distributed Algorithms in P Systems

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

Page 9: Parallel and Distributed Algorithms in P Systems

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

Page 10: Parallel and Distributed Algorithms in P Systems

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

Page 11: Parallel and Distributed Algorithms in P Systems

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

Page 12: Parallel and Distributed Algorithms in P Systems

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

Page 13: Parallel and Distributed Algorithms in P Systems

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

Page 14: Parallel and Distributed Algorithms in P Systems

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

Page 15: Parallel and Distributed Algorithms in P Systems

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

Page 16: Parallel and Distributed Algorithms in P Systems

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

Page 17: Parallel and Distributed Algorithms in P Systems

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

Page 18: Parallel and Distributed Algorithms in P Systems

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

Page 19: Parallel and Distributed Algorithms in P Systems

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

Page 20: Parallel and Distributed Algorithms in P Systems

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

Page 21: Parallel and Distributed Algorithms in P Systems

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

Page 22: Parallel and Distributed Algorithms in P Systems

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

Page 23: Parallel and Distributed Algorithms in P Systems

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

Page 24: Parallel and Distributed Algorithms in P Systems

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

Page 25: Parallel and Distributed Algorithms in P Systems

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

Page 26: Parallel and Distributed Algorithms in P Systems

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

Page 27: Parallel and Distributed Algorithms in P Systems

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

Page 28: Parallel and Distributed Algorithms in P Systems

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

Page 29: Parallel and Distributed Algorithms in P Systems

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

Page 30: Parallel and Distributed Algorithms in P Systems

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

Page 31: Parallel and Distributed Algorithms in P Systems

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

Page 32: Parallel and Distributed Algorithms in P Systems

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

Page 33: Parallel and Distributed Algorithms in P Systems

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

Page 34: Parallel and Distributed Algorithms in P Systems

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

Page 35: Parallel and Distributed Algorithms in P Systems

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

Page 36: Parallel and Distributed Algorithms in P Systems

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

Page 37: Parallel and Distributed Algorithms in P Systems

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

Page 38: Parallel and Distributed Algorithms in P Systems

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

Page 39: Parallel and Distributed Algorithms in P Systems

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

Page 40: Parallel and Distributed Algorithms in P Systems

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

Page 41: Parallel and Distributed Algorithms in P Systems

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

Page 42: Parallel and Distributed Algorithms in P Systems

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

Page 43: Parallel and Distributed Algorithms in P Systems

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

Page 44: Parallel and Distributed Algorithms in P Systems

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

Page 45: Parallel and Distributed Algorithms in P Systems

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

Page 46: Parallel and Distributed Algorithms in P Systems

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

Page 47: Parallel and Distributed Algorithms in P Systems

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

Page 48: Parallel and Distributed Algorithms in P Systems

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

Page 49: Parallel and Distributed Algorithms in P Systems

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

Page 50: Parallel and Distributed Algorithms in P Systems

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

Page 51: Parallel and Distributed Algorithms in P Systems

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

Page 52: Parallel and Distributed Algorithms in P Systems

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

Page 53: Parallel and Distributed Algorithms in P Systems

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

Page 54: Parallel and Distributed Algorithms in P Systems

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

Page 55: Parallel and Distributed Algorithms in P Systems

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

Page 56: Parallel and Distributed Algorithms in P Systems

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

Page 57: Parallel and Distributed Algorithms in P Systems

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

Page 58: Parallel and Distributed Algorithms in P Systems

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

Page 59: Parallel and Distributed Algorithms in P Systems

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

Page 60: Parallel and Distributed Algorithms in P Systems

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

Page 61: Parallel and Distributed Algorithms in P Systems

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

Page 62: Parallel and Distributed Algorithms in P Systems

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

Page 63: Parallel and Distributed Algorithms in P Systems

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

Page 64: Parallel and Distributed Algorithms in P Systems

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

Page 65: Parallel and Distributed Algorithms in P Systems

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

Page 66: Parallel and Distributed Algorithms in P Systems

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

Page 67: Parallel and Distributed Algorithms in P Systems

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

Page 68: Parallel and Distributed Algorithms in P Systems

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

Page 69: Parallel and Distributed Algorithms in P Systems

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

Page 70: Parallel and Distributed Algorithms in P Systems

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

Page 71: Parallel and Distributed Algorithms in P Systems

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

Page 72: Parallel and Distributed Algorithms in P Systems

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

Page 73: Parallel and Distributed Algorithms in P Systems

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

Page 74: Parallel and Distributed Algorithms in P Systems

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

Page 75: Parallel and Distributed Algorithms in P Systems

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

Page 76: Parallel and Distributed Algorithms in P Systems

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

Page 77: Parallel and Distributed Algorithms in P Systems

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

Page 78: Parallel and Distributed Algorithms in P Systems

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

Page 79: Parallel and Distributed Algorithms in P Systems

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

Page 80: Parallel and Distributed Algorithms in P Systems

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

Page 81: Parallel and Distributed Algorithms in P Systems

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

Page 82: Parallel and Distributed Algorithms in P Systems

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

Page 83: Parallel and Distributed Algorithms in P Systems

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

Page 84: Parallel and Distributed Algorithms in P Systems

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

Page 85: Parallel and Distributed Algorithms in P Systems

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

Page 86: Parallel and Distributed Algorithms in P Systems

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

Page 87: Parallel and Distributed Algorithms in P Systems

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

Page 88: Parallel and Distributed Algorithms in P Systems

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

Page 89: Parallel and Distributed Algorithms in P Systems

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

Page 90: Parallel and Distributed Algorithms in P Systems

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

Page 91: Parallel and Distributed Algorithms in P Systems

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

Page 92: Parallel and Distributed Algorithms in P Systems

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

Page 93: Parallel and Distributed Algorithms in P Systems

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

Page 94: Parallel and Distributed Algorithms in P Systems

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

Page 95: Parallel and Distributed Algorithms in P Systems

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

Page 96: Parallel and Distributed Algorithms in P Systems

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

Page 97: Parallel and Distributed Algorithms in P Systems

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

Page 98: Parallel and Distributed Algorithms in P Systems

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

Page 99: Parallel and Distributed Algorithms in P Systems

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

Page 100: Parallel and Distributed Algorithms in P Systems

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

Page 101: Parallel and Distributed Algorithms in P Systems

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

Page 102: Parallel and Distributed Algorithms in P Systems

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

Page 103: Parallel and Distributed Algorithms in P Systems

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

Page 104: Parallel and Distributed Algorithms in P Systems

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

Page 105: Parallel and Distributed Algorithms in P Systems

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

Page 106: Parallel and Distributed Algorithms in P Systems

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

Page 107: Parallel and Distributed Algorithms in P Systems

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

Page 108: Parallel and Distributed Algorithms in P Systems

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

Page 109: Parallel and Distributed Algorithms in P Systems

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

Page 110: Parallel and Distributed Algorithms in P Systems

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

Page 111: Parallel and Distributed Algorithms in P Systems

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

Page 112: Parallel and Distributed Algorithms in P Systems

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

Page 113: Parallel and Distributed Algorithms in P Systems

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

Page 114: Parallel and Distributed Algorithms in P Systems

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

Page 115: Parallel and Distributed Algorithms in P Systems

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

Page 116: Parallel and Distributed Algorithms in P Systems

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

Page 117: Parallel and Distributed Algorithms in P Systems

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

Page 118: Parallel and Distributed Algorithms in P Systems

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

Page 119: Parallel and Distributed Algorithms in P Systems

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

Minimum spanning networks in biology

33 / 62

Page 120: Parallel and Distributed Algorithms in P Systems

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

Page 121: Parallel and Distributed Algorithms in P Systems

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

Page 122: Parallel and Distributed Algorithms in P Systems

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

Page 123: Parallel and Distributed Algorithms in P Systems

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

Page 124: Parallel and Distributed Algorithms in P Systems

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

Page 125: Parallel and Distributed Algorithms in P Systems

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

Page 126: Parallel and Distributed Algorithms in P Systems

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

Page 127: Parallel and Distributed Algorithms in P Systems

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

Page 128: Parallel and Distributed Algorithms in P Systems

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

Page 129: Parallel and Distributed Algorithms in P Systems

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

Page 130: Parallel and Distributed Algorithms in P Systems

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

Page 131: Parallel and Distributed Algorithms in P Systems

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

Page 132: Parallel and Distributed Algorithms in P Systems

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

Page 133: Parallel and Distributed Algorithms in P Systems

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

Page 134: Parallel and Distributed Algorithms in P Systems

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

Page 135: Parallel and Distributed Algorithms in P Systems

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

Page 136: Parallel and Distributed Algorithms in P Systems

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

Page 137: Parallel and Distributed Algorithms in P Systems

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

Page 138: Parallel and Distributed Algorithms in P Systems

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

Page 139: Parallel and Distributed Algorithms in P Systems

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

Page 140: Parallel and Distributed Algorithms in P Systems

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

Page 141: Parallel and Distributed Algorithms in P Systems

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

Page 142: Parallel and Distributed Algorithms in P Systems

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

Page 143: Parallel and Distributed Algorithms in P Systems

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

Page 144: Parallel and Distributed Algorithms in P Systems

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

Page 145: Parallel and Distributed Algorithms in P Systems

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

Page 146: Parallel and Distributed Algorithms in P Systems

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

Page 147: Parallel and Distributed Algorithms in P Systems

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

Page 148: Parallel and Distributed Algorithms in P Systems

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

Page 149: Parallel and Distributed Algorithms in P Systems

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

Page 150: Parallel and Distributed Algorithms in P Systems

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

Page 151: Parallel and Distributed Algorithms in P Systems

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

Page 152: Parallel and Distributed Algorithms in P Systems

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

Page 153: Parallel and Distributed Algorithms in P Systems

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

Page 154: Parallel and Distributed Algorithms in P Systems

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

Page 155: Parallel and Distributed Algorithms in P Systems

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

Page 156: Parallel and Distributed Algorithms in P Systems

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

Page 157: Parallel and Distributed Algorithms in P Systems

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

Page 158: Parallel and Distributed Algorithms in P Systems

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

Page 159: Parallel and Distributed Algorithms in P Systems

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

Page 160: Parallel and Distributed Algorithms in P Systems

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

Page 161: Parallel and Distributed Algorithms in P Systems

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

Page 162: Parallel and Distributed Algorithms in P Systems

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

Page 163: Parallel and Distributed Algorithms in P Systems

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

Page 164: Parallel and Distributed Algorithms in P Systems

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

Page 165: Parallel and Distributed Algorithms in P Systems

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

Page 166: Parallel and Distributed Algorithms in P Systems

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

Page 167: Parallel and Distributed Algorithms in P Systems

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

Page 168: Parallel and Distributed Algorithms in P Systems

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

Page 169: Parallel and Distributed Algorithms in P Systems

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

Page 170: Parallel and Distributed Algorithms in P Systems

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

Page 171: Parallel and Distributed Algorithms in P Systems

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

Page 172: Parallel and Distributed Algorithms in P Systems

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

Page 173: Parallel and Distributed Algorithms in P Systems

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

Page 174: Parallel and Distributed Algorithms in P Systems

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

Page 175: Parallel and Distributed Algorithms in P Systems

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

Page 176: Parallel and Distributed Algorithms in P Systems

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

Page 177: Parallel and Distributed Algorithms in P Systems

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

Page 178: Parallel and Distributed Algorithms in P Systems

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

Page 179: Parallel and Distributed Algorithms in P Systems

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

Page 180: Parallel and Distributed Algorithms in P Systems

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

Page 181: Parallel and Distributed Algorithms in P Systems

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

Page 182: Parallel and Distributed Algorithms in P Systems

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

Page 183: Parallel and Distributed Algorithms in P Systems

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

Page 184: Parallel and Distributed Algorithms in P Systems

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

Page 185: Parallel and Distributed Algorithms in P Systems

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

Page 186: Parallel and Distributed Algorithms in P Systems

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

Page 187: Parallel and Distributed Algorithms in P Systems

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

Page 188: Parallel and Distributed Algorithms in P Systems

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

Page 189: Parallel and Distributed Algorithms in P Systems

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

Page 190: Parallel and Distributed Algorithms in P Systems

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

Page 191: Parallel and Distributed Algorithms in P Systems

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

Page 192: Parallel and Distributed Algorithms in P Systems

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

Page 193: Parallel and Distributed Algorithms in P Systems

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

Page 194: Parallel and Distributed Algorithms in P Systems

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

Page 195: Parallel and Distributed Algorithms in P Systems

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

Page 196: Parallel and Distributed Algorithms in P Systems

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

Page 197: Parallel and Distributed Algorithms in P Systems

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

Page 198: Parallel and Distributed Algorithms in P Systems

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

Page 199: Parallel and Distributed Algorithms in P Systems

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

Page 200: Parallel and Distributed Algorithms in P Systems

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

Page 201: Parallel and Distributed Algorithms in P Systems

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

Page 202: Parallel and Distributed Algorithms in P Systems

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

Page 203: Parallel and Distributed Algorithms in P Systems

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

Page 204: Parallel and Distributed Algorithms in P Systems

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

Page 205: Parallel and Distributed Algorithms in P Systems

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

Page 206: Parallel and Distributed Algorithms in P Systems

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

Page 207: Parallel and Distributed Algorithms in P Systems

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

Page 208: Parallel and Distributed Algorithms in P Systems

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

Page 209: Parallel and Distributed Algorithms in P Systems

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

Page 210: Parallel and Distributed Algorithms in P Systems

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

Page 211: Parallel and Distributed Algorithms in P Systems

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

Page 212: Parallel and Distributed Algorithms in P Systems

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

Page 213: Parallel and Distributed Algorithms in P Systems

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

Page 214: Parallel and Distributed Algorithms in P Systems

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

Page 215: Parallel and Distributed Algorithms in P Systems

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

Page 216: Parallel and Distributed Algorithms in P Systems

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

Page 217: Parallel and Distributed Algorithms in P Systems

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

Page 218: Parallel and Distributed Algorithms in P Systems

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

Page 219: Parallel and Distributed Algorithms in P Systems

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

Page 220: Parallel and Distributed Algorithms in P Systems

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

Page 221: Parallel and Distributed Algorithms in P Systems

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

Page 222: Parallel and Distributed Algorithms in P Systems

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

Page 223: Parallel and Distributed Algorithms in P Systems

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

Page 224: Parallel and Distributed Algorithms in P Systems

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

Page 225: Parallel and Distributed Algorithms in P Systems

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

Page 226: Parallel and Distributed Algorithms in P Systems

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

Page 227: Parallel and Distributed Algorithms in P Systems

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

Page 228: Parallel and Distributed Algorithms in P Systems

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

Page 229: Parallel and Distributed Algorithms in P Systems

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

Page 230: Parallel and Distributed Algorithms in P Systems

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

Page 231: Parallel and Distributed Algorithms in P Systems

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

Page 232: Parallel and Distributed Algorithms in P Systems

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

Page 233: Parallel and Distributed Algorithms in P Systems

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

Page 234: Parallel and Distributed Algorithms in P Systems

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

Page 235: Parallel and Distributed Algorithms in P Systems

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

Page 236: Parallel and Distributed Algorithms in P Systems

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

Page 237: Parallel and Distributed Algorithms in P Systems

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

Page 238: Parallel and Distributed Algorithms in P Systems

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

Page 239: Parallel and Distributed Algorithms in P Systems

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

Page 240: Parallel and Distributed Algorithms in P Systems

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

Page 241: Parallel and Distributed Algorithms in P Systems

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

Page 242: Parallel and Distributed Algorithms in P Systems

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

Page 243: Parallel and Distributed Algorithms in P Systems

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

Page 244: Parallel and Distributed Algorithms in P Systems

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

Page 245: Parallel and Distributed Algorithms in P Systems

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

Page 246: Parallel and Distributed Algorithms in P Systems

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

Page 247: Parallel and Distributed Algorithms in P Systems

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

Page 248: Parallel and Distributed Algorithms in P Systems

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

Page 249: Parallel and Distributed Algorithms in P Systems

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

Thank you!

Questions? Suggestions?

62 / 62