## Formal Derivation and Implementation of Divide-and-Conquer on a Transputer Network (1994)

Venue: | Transputer Applications and Systems '94 |

Citations: | 2 - 2 self |

### BibTeX

@INPROCEEDINGS{Gorlatch94formalderivation,

author = {Sergei Gorlatch},

title = {Formal Derivation and Implementation of Divide-and-Conquer on a Transputer Network},

booktitle = {Transputer Applications and Systems '94},

year = {1994},

pages = {763--776},

publisher = {IOS Press}

}

### OpenURL

### Abstract

This paper considers parallel program development based on functional mutually recursive specifications. The development yields a communication structure linking an arbitrary fixed number of processors and an SPMD program executable on the structure. There are two steps in the development process: first, a parallel functional implementation is obtained through formal transformations in the Bird-Meertens formalism; it is then systematically transformed into an imperative target program with message passing. The approach is illustrated with a divide-and-conquer algorithm for numerical twodimensional sparse grid integration. The optimization of the target program and the results of experimental performance measurements on a 64-transputer network under OS Parix are presented. 1 Introduction We take the following approach to parallelization: we try to identify certain standard patterns of high-level functional specifications and to associate equivalent parallel programs to them...

### Citations

480 |
Can programming be liberated from the von neumann style? a functional style and its algebra of programs
- Backus
- 1978
(Show Context)
Citation Context ...e exclusive use of semantically sound transformation rules in the course of the development guarantees the correctness of the target program. We use the rules of two well-known formalisms: Backus' FP =-=[2]-=- and the Bird-Meertens theory of higher-order functions over lists [3]. We consider a class of mutually recursive functional specifications that extends the conventional divide-and-conquer paradigm. S... |

97 | Loop parallelization in the polytope model
- Lengauer
- 1993
(Show Context)
Citation Context ...ure of the program is determined, to a large extent, by the form of the underlying data structures and their dependences in the specification. This idea is one of the corner-stones in systolic design =-=[1]-=-. We develop this principle for a more general class of recursive specifications and try to derive both, the communication structure and the program to be executed on each processor of the structure, ... |

92 |
Architecture-independent parallel computation
- Skillicorn
- 1990
(Show Context)
Citation Context ...se of the development guarantees the correctness of the target program. We use the rules of two well-known formalisms: Backus' FP [2] and the Bird-Meertens theory of higher-order functions over lists =-=[3]-=-. We consider a class of mutually recursive functional specifications that extends the conventional divide-and-conquer paradigm. Such specifications are used, e.g., in recently developed numerical alg... |

70 |
Sparse grids
- Zenger
- 1991
(Show Context)
Citation Context ... mutually recursive functional specifications that extends the conventional divide-and-conquer paradigm. Such specifications are used, e.g., in recently developed numerical algorithms on sparse grids =-=[4]-=-. We have used a transformational approach based on the Bird-Meertens formalism to construct formally a functional parallel implementation schema for mutually recursive specifications [5]. This schema... |

18 |
Deductive derivation of parallel programs
- Pepper
- 1993
(Show Context)
Citation Context ...specialized architectures, e.g., by McBurney and Sleep [14], and explicit annotations for parallelism and communication [15]. The skeletal approach and formal transformations have been used by Pepper =-=[16]-=- for deriving parallel networks from functional specifications. In comparison with related work, we consider a more general case by allowing a specification to consist of several mutually recursive fu... |

16 |
An Algebraic Model for Divide-and-Conquer Algorithms and its Parallelism
- Mou, Hudak
(Show Context)
Citation Context ...rder functional programming. Divide-and-conquer is considered as an algorithmic skeleton (due to Cole [8]), the parallelism of which is to be studied. Mou and Hudak have introduced an algebraic model =-=[9]-=-, that gave rise to the language Divacon [10], and formal transformations [11]. The group around Harrison transforms the non-linear divide-and-conquer recursion into tail recursion and then pipelines ... |

14 |
Transputer-based experiments with the ZAPP architecture
- McBurney, Sleep
- 1986
(Show Context)
Citation Context ...gn principle [13] and considers its parallel implementation on a shared memory architecture. Approaches for distributed memory are the design of specialized architectures, e.g., by McBurney and Sleep =-=[14]-=-, and explicit annotations for parallelism and communication [15]. The skeletal approach and formal transformations have been used by Pepper [16] for deriving parallel networks from functional specifi... |

12 |
Divacon: A parallel language for scientific computing based on divide-and-conquer
- Mou
- 1990
(Show Context)
Citation Context ...uer is considered as an algorithmic skeleton (due to Cole [8]), the parallelism of which is to be studied. Mou and Hudak have introduced an algebraic model [9], that gave rise to the language Divacon =-=[10]-=-, and formal transformations [11]. The group around Harrison transforms the non-linear divide-and-conquer recursion into tail recursion and then pipelines it [7, 12]. Axford views the divide-and-conqu... |

11 |
A Higher-Order Approach to Parallel Algorithms
- Harrison
- 1992
(Show Context)
Citation Context ...rmation of the program requires a total change of the very nature of the algorithm: we transform a recursive divide-and-conquer scheme into an iterative one. It is not always possible to do that (see =-=[7]-=- for details). However, for our example, it can be proved by induction that the equation for N(a 1 ; b 1 ; a 2 ; b 2 ) from (1) can be implemented as follows: S := 0; FOR i:= 0 TO m-1 DO FOR j:= 1 TO ... |

10 |
Compile-time transformations and optimization of parallel divide-and-conquer algorithms
- Carpentieri, Mou
- 1991
(Show Context)
Citation Context ...ic skeleton (due to Cole [8]), the parallelism of which is to be studied. Mou and Hudak have introduced an algebraic model [9], that gave rise to the language Divacon [10], and formal transformations =-=[11]-=-. The group around Harrison transforms the non-linear divide-and-conquer recursion into tail recursion and then pipelines it [7, 12]. Axford views the divide-and-conquer paradigm as a fundamental desi... |

9 | The divide-and-conquer paradigm as a basis for parallel language design
- Axford
- 1992
(Show Context)
Citation Context ...round Harrison transforms the non-linear divide-and-conquer recursion into tail recursion and then pipelines it [7, 12]. Axford views the divide-and-conquer paradigm as a fundamental design principle =-=[13]-=- and considers its parallel implementation on a shared memory architecture. Approaches for distributed memory are the design of specialized architectures, e.g., by McBurney and Sleep [14], and explici... |

9 | An implementation of static functional process networks
- Cox, Huang, et al.
- 1992
(Show Context)
Citation Context ...shared memory architecture. Approaches for distributed memory are the design of specialized architectures, e.g., by McBurney and Sleep [14], and explicit annotations for parallelism and communication =-=[15]-=-. The skeletal approach and formal transformations have been used by Pepper [16] for deriving parallel networks from functional specifications. In comparison with related work, we consider a more gene... |

7 |
A skeletal approach to the exploitation of parallelism
- Cole
- 1989
(Show Context)
Citation Context ... parallel implementation. Much of the recent work on them has been done in the context of higher-order functional programming. Divide-and-conquer is considered as an algorithmic skeleton (due to Cole =-=[8]-=-), the parallelism of which is to be studied. Mou and Hudak have introduced an algebraic model [9], that gave rise to the language Divacon [10], and formal transformations [11]. The group around Harri... |

6 |
Pipelines for divide-and-conquer functions
- Harrison, Medina
- 1993
(Show Context)
Citation Context ...hat gave rise to the language Divacon [10], and formal transformations [11]. The group around Harrison transforms the non-linear divide-and-conquer recursion into tail recursion and then pipelines it =-=[7, 12]-=-. Axford views the divide-and-conquer paradigm as a fundamental design principle [13] and considers its parallel implementation on a shared memory architecture. Approaches for distributed memory are t... |

3 |
Systematic development of an SPMD implementation schema for mutually recursive divide-and-conquer specifications
- Gorlatch, Lengauer
- 1994
(Show Context)
Citation Context ...sparse grids [4]. We have used a transformational approach based on the Bird-Meertens formalism to construct formally a functional parallel implementation schema for mutually recursive specifications =-=[5]-=-. This schema includes a topology of processors in the form of a communication tree, and a functional program which must be executed on each processor. In this paper, we demonstrate how this schema ca... |