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.
Allen Goldberg, Lars S. Nyland, Jan F. Prins, Peter H. Mills, "A Design Methodology for Data-Parallel Applications", IEEE Transactions on Software Engineering, vol. 26, no. , pp. 293-314, April 2000, doi:10.1109/32.844491