
This Article  
 
Share  
Bibliographic References  
Add to:  
Digg Furl Spurl Blink Simpy Del.icio.us Y!MyWeb  
Search  
 
ASCII Text  x  
Lars S. Nyland, Jan F. Prins, Allen Goldberg, Peter H. Mills, "A Design Methodology for DataParallel Applications," IEEE Transactions on Software Engineering, vol. 26, no. 4, pp. 293314, April, 2000.  
BibTex  x  
@article{ 10.1109/32.844491, author = {Lars S. Nyland and Jan F. Prins and Allen Goldberg and Peter H. Mills}, title = {A Design Methodology for DataParallel Applications}, journal ={IEEE Transactions on Software Engineering}, volume = {26}, number = {4}, issn = {00985589}, year = {2000}, pages = {293314}, doi = {http://doi.ieeecomputersociety.org/10.1109/32.844491}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, }  
RefWorks Procite/RefMan/Endnote  x  
TY  JOUR JO  IEEE Transactions on Software Engineering TI  A Design Methodology for DataParallel Applications IS  4 SN  00985589 SP293 EP314 EPD  293314 A1  Lars S. Nyland, A1  Jan F. Prins, A1  Allen Goldberg, A1  Peter H. Mills, PY  2000 KW  Software design KW  highlevel programming languages KW  parallel algorithms KW  prototyping KW  software templates KW  multitarget tracking algorithms. VL  26 JA  IEEE Transactions on Software Engineering ER   
Abstract—A methodology for the design and development of data parallel applications and components is presented. Dataparallelism is a wellunderstood form of parallel computation, yet developing simple applications can involve substantial efforts to express the problem in lowlevel notations. We describe a process of software development for dataparallel applications starting from highlevel specifications, generating repeated refinements of designs to match different architectural models and performance constraints, enabling a development activity with costbenefit analysis. Primary issues are algorithm choice, correctness, and efficiency, followed by data decomposition, load balancing, and messagepassing coordination. Development of a dataparallel multitarget tracking application is used as a case study, showing the progression from high to lowlevel refinements. We conclude by describing tool support for the process.
[1] L.V. Kalé and S. Krishnan, “CHARM++: A Portable Concurrent Object Oriented System Based on C++,” Proc. OOPSLA '93, 1993.
[2] D.C. Luckham,J. Vera,D. Bryan,L. Augustin,, and F. Belz,“Partial orderings of event sets and their application toprototyping concurrent, timed systems,” J. of Systems and Software, vol. 21, no. 3, pp. 253265, June 1993.
[3] P.H. Mills, L.S. Nyland, J.F. Prins, and J.H. Reif, “Software Issues in HighPerformance Computing and a Framework for the Development of HPC Applications,” Developing a Computer Science Agenda for HighPerformance Computing, U. Vishkin, ed., pp. 110117, ACM Press, 1994.
[4] A. Goldberg, P. Mills, L. Nyland, J. Prins, J. Reif, and J. Riely, “Specification and Development of Parallel Algorithms with the Proteus System,” Specification of Parallel Algorithms, G. Blelloch, M. Chandy, and S. Jagannathan, eds. Am. Math. Soc., 1994.
[5] L. Nyland, J. Prins, A. Goldberg, P. Mills, J. Reif, and R. Wagner, “A Refinement Methodology for Developing DataParallel Applications,” Proc. Europar '96, 1996.
[6] L. Nyland, J. Prins, P. Mills, and J. Reif, “Design Study of DataParallel Multitarget Tracking Algorithms,” Proc. AIP Design Meeting (7/96), 1996. ftp://ftp.cs.unc.edu/pub/projects/proteus/ rometaskII.pdf.
[7] John W. Backus, "Can Programming be Liberated From the von Neumann Style? A Functional Style and Its Algebra of Programs," Communications of the ACM, vol. 21, pp. 613641, 1978.
[8] G.E. Blelloch, “Programming Parallel Algorithms,” Comm. ACM, vol. 39, no. 3, pp. 8597, Mar. 1996.
[9] D.C. Cann, “SISAL 1.2: A Brief Introduction and Tutorial,” technical report, Lawrence Livermore Nat'l Laboratory, 1993.
[10] G. Levin and L. Nyland, “An Introduction to Proteus, Version 0.9,” Technical Report TR95025, Univ. of North CarolinaChapel Hill, Aug. 1993.
[11] B. Boehm, "A Spiral Model of Software Development and Enhancement," Computer, May 1988, pp. 6172.
[12] A. Geguelin, J. Dongarra, A. Geist, R. Manchek, and V. Sunderam, “A User's Guide to PVM: Parallel Virtual Machine,” technical report, Oak Ridge Nat'l Laboratory, July 1991.
[13] W. Gropp, E. Lusk, and A. Skjellum, Using MPI: Portable Parallel Programming with the Message Passing Interface. MIT Press, 1994.
[14] R.A. Games, J.D. Ramsdell, and J.J. Rushanan, “Techniques for RealTime Parallel Processing: Sensor Processing Case Studies,” Technical Report MTR 93B0000186, MITRE Corp., Apr. 1994.
[15] J.K. Antonio, “Architectural Influences on Task Scheduling: A Case Study Implementation of the JPDA Algorithm,” Technical Report RLTR94200, Rome Laboratory, Nov. 1994.
[16] L. Nyland, J. Prins, R.H. Yun, J. Hermans, H.C. Kum, and L. Wang, “Achieving Scalable Parallel Molecular Dynamics Using Dynamic Spatial Domain Decomposition Techniques,” J. Parallel and Distributed Computing, vol. 47, pp. 125138, 1997.
[17] G. Blelloch, S. Chatterjee, J. Hardwick, M. ReidMiller, J. Sipelstein, and M. Zahga, “CVL: A C Vector Library,” Technical Report CMUCS93114, Carnegie Mellon Univ., Feb. 1993.
[18] J. Prins and D. Palmer, “Transforming HighLevel DataParallel Programs into Vector Operations,” Proc. Fourth ACM SIGPLAN Symp. Principles and Practice of Parallel Programming, 1993.
[19] G. Blelloch and G. Sabot, “Compiling CollectionOriented Languages into Massively Parallel Computers,” J. Parallel and Distributed Computing, vol. 8, pp. 119134, 1990.
[20] P.K.T. Au, M.M.T. Chakravarty, J. Darlington, Y. Guo, S. Jähnichen, G. Keller, M. Köhler, M. Simons, and W. Pfannenstiel, “Enlarging the Scope of VectorBased Computations: Extending Fortran 90 with Nested Data Parallelism,” Proc. Int'l Conf. Advances in Parallel and Distributed Computing, 1997.
[21] OpenMP Architecture Review Board, “The OpenMP API,” OpenMPhttp:/www.openmp.org, 1997.
[22] 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,” Fourth Symp. Principles and Practices Parallel Programming, SIGPLAN’93, ACM, May 1993.
[23] L.G. Valiant, “A Bridging Model for Parallel Computation,” Comm. ACM, vol. 33, no. 8, pp. 103111, Aug. 1990.
[24] B. Alpern, L. Carter, and J. Ferrante, “Modeling Parallel Computers as Memory Hierarchies,” Proc. Workshop Portability and Performance for Parallel Processing, 1993.
[25] H. Lu, Y.C. Hu, and W. Zwaenepoel, “OpenMP on Networks of Workstations,” Proc. Supercomputing '98, 1998.
[26] J.C. Browne, S.I. Hyder, J. Dongarra, K. Moore, and P. Newton, “Visual Programming and Debugging for Parallel Computing,” IEEE Parallel and Distributed Technology, vol. 3, 1995.
[27] I.T. Foster, Designing and Building Parallel Programs AddisonWesley, Reading, Mass., 1995.
[28] G.C. Fox, S. Ranka, and P.C.R. Consortium, “Common Runtime Support for HighPerformance Parallel Languages,” Draft Technical Report PCRC001, Northeast Parallel Architectures Center, Syracuse Univ., July 1993.
[29] R. Barrett, M. Berry, T.F. Chan, J. Demmel, J. Donato, J. Dongarra, V. Eijkhout, R. Pozo, C. Romine, and H. v. d. Vorst, Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods. SIAM, 1994.
[30] K.M. Chandy, “Concurrent Program Archetypes,” Computer Science Report 25680, California Inst. of Technology, Pasadena,http://www.etext.caltech.edu/Papers2/ArchetypeOverview ArchPaper.html, 1995.
[31] E. Johnson, D. Gannon, and P. Beckman, “HPC++: Experiments with the Parallel Standard Template Library,” Proc. Int'l Conf. Supercomputing, 1997.
[32] L.V. Streepy Jr., “CXdb: A New View on Optimization,” Proc. Supercomputer Debugging Workshop, 1991.
[33] M.T. Heath, “Performance Visualization with ParaGraph,” Proc. Second Workshop Environments and Tools for Parallel Scientific Computing, 1994.
[34] S. Browne, “CrossPlatform Parallel Debugging and Performance Analysis Tools,” Proc. EuroPVM/MPI '98, 1998.
[35] B. Zhou and N.K. Bose, “Multitarget Tracking in Clutter: Fast Algorithms for Data Association,” IEEE Trans. Aerospace and Electronic Systems, vol. 29, pp. 352363, 1993.
[36] B. Zhou and N.K. Bose, “An Efficient Algorithm for Data Association in Multitarget Tracking,” IEEE Trans. Aerospace and Electronic Systems, vol. 31, pp. 458468, 1995.
[37] D.W. Palmer, “Efficient Execution of Nested DataParallel Programs,” Univ. of North Carolina, 1996.
[38] R.A. Wagner, “Task Parallel Implementation of the JPDA Algorithm,” technical report, Dept. of Computer Science, Duke Univ., Durham, N.C., June 1995, ftp://ftp.cs.unc.edu/pub/projects/proteus/ romewagnerjpda.pdf.
[39] L. Nyland, J. Prins, A. Goldberg, P. Mills, and J. Reif, “A Design Methodology for DataParallel Applications,” Proc. AIP Design Meeting (12/95), 1995.
[40] G.E. Blelloch, S. Chatterjee, J. Hardwick, J. Sipelstein, and M. Zagha, “Implementation of a Portable Nested DataParallel Language,” Proc. Fourth ACM SIGPLAN Symp. Principles and Practice of Parallel Programming, 1993.
[41] R.M. Karp and Y. Zhang, “A Randomized Parallel BranchandBound Procedure,” Proc 20th Ann. Symp. Theory of Computing, 1988.
[42] L.V. Kale, B. Ramkumar, V. Saletore, and A.B. Sinha, “Prioritization in Parallel Symbolic Computing,” Lecture Notes in Computer Science, T.I.a.R. Halstead, ed., vol. 748, pp. 1241, SpringerVerlag, 1993.
[43] A. Brüngger, A. Marzetta, K. Fukuda, and J. Nievergelt, “The Parallel Search Bench ZRAM and Its Applications,” Annals of Operations Research, 1999.
[44] A. Marzetta, “ZRAM: A Library of Parallel Search Algorithms and Its Use in Enumeration and Combinatorial Optimization,” ETH Zürich, 1998, http://nobi.ethz.ch/ambros/zramzram.html .
[45] G.E. Blelloch, “Nesl: A Nested DataParallel Language (version 2.6),” Technical Report CMUCS93129, School of Computer Science, Carnegie Mellon Univ., 1993.
[46] G. Keller and M. Chakravarty, “On the Distributed Implementation of Aggregate Datastructures by Program Transformation,” Proc. Fourth Int'l Workshop HighLevel Parallel Programming Models and Supportive Environments (HIPS '99), 1999.
[47] G. Agha, “Concurrent ObjectOriented Programming,” Comm. ACM, vol. 33, pp. 125141, 1990.
[48] H. Korab, “Access Feature: Stormy Weather,” http://access.ncsa.uiuc.edu/CoverStories/ StormPredictionStorms.html, 1999.
[49] K. Droegemeier, “Performance of the CAPS Advanced Regional Prediction System (ARPS) during the 3 May 1999 Oklahoma Tornado Outbreak,” http://geowww.ou.edu/~kkdMay 3 Case/, 1999.