|
ABSTRACT
With the increasing popularity of parallel programming environments such as PC clusters, more and more sequential programmers, with little knowledge about parallel architectures and parallel programming, are hoping to write parallel programs. Numerous attempts have been made to develop high-level parallel programming libraries that use abstraction to hide low-level concerns and reduce difficulties in parallel programming. Among them, libraries of parallel skeletons have emerged as a promising way towards this direction. Unfortunately, these libraries are not well accepted by sequential programmers, because of incomplete elimination of lower-level details, ad-hoc selection of library functions, unsatisfactory performance, or lack of convincing application examples. This paper addresses principle of designing skeleton libraries of parallel programming and reports implementation details and practical applications of a skeleton library SkeTo. The SkeTo library is unique in its feature that it has a solid theoretical foundation based on the theory of Constructive Algorithmics, and is practical to be used to describe various parallel computations in a sequential manner.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
B. Bacci, M. Danelutto, S. Orlando, S. Pelagatti, and M. Vanneschi. P3L: A structured high level programming language and its structured support. Concurrency Practice and Experience, 7(3):225--255, 1995.
|
| |
3
|
R. Backhouse. An exploration of the Bird-Meertens formalism. In STOP Summer School on Constructive Algorithmics, Ameland, September 1989.
|
| |
4
|
J.-P. Banâtre and D. L. Métayer, editors. Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 17--19, 1991, Proceedings, volume 574 of Lecture Notes in Computer Science. Springer, 1992.
|
| |
5
|
A. Benoit and M. Cole. Two fundamental concepts in skeletal parallel programming. In International Conference on Computational Science (2), volume 3515 of Lecture Notes in Computer Science, pages 764--771. Springer-Verlag, 2005.
|
| |
6
|
A. Benoit, M. Cole, J. Hillston, and S. Gilmore. Flexible skeletal programming with eSkel. In Proc. 11th International Euro-Par Conference (Euro-Par2005), volume 3648 of Lecture Notes in Computer Science, pages 761--770. Springer-Verlag, 2005.
|
| |
7
|
|
| |
8
|
R. Bird. Constructive functional programming. In STOP Summer School on Constructive Algorithmics, Abeland, 9 1989.
|
| |
9
|
|
| |
10
|
|
| |
11
|
R. S. Bird. Lectures on constructive functional programming. Technical Report Technical Monograph PRG-69, Oxford University Computing Laboratory, 1988.
|
| |
12
|
H. Bischof, S. Gorlatch, and R. Leshchinskiy. Dattel: A data-parallel C++ template library. Parallel Processing Letters, 13(3):461--472, 2003.
|
| |
13
|
|
| |
14
|
|
| |
15
|
|
 |
16
|
Shigeru Chiba, A metaobject protocol for C++, Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications, p.285-299, October 15-19, 1995, Austin, Texas, United States
|
| |
17
|
M. Cole. Algorithmic skeletons: a structured approach to the management of parallel computation. Research Monographs in Parallel and Distributed Computing, Pitman, London, 1989.
|
| |
18
|
M. Cole. Parallel programming, list homomorphisms and the maximum segment sum problems. Report CSR-25-93, Department of Computing Science, The University of Edinburgh, May 1993.
|
| |
19
|
|
| |
20
|
|
| |
21
|
|
| |
22
|
John Darlington , A. J. Field , Peter G. Harrison , Paul H. J. Kelly , D. W. N. Sharp , Q. Wu, Parallel Programming Using Skeleton Functions, Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe, p.146-160, June 14-17, 1993
|
 |
23
|
John Darlington , Yi-ke Guo , Hing Wing To , Jin Yang, Parallel skeletons for structured composition, Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming, p.19-28, July 19-21, 1995, Santa Barbara, California, United States
|
| |
24
|
|
| |
25
|
K. Emoto, Z. Hu, K. Kakehi, and M. Takeichi. A compositional framework for developing parallel programs on two dimensional arrays. Technical Report METR2005-09, Department of Mathematical Informatics, University of Tokyo, 2005.
|
| |
26
|
M. Fokkinga. A gentle introduction to category theory --- the calculational approach ---. Technical Report Lecture Notes, Dept. INF, University of Twente, The Netherlands, September 1992.
|
 |
27
|
|
 |
28
|
|
| |
29
|
S. Gorlatch. Constructing list homomorphisms. Technical Report MIP-9512, Fakultät für Mathematik und Informatik, Universität Passau, August 1995.
|
| |
30
|
|
| |
31
|
|
 |
32
|
|
| |
33
|
|
 |
34
|
Zhenjiang Hu , Masato Takeichi , Wei-Ngan Chin, Parallelization in calculational forms, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.316-328, January 19-21, 1998, San Diego, California, United States
[doi> 10.1145/268946.268972]
|
| |
35
|
|
| |
36
|
J. Jeuring. Incremental data compression - extended abstract. In P. Fisher, editor, Proceedings of the Navy Environmental Systems Workshop, 1992.
|
| |
37
|
J. Jeuring. Theories for Algorithm Calculation. Ph.D thesis, Faculty of Science, Utrecht University, 1993.
|
 |
38
|
|
| |
39
|
|
| |
40
|
K. Matsuzaki, Z. Hu, and M. Takeichi. Design and implementation of general tree skeletons. Technical Report METR2005-30, Department of Mathematical Engineering and Information Physics, University of Tokyo, 2005.
|
| |
41
|
K. Matsuzaki, K. Kakehi, H. Iwasaki, Z. Hu, and Y. Akashi. A fusion-embedded skeleton library. In 10th International Euro-Par Conference (EuroPar 2004), volume 3149 of Lecture Notes in Computer Science, pages 644--653. Springer, August 2004.
|
| |
42
|
E. W. Mayr and R. Werchner. Optimal tree constraction and term matching on the hypercube and related networks. Algorithmica, 18(3):445--460, 1997.
|
| |
43
|
Erik Meijer , Maarten Fokkinga , Ross Paterson, Functional programming with bananas, lenses, envelopes and barbed wire, Proceedings of the 5th ACM conference on Functional programming languages and computer architecture, p.124-144, June 1991, Cambridge, Massachusetts, United States
|
| |
44
|
G. Miller and J. Reif. Parallel tree contraction and its application. In 6th Annual IEEE Syrup, on the Foundations of Comp. Science, pages 478--489, 1985.
|
| |
45
|
|
| |
46
|
|
| |
47
|
M. Reid-Miller, G. L. Miller, and F. Modugno. List ranking and parallel tree contraction. In J. H. Reif, editor, Synthesis of Parallel Algorithms, chapter 3, pages 115--194. Morgan Kaufmann Publishers, 1996.
|
 |
48
|
|
| |
49
|
|
 |
50
|
Kai Tan , Duane Szafron , Jonathan Schaeffer , John Anvik , Steve MacDonald, Using generative design patterns to generate parallel code for a distributed memory environment, Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 11-13, 2003, San Diego, California, USA
|
 |
51
|
|
|