• DocumentCode
    1341065
  • 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
  • Volume
    26
  • Issue
    4
  • fYear
    2000
  • fDate
    4/1/2000 12:00:00 AM
  • Firstpage
    293
  • Lastpage
    314
  • 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;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.844491
  • Filename
    844491