## List Homomorphism with Accumulation (2003)

Venue: | In Proceedings of Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD |

Citations: | 1 - 0 self |

### BibTeX

@INPROCEEDINGS{Kakehi03listhomomorphism,

author = {Kazuhiko Kakehi and Zhenjiang Hu and Masato Takeichi},

title = {List Homomorphism with Accumulation},

booktitle = {In Proceedings of Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD},

year = {2003},

pages = {250--259}

}

### OpenURL

### Abstract

This paper introduces accumulation into list homomorphisms for systematic development of both efficient and correct parallel programs. New parallelizable recursive pattern called is given, and transformations from sequential patterns in the form into (H-)homomorphism are shown. We illustrate the power of our formalization by developing a novel and general parallel program for a class of interesting and challenging problems, known as maximum marking problems. 1.

### Citations

215 |
An introduction to the theory of lists
- Bird
- 1987
(Show Context)
Citation Context ...orks. Note that, due to limitation of space, we omit proofs of the lemmas and theorem in this paper. 2. Preliminaries Throughout this paper, we shall use the notation of BMF (Bird-Meertens Formalism) =-=[2,25]-=-, which enables us to concisely describe both programs and transformation of programs. For readability we also borrow the notation of Haskell [22]. 2.1. Functions and lists Function application is den... |

91 |
Architecture-Independent Parallel Computation
- Skillicorn
- 1990
(Show Context)
Citation Context ...orks. Note that, due to limitation of space, we omit proofs of the lemmas and theorem in this paper. 2. Preliminaries Throughout this paper, we shall use the notation of BMF (Bird-Meertens Formalism) =-=[2,25]-=-, which enables us to concisely describe both programs and transformation of programs. For readability we also borrow the notation of Haskell [22]. 2.1. Functions and lists Function application is den... |

87 |
The Promotion and Accumulation Strategies in Transformational Programming
- Bird
- 1984
(Show Context)
Citation Context ...lthough accumulation is an important optimization technique in functional programming which inherits information from the previous call, modifies it and propagates it to the successive recursive call =-=[1, 6]-=-, homomorphism cannot deal with it. In this paper we first propose a new parallel programming model called H-homomorphism, an extension of homomorphism with an additional accumulation parameter for sh... |

69 | Foundations of Parallel Programming - Skillicorn - 1994 |

42 |
Parallel programming with list homomorphisms
- Cole
- 1995
(Show Context)
Citation Context ... under parallel environments efficiently and correctly. List homomorphism (homomorphism for short in this paper) is such a model that plays an important role in developing efficient parallel programs =-=[9,13,16,17]. A -=-function h is a homomorphism if there exists an associative operator ⊕ such that h(x ++y) = h x ⊕ h y where + denotes the list concatenation operation. This function can be efficiently implemented... |

32 | Parallelization in calculational forms - Hu, Takeichi, et al. - 1998 |

27 |
Upwards and downwards accumulations on trees
- Gibbons
- 1993
(Show Context)
Citation Context ...ble homomorphism, another kind of extension to homomorphism, and its relation to scan is argued in [4, 14]. Accumulation in tree structures, namely upwards and downwards accumulation is researched in =-=[10, 11]-=-. The example of maximum segment sum is often dealt with as an example of derivation of its parallel form [9, 15, 28]. In [15], for example, the parallel solution is obtained through defining four fun... |

27 | Systematic efficient parallelization of scan and other list homomorphisms
- Gorlatch
- 1996
(Show Context)
Citation Context ... The scan skeleton plays an important role for accumulation in the case of H-homomorphism. Distributable homomorphism, another kind of extension to homomorphism, and its relation to scan is argued in =-=[4, 14]-=-. Accumulation in tree structures, namely upwards and downwards accumulation is researched in [10, 11]. The example of maximum segment sum is often dealt with as an example of derivation of its parall... |

24 | The third homomorphism theorem
- Gibbons
- 1996
(Show Context)
Citation Context ...f accumulation in homomorphism seems rare, except for the authors’ preceding works [18–20]. In order to derive homomorphisms, leftwards and rightwards analysis based on the third homomorphism theo=-=rem [12]-=- is used as in [15]. The scan skeleton plays an important role for accumulation in the case of H-homomorphism. Distributable homomorphism, another kind of extension to homomorphism, and its relation t... |

24 |
Applications of a strategy for designing divide-and-conquer algorithms
- Smith
- 1987
(Show Context)
Citation Context ...lation in tree structures, namely upwards and downwards accumulation is researched in [10, 11]. The example of maximum segment sum is often dealt with as an example of derivation of its parallel form =-=[9, 15, 28]-=-. In [15], for example, the parallel solution is obtained through defining four functions on cons and snoc lists, based on the idea of distributable homomorphisms. Comparing with these techniques, our... |

23 |
Scans as primitive operations
- Blelloch
- 1989
(Show Context)
Citation Context ...uppose that n ≤ m, we have [a1, a2, . . . , an] Υ⊕ [b1, b2, . . . , bm] = [a1 ⊕ b1, a2 ⊕ b2, . . . , an ⊕ bn] . These four skeletons have nice massively parallel implementations on many arc=-=hitectures [5, 25]. If k and ��-=-�sneed O(1) parallel time, then both map k∗ and zipWith Υ⊕ can be implemented using O(1) parallel time, and both reduce ⊕ / and scan ⊕ −/ can be implemented using O(log n) parallel time tow... |

21 |
Formal derivation of efficient parallel programs by construction of list homomorphisms
- Hu, Iwasaki, et al.
- 1997
(Show Context)
Citation Context ... under parallel environments efficiently and correctly. List homomorphism (homomorphism for short in this paper) is such a model that plays an important role in developing efficient parallel programs =-=[9,13,16,17]. A -=-function h is a homomorphism if there exists an associative operator ⊕ such that h(x ++y) = h x ⊕ h y where + denotes the list concatenation operation. This function can be efficiently implemented... |

18 | Parallelization via context preservation
- Chin, Takano, et al.
- 1998
(Show Context)
Citation Context ...omposition. Representing them in a naive way, however, just results in holding a big and enlarging closure. Tackling such representation problems, there exists an analysis called context preservation =-=[8]-=-. It is a technique to keep closures in some fixed form after composition. Although it is a quite powerful technique and gives us a solution here, we can enjoy another solution provided that the domai... |

18 | Efficient parallel algorithms for tree accumulations
- Gibbons, Cai, et al.
- 1994
(Show Context)
Citation Context ...ble homomorphism, another kind of extension to homomorphism, and its relation to scan is argued in [4, 14]. Accumulation in tree structures, namely upwards and downwards accumulation is researched in =-=[10, 11]-=-. The example of maximum segment sum is often dealt with as an example of derivation of its parallel form [9, 15, 28]. In [15], for example, the parallel solution is obtained through defining four fun... |

18 | Parallel Implementation of Tree Skeletons - Skillicorn - 1996 |

14 | An accumulative parallel skeleton for all - Hu, Iwasaki, et al. - 2002 |

12 |
Constructing list homomorphisms
- Gorlatch
- 1995
(Show Context)
Citation Context ... under parallel environments efficiently and correctly. List homomorphism (homomorphism for short in this paper) is such a model that plays an important role in developing efficient parallel programs =-=[9,13,16,17]. A -=-function h is a homomorphism if there exists an associative operator ⊕ such that h(x ++y) = h x ⊕ h y where + denotes the list concatenation operation. This function can be efficiently implemented... |

12 | Extracting and implementing list homomorphisms in parallel program development
- Gorlatch
(Show Context)
Citation Context ...d summation + ′ returns finite results, and we successfully have finite homomorphism. The obtained mmpp, however, does not stay textually in the form of homomorphism; it is called almost homomorphis=-=m [9, 15]. -=-When we denote the size of a set A as |A|, mmpp for a finite homomorphism returns a list of length at most |B| × |C| 2 . Merging two results can return a list of length |B| 2 × |C| 3 in the worst ca... |

11 | Mining optimized gain rules for numeric attributes
- Brin, Rastogi, et al.
- 1999
(Show Context)
Citation Context ...he elements of a list such that the marked elements constitute at most k segments. It plays an important role in knowledge discovery, and an efficient sequential algorithm has been given, for example =-=[7]; -=-it is yet unknown, as far as we are aware, how to systematically obtain its efficient parallel program. The troublesome problem of k-mss can be easily specified with H ′ -form, and transformed into ... |

9 | Diffusion: Calculating Efficient Parallel Programs - Hu, Takeichi, et al. |

7 | The many disguises of accumulation
- Boiten
- 1991
(Show Context)
Citation Context ...lthough accumulation is an important optimization technique in functional programming which inherits information from the previous call, modifies it and propagates it to the successive recursive call =-=[1, 6]-=-, homomorphism cannot deal with it. In this paper we first propose a new parallel programming model called H-homomorphism, an extension of homomorphism with an additional accumulation parameter for sh... |

6 |
Maximum marking problems
- Bird
- 2001
(Show Context)
Citation Context ... in such a way that a given constraint is satisfied and the sum of the weights associated with marked entries is as large as possible. The derivation of efficient sequential programs has been studied =-=[3,24]-=-; yet to the best of our knowledge we are the first to provide the parallel solution in a uniform way. We will give a theorem that maximum marking problems can be defined in homomorphism through speci... |

6 | Parallelization with tree skeletons - Matsuzaki, Hu, et al. - 2003 |

4 |
Double-scan: Introducing and Implementing a New Data-parallel Skeleton
- Bischof, Gorlatch
(Show Context)
Citation Context ... The scan skeleton plays an important role for accumulation in the case of H-homomorphism. Distributable homomorphism, another kind of extension to homomorphism, and its relation to scan is argued in =-=[4, 14]-=-. Accumulation in tree structures, namely upwards and downwards accumulation is researched in [10, 11]. The example of maximum segment sum is often dealt with as an example of derivation of its parall... |

4 |
Make it practical: A generic linear time algorithm for solving maximum weightsum problems
- Sasano, Hu, et al.
- 2000
(Show Context)
Citation Context ... in such a way that a given constraint is satisfied and the sum of the weights associated with marked entries is as large as possible. The derivation of efficient sequential programs has been studied =-=[3,24]-=-; yet to the best of our knowledge we are the first to provide the parallel solution in a uniform way. We will give a theorem that maximum marking problems can be defined in homomorphism through speci... |

2 |
Parallelism via homomorphisms. Parallel Processing Letters
- Grant-Duff, Harrison
- 1996
(Show Context)
Citation Context |

2 |
Generation of efficient programs for maximum multi-marking problems
- Sasano, Hu, et al.
- 2001
(Show Context)
Citation Context ...in practice, we demonstrate how one can systematically obtain an efficient parallel program for solving an important class of optimization problems, the maximum marking problems. The previous results =-=[23, 24]-=- tell us that we can automatically obtain an efficient sequential program for a maximum marking problem whose characterizing function is a finite homomorphism (i.e., both of the range B of the functio... |