Formal derivation of efficient parallel programs by construction of list homomorphisms
Formal derivation of efficient parallel programs by construction of list homomorphisms
复制标题
通过构建列表同态形式化推导高效并行程序
DOI:
--
复制
发表时间:
1997
期刊:
影响因子:
--
通讯作者:
M. Takeichi
中科院分区:
文献类型:
--
作者:
Zhenjiang Hu;H. Iwasaki;M. Takeichi
It has been attracting much attention to make use of list homomorphisms in parallel programming because they ideally suit the divide-and-conquer parallel paradigm. However, they have been usually treated rather informally and ad hoc in the development of efficient parallel programs. What is worse is that some interesting functions, e.g., the maximum segment sum problem, are basically not list homomorphisms. In this article, we propose a systematic and formal way for the construction of a list homomorphism for a given problem so that an efficient parallel program is derived. We show, with several well-known but nontrivial problems, how a straightforward, and “obviously” correct, but quite inefficient solution to the problem can be successfully turned into a semantically equivalent “almost list homomorphism.” The derivation is based on two transformations, namely tupling and fusion, which are defined according to the specific recursive structures of list homomorphisms.