Abstract
Algorithmic skeletons are polymorphic higher-order functions representing common parallelization patterns. A special category are data-parallel skeletons, which perform operations on a distributed data structure. In this paper, we consider the case of distributed data structures with dynamic elements. We present the enhancements necessary in order to cope with these data structures, both on the language level and in the implementation of the skeletons. Further, we show that these enhancements practically do not affect the user, who merely has to supply two additional functional arguments to the communication skeletons. We then implement a parallel sorting algorithm using dynamic data with the enhanced skeletons on a MIMD distributed memory machine. Run-time measurements show that the speedups of the skeleton-based implementation are comparable to those obtained for a direct C implementation.
The work of this author is supported by the “Graduiertenkolleg Informatik und Technik” at the Aachen University of Technology.
Preview
Unable to display preview. Download preview PDF.
References
B. Bacci, M. Danelutto, S. Orlando, S. Pelagatti, M. Vanneschi: P 3 L: a Structured High-level Parallel Language and its Structured Support, Technical Report HPL-PSC-93-55, Pisa Science Center, Hewlett-Packard Laboratories, 1993.
P. Beckman, D. Gannon, E. Johnson: Portable Parallel Programming in HPC++, to appear in Proceedings of ICPP '96, 1996.
G. Blelloch: NESL: A Nested Data-Parallel Language (3.1), Technical Report CMU-CS-95-170, Carnegie-Mellon University, 1995.
F. Bodin, P. Beckman, D. Gannon, S. Narayana, S. X. Yang: Distributed pC++: Basic Ideas for an Object-Oriented Parallel Language, in Scientific Programming, Vol. 2, Nr. 3, 1993.
G. H. Botorog, H. Kuchen: Algorithmic Skeletons for Adaptive Multigrid Methods, in Proceedings of IRREGULAR '95, LNCS 980, Springer, 1995.
G. H. Botorog, H. Kuchen: Skil: An Imperative Language with Algorithmic Skeletons for Efficient Distributed Programming, to appear in Proceedings of the Fifth International Symposium on High Performance Distributed Computing (HPDC-5), IEEE Computer Society Press, 1996.
G. H. Botorog, H. Kuchen: Parallel Programming in an Imperative Language with Algorithmic Skeletons, to appear in Proceedings of EURO-PAR '96, LNCS, Springer, 1996.
M. Chandi, C. Kesselman: CC++: A Declarative Concurrent Object Oriented Programming Notation, in Research Directions in Concurrent Object-Oriented Programming, MIT Press, 1993.
M. I. Cole: Algorithmic Skeletons: Structured Management of Parallel Computation, MIT Press, 1989.
J. Darlington, A. J. Field, P. G. Harrison et al: Parallel Programming Using Skeleton Functions, in Proceedings of PARLE '93, LNCS 694, Springer, 1993.
J. Darlington, Y. Guo, H. W. To, J. Yang: Functional Skeletons for Parallel Coordination, in Proceedings of EURO-PAR '95, LNCS 966, Springer, 1995.
High Performance Fortran Language Specification, in Scientific Programming, Vol. 2, No. 1, 1993.
H. Kuchen, R. Plasmeijer, H. Stoltze: Efficient Distributed Memory Implementation of a Data Parallel Functional Language, in Proceedings of PARLE '94, LNCS 817, Springer, 1994.
X. Li, P. Lu, J. Schaeffer et al.: On the Versatility of Parallel Sorting by Regular Sampling, Parallel Computing, Vol. 19, North-Holland, 1993.
M. J. Quinn: Parallel Computing: Theory and Practice, McGraw-Hill, 1994.
M. Röttger, U. P. Schroeder, J. Simon: Virtual Topology Library for Parix, Technical Report 148, University of Paderborn, 1994.
D. Skillicorn: Foundations of Parallel Programming, Cambridge University Press, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Botorog, G.H., Kuchen, H. (1996). Using algorithmic skeletons with dynamic data structures. In: Ferreira, A., Rolim, J., Saad, Y., Yang, T. (eds) Parallel Algorithms for Irregularly Structured Problems. IRREGULAR 1996. Lecture Notes in Computer Science, vol 1117. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0030116
Download citation
DOI: https://doi.org/10.1007/BFb0030116
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61549-1
Online ISBN: 978-3-540-68808-2
eBook Packages: Springer Book Archive