Title :
A design methodology for data-parallel applications
Author :
Nyland, Lars S. ; Prins, Jan F. ; Goldberg, Allen ; Mills, Peter H.
Author_Institution :
Dept. of Comput. Sci., North Carolina Univ., Chapel Hill, NC, USA
fDate :
4/1/2000 12:00:00 AM
Abstract :
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
Keywords :
cost-benefit analysis; message passing; parallel algorithms; parallel programming; resource allocation; algorithm choice; architectural models; case study; cost benefit analysis; data decomposition; data-parallel application design; data-parallel multitarget tracking application; data-parallelism; design methodology; development activity; high level specifications; load balancing; low level notations; message passing coordination; parallel computation; performance constraints; repeated refinements; tool support; Algorithm design and analysis; Application software; Concurrent computing; Cost benefit analysis; Design methodology; Load management; Milling machines; Parallel processing; Parallel programming; Process design;
Journal_Title :
Software Engineering, IEEE Transactions on