## Notes on the Space-Time Mapping of Divide-and-Conquer Recursions (1995)

Venue: | In GI/ITG FG PARS'95, number 14 in PARS Mitteilungen |

Citations: | 2 - 2 self |

### BibTeX

@INPROCEEDINGS{Herrmann95noteson,

author = {Christoph Herrmann and Christian Lengauer},

title = {Notes on the Space-Time Mapping of Divide-and-Conquer Recursions},

booktitle = {In GI/ITG FG PARS'95, number 14 in PARS Mitteilungen},

year = {1995},

pages = {pages}

}

### OpenURL

### Abstract

We propose a functional program skeleton for balanced fixed-degree divide-and-conquer and a method for its parallel implementation on message-passing multiprocessors. In the method, the operations of the skeleton are first mapped to a geometric computational model which is then mapped to space-time in order to expose the inherent parallelism. This approach is inspired by the method of parallelizing nested loops in the polytope model. Keywords: divide-and-conquer, functional programming, parallelization, polytope model, skeleton, space-time mapping. 1 Introduction The divide-and-conquer (D&C) paradigm is a special case of cascading recursion which enables efficient solutions to many practical problems like the multiplication of matrices or large integers, fast Fourier transform, sorting, etc. We are interested in the parallelization of D&C recursions with the goal of sublinear execution times on a mesh. Sublinearity can only be achieved if input data are read in parallel and pro...

### Citations

2564 |
h~ Design and Analysis of Computer Algorithms
- Hopcroft, Ullman
- 1974
(Show Context)
Citation Context ...ng on the number of available processors. The coordinates of the depth dimension d (depth dimension) (0,0,0) d=0: initial data d=3: solve basic cases data dependences for divide phase resulting data q=-=[1]-=- d=1: divide in dim. q[1] d=2: divide in dim. q[0] d=4: combine in dim. q[0] d=5: combine in dim. q[1], q[0] Figure 2: Computation domain (n =2, k =3) reflect the free schedule, the parallel execution... |

498 |
The Science of Programming
- Gries
- 1981
(Show Context)
Citation Context ...,(1,1)] [0,1,1,1] x [1,1,1,1] [(0,1)] [(1,1)] [(1,2)] [0,0] [(0,0)] [0,1] [(0,1)] [0,2] [(0,2)] [0,0,1,1] [(0,1),(0,1)] [(1,1)] [(1,1)] [(2,2)] [1,1] x [1,1] [(1,1),(1,1)] [0,1] [(0,1)] [0,1] [(0,1)] =-=[0,4]-=- [(0,4)] [0,1,2,1] [(0,2),(1,1)] [1,2] x [2,2] [(1,2),(2,2)] [(1,2)] [(2,2)] [(3,4)] [0,2] [(0,2)] [0,4] [(0,4)] [0,12] [(0,12)] [0,2,6,4] [(0,6),(2,4)] [0] x [1] [1] x [1] [1] x [2] [1] x [1] [1] x [... |

440 |
Algorithmic Skeletons: Structured Management of Parallel Computation
- Cole
- 1989
(Show Context)
Citation Context ...sed concurrently. Specifically considered is the case of a non-binary division: our case study is on the polynomial product using ternary D&C. 2 The Model Let the term fixed-degree divide-and-conquer =-=[2]-=- describe the class of algorithms which solve a problem by dividing it into a fixed number, say k , of smaller subproblems of the same type, then recursively applying itself to the subproblems until a... |

97 | Loop parallelization in the polytope model
- Lengauer
- 1993
(Show Context)
Citation Context ...ms with non-local communication. For tail recursions (i.e., loops), there is a powerful compile-time parallelization method based on the idea of the space-time mapping of polytopes (finite polyhedra) =-=[7]-=-. The computational model of a loop nest is a polytope, which is embedded into a multi-dimensional integer lattice. Each dimension of the polytope corresponds to one loop. The points of the polytope c... |

64 |
Wadler (editors). Report on the programming language Haskell – a non-strict purely functional language, version 1.2
- Hudak, Jones, et al.
- 1992
(Show Context)
Citation Context ...ant to distribute the computation points that are mapped to space over an integer lattice of fewer dimensions. 3 The Program Skeleton The following functional program schema, in the syntax of Haskell =-=[6]-=-, defines our skeleton for balanced fixeddegree divide-and-conquer; to formulate a specific D&C problem, fill in the constituting functions basic, divide and combine and the degree k appropriately: di... |

60 | Powerlists: A Structure for Parallel Recursion
- Misra
- 1994
(Show Context)
Citation Context ...ght vector partitioning and elementwise vector operations are permitted as divide and combine operations. The underlying data structure is a list whose length is a power of 2, the so-called powerlist =-=[8]-=-. Our computational model for D&C recursions, which we call the computation domain, is again embedded into a multi-dimensional integer lattice, but it is not a polytope. It has one distinguished dimen... |

12 |
Divacon: A parallel language for scientific computing based on divide-and-conquer
- Mou
- 1990
(Show Context)
Citation Context ... (v \Gamma1;u \Gamma1) ]] fst (a,b) = a snd (a,b) = b "append" [a 0 ,...,a u \Gamma1 ] ++ [a u ,...,a 2u \Gamma1 ] = [a 0 ,...,a 2u \Gamma1 ] The idea of componentwise vector operations is t=-=aken from [9], where it-=- is called "corresponding communication ". Only left/right partitioning of vectors is permitted: the powerlist is split in the middle. If k ? 2, the collective size of the subproblems at one... |

7 |
The automated proof of a trace transformation for a bitonic sort
- Huang, Lengauer
- 1984
(Show Context)
Citation Context ...e points in the computational model. In many D&C algorithms, the computational effort grows as partial results are combined on the way from the leaves back to the root. An example is the bitonic sort =-=[5]-=-. Thus, in order to increase the potential parallelism, it is useful to view nodes which are higher up in the tree not as an atomic computation but as a collection of smaller computations which can al... |

2 |
Concurrent processing of linearly ordered data structures on hypercube multicomputers
- Gosh, Das, et al.
- 1994
(Show Context)
Citation Context ...t is not a polytope. It has one distinguished dimension, the depth dimension, and n dimensions of extent k . The depth dimension must be associated with time. The other dimensions span a k-ary n-cube =-=[3]-=- and can be associated with time or with space, depending on the number of available processors. The coordinates of the depth dimension d (depth dimension) (0,0,0) d=0: initial data d=3: solve basic c... |

2 |
Divacon: A parallel language for scienti c computing based on divideand-conquer
- Mou
- 1990
(Show Context)
Citation Context ... [[a(0;0),...,a(v�1;0)],...,[a(0;u�1),...,a(v�1;u�1)]] fst (a,b) = a snd (a,b) = b \append" [a0,...,au�1] + [au,...,a2 u�1] = [a0,...,a2 u�1] The idea of componentwise vector operations is taken from =-=[9]-=-, where it is called \corresponding communication". Only left/right partitioning of vectors is permitted: the powerlist is split in the middle. If k > 2, the collective size of the subproblems at one ... |