RUNNING PARALLEL APPLICATIONS ON A HETEROGENEOUS ENVIRONMENT WITH ACCESSIBLE DEVELOPMENT PRACTICES AND AUTOMATIC SCALABILITY
1 online resource (175 pages) : PDF
University of North Carolina at Charlotte
Grid computing makes it possible to gather large quantities of resources to work on a problem. In order to exploit this potential, a framework that presents the resources to the user programmer in a form that maintains productivity is necessary. The framework must not only provide accessible development, but it must make efficient use of the resources. The Seeds framework is proposed. It uses the current Grid and distributed computing middleware to provide a parallel programming environment to a wider community of programmers. The framework was used to investigate the feasibility of scaling skeleton/pattern parallel programming into Grid computing. The research accomplished two goals: it made parallel programming on the Grid more accessible to domain-specific programmers, and it made parallel programs scale on a heterogeneous resource environment. Programming is made easier to the programmer by using skeleton and patternbased programming approaches that effectively isolate the program from the environment. To extend the pattern approach, the pattern adder operator is proposed, implemented and tested. The results show the pattern operator can reduce the number of lines of code when compared with an MPJExpress implementation for a stencil algorithm while having an overhead of at most ten microseconds per iteration. The research in scalability involved adapting existing load balancing techniques to skeletons and patterns requiring little additional configuration on the part of the programmer. The hierarchical dependency concept is proposed as well, which uses a streamed data flow programming model. The concept introduces data flow computation hibernation and dependencies that can split to accommodate additional processors. The results from implementing skeleton/patterns on hierarchical dependencies show an 18.23% increase in code is necessary to enable automatic scalability. The concept can increase speedup depending on the algorithm and grain size.
CLOUD COMPUTINGGRID COMPUTINGHIGH PERFORMANCE COMPUTINGPARALLEL COMPUTINGPATTERN PARALLEL PROGRAMMINGPEER-TO-PEER
Wilkinson, BarryXiao, JingWang, YuJohar, Monica
Thesis (Ph.D.)--University of North Carolina at Charlotte, 2011.
This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s). For additional information, see http://rightsstatements.org/page/InC/1.0/.
Copyright is held by the author unless otherwise indicated.