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
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
List of Figures
2.1 Possible execution of the program swap in a multiset M0 =
{(1, D), (2, C), (3, B), (4, A)} . . . 6
2.2 Abstract Syntax of Multiset Transformer Programs . . . 7
2.3 Semantics of Multiset Transformer Programs . . . 10
3.1 Abstract Syntax of the Coordination Language . . . 20
3.2 Structural Congruences for Schedules . . . 23
3.3 Semantics of Schedules . . . 24
4.1 Refinement by Limiting Execution Space . . . 52
4.2 Hasse diagram of the refinements of r1k r2. . . 58
4.3 Transition graphs of (r1; r2)k (r2; r1) (left) and partially of !(r1k r2) (right). . . 59
4.4 Refinement of Lemma 4.4.13 . . . 79
6.1 Lattice of Notions of Refinement . . . 162
7.1 Lattice of Refinements for Summation Schedules . . . 169
7.2 Lattice of Refinements of Prime Sieving Schedules . . . 180
7.3 Lattice of Refinements of Sorting Schedules . . . 208
7.4 Lattice of Refinements of Shortest Path Schedules . . . 223
7.5 Decomposition of Triangular Solve . . . 233
7.6 Block Inner Product Strategy . . . 238
7.7 Block Vector Update Strategy . . . 239
7.8 Lattice of Refinements of Triangular Solve Schedules . . . 241
A.1 Semantic Rule for Nondeterministic Choice . . . 277
Index
Symbols ∆P . . . 32 ΠP. . . 32 ↑. . . .25 ε . . . 22 µ . . . 33 hs, Mi-derived. . . .33 initially . . . 15 invariant . . . 15 stable . . . 15 unless . . . 15 A action refinement. . . .255, 256 action system . . . 254 algebraic reasoning . . . 75 assignment statement . . . 254 B bisimulation . . . 53, 260 BLAS . . . 239 C capability function for programs . . . 11, 61 for schedules . . . 25 generic . . . 116chemical abstract machine . . . 23
chromatic typing . . . 272 composite number . . . 170 compositional reasoning . . . 62, 258 and interaction . . . 64 congruence . . . 23, 277 context . . . 72
worst case assumption . . . 72
294 INDEX
prefix. . . .54
relation between notions of . . . 162
strong convex . . . 137 strong generic (φ-) . . . 99 strong statebased. . . .56 strong stateless . . . 73 total correctness . . . 70 weak convex . . . 137 weak generic (φ-) . . . 122 weak statebased . . . 67 weak stateless . . . 89 S safety . . . 138 schedule . . . 19 abstract syntax . . . 20 adaptive . . . 192 conditional combinator. . . .20 definition . . . 20 empty . . . 19 ground . . . 19 identifier . . . 19, 20 most general. . . .31 nondeterministic choice . . . 27, 268 oblivious . . . 192 parallel combinator . . . 20 replication operator . . . 20, 48 rule-conditional . . . 19 semantics . . . 24 sequential combinator . . . 20 sort of . . . 39 substitution. . . .19
synchronous parallel composition 269 transition graph . . . 52, 59 shared dataspace. . . .53 simulation . . . 54 prefix. . . .54 statebased . . . 56 stateless . . . 72 strong . . . 56 strong generic (φ-) . . . 97 strong statebased. . . .56 strong stateless . . . 73 up-to . . . 57 weak . . . 66 weak generic (φ-) . . . 118 weak statebased . . . 67 weak stateless . . . 89
single step semantics . . . 271
skeleton . . . 276 sort of a program . . . 39 of a schedule . . . 39 sorting . . . 181 Bubble Sort . . . 183 Heap Sort . . . 195 in-place . . . 181 Insertion Sort . . . 22 Odd-Even Sort . . . 22 Quicksort . . . 200 Ripple Sort . . . 188 Select Sort . . . 193
Straight Selection Sort . . . 200