Abstract
Data distributions have a serious impact on time complexity of parallel programs, developed based on domain decomposition. A new kind of distributions—set distributions, based on set-valued mappings, is introduced. These distributions assign a data object to more than one process. The set distributions can be used especially when the number of processes is greater than the data input size, but, sometimes using set distributions can lead to efficient general parallel algorithms. The work-load properties of these distributions and their impact on the number of communications are discussed. In order to illustrate the implications of data distributions in the construction of parallel programs, some examples are presented. Two parallel algorithms for computation of Lagrange interpolation polynomial are developed, starting from simple distributions and set distributions.
Similar content being viewed by others
References
R. C. Agarwal, F. G. Gustavson, S. M. Balle, M. Joshi, and P. Palkar. A High Performance Matrix Multiplication Algorithm for MPPs, PARA'95, pp. 1–7.
E. W. Dijkstra. A Discipline of Programming, Prentice-Hall, Englewood Cliffs, NJ, 1976.
I. Foster. Designing and Building Parallel Programs, Addison-Wesley, 1995.
L. Barbara and J. Guttag. Abstractions and Specification in Program Development, Massachusetts Institute of Technology, 1986.
C. A. R. Hoare. An Axiomatic Basis for Computer Programming, Communications of the ACM, 12(10):576–580, 1969.
L. D. Loyens. A Design Method for Parallel Programs, Technische Universiteit Eindhoven, 1992.
C. Morgan. Programming from Specifications, Prentice Hall, 1990.
D. B. Skillicorn and D. Talia. Models and Languages for Parallel Computation, ACM Computer Surveys, 30(2):123–136, June 1998.
J. R. Smith. The Design and Analysis of Parallel Algorithms, Oxford University Press, 1993.
E. F. Van de Velde. Concurrent Scientific Computing, Spring-Verlag, New-York Inc., 1994.
H. S. Wilf. Algorithms and Complexity, Mason & Prentice Hall, 1985.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Niculescu, V. On Data Distributions in the Construction of Parallel Programs. The Journal of Supercomputing 29, 5–25 (2004). https://doi.org/10.1023/B:SUPE.0000022570.15441.77
Issue Date:
DOI: https://doi.org/10.1023/B:SUPE.0000022570.15441.77