Abstract
Data-parallelism is a relatively well-understood form of parallel computation, yet developing simple applications can involve substantial efforts to express the problem in low-level data-parallel notations. We describe a process of software development for data-parallel applications starting from high-level specifications, generating repeated refinements of designs to match different architectural models and performance constraints, supporting a development activity with cost-benefit analysis. Primary issues are algorithm choice, correctness and efficiency, followed by data decomposition, load balancing and message-passing coordination. Development of a data-parallel multitarget tracking application is used as a case study, showing the progression from high to low-level refinements. We conclude by describing tool support for the process.
This work supported by Rome Laboratory under contract #F30602-94-C-0037.
Chapter PDF
References
B. Alpern, L. Carter, and E. Feig. Uniform memory hierarchies. In Proc. Foundations of Computer Science, 1990.
John K. Antonio. Architectural influences on task scheduling: A case study implementation of the jpda algorithm. Technical Report RL-TR-94-200, Rome Laboratory, Nov. 1994.
J. Backus. Can programming be liberated from the von neumann style? a functional style and its algebra of programs. Comm. of the ACM, 21(8):613–641, 1978.
Guy E. Blelloch. Programming parallel algorithms. CACM, 39(3), Mar. 1996.
David C. Cann. SISAL 1.2: A brief introduction and tutorial. Technical report, Lawrence Livermore National Laboratory, 1993.
D. Culler, R. Karp, D. Patterson, A. Sahay, K. E. Schauser, E. Santos, R. Subramonian, and T. von Eicken. LogP: Towards a realistic model of parallel computation. In Proc. Symposium on Principles and Practice of Parallel Programming, 1993.
Ian Foster. Designing and building parallel programs. Addison Wesley, 1995.
Richard A. Games, John D. Ramsdell, and Joseph J. Rushanan. Techniques for real-time parallel processing: Sensor processing case studies. Technical Report MTR 93B0000186, MITRE, April 1994.
Allen Goldberg, Peter Mills, Lars Nyland, Jan Prins, John Reif, and James Riely. Specification and development of parallel algorithms with the proteus system. In G. Blelloch, M. Chandy, and S. Jagannathan, editors, Specification of Parallel Algorithms. American Mathematical Society, 1994.
Lars S.Nyland, Jan F.Prins, Allen T. Goldberg, Peter H. Mills, John H. Reif, and Robert A. Wagner. A design methodology for data-parallel applications. Technical report, Univ. of N. Carolina, 1995. Available as http:/www.cs.unc.edu/Research/aipdesign.
Jan Prins and Daniel Palmer. Transforming high-level data-parallel programs into vector operations. In Proceedings of Principles and Practice of Parallel Programming, pages 119–128, San Diego, CA, 1993.
Leslie G Valiant. A bridging model for parallel computation. CACM, 33(8):103, August 1990.
Robert A. Wagner. Task parallel implementation of the jpda algorithm. Technical report, Department of Computer Science, Duke University, Durham, NC 27708-0129, June 1995.
B. Zhou and N. K. Bose. An efficient algorithm for data association in multitarget tracking. IEEE Trans. on Aerospace and Electronic Systems, 31(1):458–468, 1995.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nyland, L., Prins, J., Goldberg, A., Mills, P., Reif, J., Wagner, R. (1996). A refinement methodology for developing data-parallel applications. In: Bougé, L., Fraigniaud, P., Mignotte, A., Robert, Y. (eds) Euro-Par'96 Parallel Processing. Euro-Par 1996. Lecture Notes in Computer Science, vol 1123. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61626-8_18
Download citation
DOI: https://doi.org/10.1007/3-540-61626-8_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61626-9
Online ISBN: 978-3-540-70633-5
eBook Packages: Springer Book Archive