Issue No. 04 - April (2000 vol. 26)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.844491
<p><b>Abstract</b>—A methodology for the design and development of data parallel applications and components is presented. Data-parallelism is a well-understood form of parallel computation, yet developing simple applications can involve substantial efforts to express the problem in low-level 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, enabling 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.</p>
Software design, high-level programming languages, parallel algorithms, prototyping, software templates, multitarget tracking algorithms.
A. Goldberg, L. S. Nyland, J. F. Prins and P. H. Mills, "A Design Methodology for Data-Parallel Applications," in IEEE Transactions on Software Engineering, vol. 26, no. , pp. 293-314, 2000.