• No results found

Separating computation and coordination in the design of parallel and distributed programs

N/A
N/A
Protected

Academic year: 2021

Share "Separating computation and coordination in the design of parallel and distributed programs"

Copied!
12
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Separating computation and coordination in the design of parallel and

distributed programs

Chaudron, M.R.V.

Citation

Chaudron, M. R. V. (1998, May 28). Separating computation and coordination in the design of

parallel and distributed programs. ASCI dissertation series. Retrieved from

https://hdl.handle.net/1887/26994

Version: Corrected Publisher’s Version

License: Licence agreement concerning inclusion of doctoral thesis in theInstitutional Repository of the University of Leiden Downloaded from: https://hdl.handle.net/1887/26994

(2)

Cover Page

The handle http://hdl.handle.net/1887/26994 holds various files of this Leiden University dissertation

Author: Chaudron, Michel

Title: Separating computation and coordination in the design of parallel and distributed programs

(3)

Separating Computation and Coordination

in the Design of Parallel and Distributed

(4)

Cover by Victor Vasarely, 1979 c

(5)

Separating Computation and Coordination

in the Design of Parallel and Distributed

Programs

PROEFSCHRIFT

Ter verkrijging van de graad van Doctor aan de Rijksuniversiteit te Leiden,

op gezag van de Rector Magnificus Dr. W. A. Wagenaar, hoogleraar in de faculteit der Sociale Wetenschappen,

volgens besluit van het College voor Promoties te verdedigen op donderdag 28 Mei 1998

te klokke 14.15 uur

door

(6)

samenstelling van de promotiecommisie promotor: Prof. dr. F. J. Peters

co-promotor: Dr. E. de Jong Hollandse Signaalapparaten B.V. referent: Prof. dr. C. L. Hankin Imperial College of Science, Technology

and Medicine, London, Engeland

overige leden: Prof. dr. J. W. de Bakker Centrum voor Wiskunde en Informatica, Amsterdam

Prof. dr. J. N. Kok Prof. dr. G. Rozenberg Prof. dr. H. A. G. Wijshoff

This work was carried out in graduate school ASCI. ASCI dissertation series number 31.

Separating Computation and Coordination in the Design of Parallel and Distributed Programs Michel Roger Vincent Chaudron. - [S.l. : s.n.].-Ill. Thesis Rijksuniversiteit Leiden. - With ref.

ISBN 90-9011643-5 NUGI 851

(7)
(8)
(9)

Contents

1 Introduction 1

2 The Computational Model 5

2.1 The Gamma Programming Model . . . 5

2.2 Reasoning about Gamma Programs . . . 13

2.3 Concluding Remarks . . . 18

3 The Coordination Model 19 3.1 The Coordination Language . . . 19

3.2 Semantics of the Coordination Language . . . 22

3.2.1 Rationale for the Coordination Language . . . 25

3.2.2 Single-Step Transitions . . . 27

3.3 Most General Schedules . . . 31

3.3.1 Completeness of the Most General Schedule . . . 32

3.3.2 Sorts . . . 39

3.3.3 Soundness of the Most General Schedule . . . 44

3.4 Concluding Remarks . . . 49

4 Refinement of Coordination 51 4.1 Introduction . . . 51

4.2 Refinement based on Simulation . . . 53

4.2.1 Prefix Simulation . . . 54

4.3 Strong Statebased Refinement . . . 55

4.3.1 Soundness of Strong Statebased Refinement . . . 61

4.3.2 Compositionality Issues of Statebased Refinement . . . 62

4.3.3 Weak Statebased Refinement . . . 66

4.3.4 Soundness of Weak Statebased Refinement . . . 70

(10)

ii CONTENTS

4.4.1 Soundness of Strong Stateless Refinement . . . 74

4.4.2 Laws for Strong Stateless Refinement . . . 75

4.4.3 Weak Stateless Refinement . . . 89

4.5 Concluding Remarks . . . 92

5 A Generic Theory of Refinement 95 5.1 Introduction . . . 95

5.2 Strong Generic Refinement . . . 97

5.3 Precongruence of Strong Generic Refinement . . . 103

5.4 Soundness of Strong Generic Refinement . . . 116

5.5 Weak Generic Refinement . . . 118

5.6 Precongruence of Weak Generic Refinement . . . 126

5.7 Metric Refinement . . . 132

5.8 Concluding Remarks . . . 133

6 Convex Refinement 135 6.1 Modelling Interference of a Fixed Context . . . 135

6.2 Laws for Convex Refinement . . . 138

6.2.1 Convex Strengthening Laws . . . 139

6.2.2 Convex Decomposition Laws . . . 143

6.2.3 Progress . . . 155

6.3 Concluding Remarks . . . 161

7 Case Studies 165 7.1 Summation . . . 166

7.1.1 Coordination Strategies for Summation . . . 166

7.1.2 Concluding Remarks . . . 168

7.2 Prime Sieving . . . 170

7.2.1 A Gamma Program for Prime Sieving . . . 170

7.2.2 The Most General Schedule and a First Refinement . . . 170

7.2.3 Concluding Remarks . . . 178

7.3 Sorting . . . 181

7.3.1 The Most General Schedule and a First Refinement . . . 182

7.3.2 BubbleSort . . . 183

7.3.3 Ripple Sort . . . 188

(11)

CONTENTS iii

7.3.5 Quicksort . . . 200

7.3.6 Concluding Remarks . . . 208

7.4 Single Source Shortest Paths . . . 210

7.4.1 A First Refinement . . . 211

7.4.2 Depth-First Search . . . 216

7.4.3 Breadth-First Schedule . . . 216

7.4.4 Parallel Breadth-first Search . . . 221

7.4.5 Some Further Refinements . . . 222

7.4.6 Concluding Remarks . . . 222

7.5 Solving Triangular Systems . . . 224

7.5.1 A Gamma Program for Solving Triangular Systems . . . 224

7.5.2 Correctness of the Gamma Program . . . 226

7.5.3 Coordination Strategies . . . 232

7.5.4 Concluding Remarks . . . 240

7.6 Evaluation of the Methodology . . . 243

7.6.1 Overview of the Design Methodology . . . 243

7.6.2 Validation of Proof Methods for Refinement of Coordination . . . 244

8 Related Work 247 8.1 Separation of Computation and Coordination . . . 247

8.1.1 Functional Programming . . . 248

8.1.2 Logic Programming . . . 250

8.1.3 Imperative Programming . . . 251

8.2 Reasoning about Parallel Shared Memory Programs . . . 255

8.2.1 Axiomatic/Assertional Reasoning . . . 255 8.2.2 Denotational Methods . . . 256 8.2.3 Temporal Logic . . . 257 8.2.4 Algebraic Methods . . . 258 8.3 Concluding Remarks . . . 260 9 Concluding Remarks 263 9.1 Contributions of this Thesis . . . 263

9.2 On what we have rejected . . . 266

9.2.1 Nondeterministic Choice . . . 266

(12)

iv CONTENTS

9.2.3 Single Step Semantics . . . 269

9.3 Future Work . . . 270

9.3.1 Data Structures and Data Refinement . . . 270

9.3.2 Schedules for Tropes . . . 273

9.3.3 Automated Support . . . 274

A Definition of Basic Concepts 275 A.1 Congruence . . . 275

A.2 On Multisets . . . 275

A.3 Pre-emptive Nondeterministic Choice . . . 277

B Glossary of Notation 281

Bibliography 283

Summary (in Dutch) 297

Referenties

GERELATEERDE DOCUMENTEN

In this section we show that a most general schedule does not describe any behaviour that cannot be displayed by the corresponding Gamma program, we first consider this claim

In general, statebased refinement is not preserved by parallel composition because the interaction of the refined components of the composition may give rise to behaviour that is

In order use the generic theory of refinement to prove that the weak notions of refinement satisfy the properties proposed in previous sections, we need to check that the

With this notion of refinement it is possible to justify refinements using properties of the multiset (just as statebased refinement) and use these in a modular way (because it is

The Selection Sort schedule was derived using convex refinement laws. The first two re- finements were obtained by decomposing the domain of the index variables of the rewrite rule

Initially, a calculus of refinement of action systems was based on weakest precondi- tions [4, 5]. Based on this notion of refinement a step-wise method for the development of

In his thesis [79], De Jong expresses his ideas on how a computational model based on multiset transformations and a separate coordination model based on scheduling can be integrated

License: Licence agreement concerning inclusion of doctoral thesis in the Institutional Repository of the University of Leiden Downloaded from: https://hdl.handle.net/1887/26994..