Supporting a process-oriented model in MPI through fine-grain mapping

The need for intuitive parallel programming designs has grown with the rise of modern many-core processors. Process-oriented models promote high scalability by using small isolated components that interact to produce complex applications. Such models are intuitive by forcing scalability to be a desi...

Full description

Bibliographic Details
Main Author: Brown, Cody Ryan
Language:English
Published: University of British Columbia 2012
Online Access:http://hdl.handle.net/2429/42152
id ndltd-LACETR-oai-collectionscanada.gc.ca-BVAU.2429-42152
record_format oai_dc
spelling ndltd-LACETR-oai-collectionscanada.gc.ca-BVAU.2429-421522014-03-26T03:38:31Z Supporting a process-oriented model in MPI through fine-grain mapping Brown, Cody Ryan The need for intuitive parallel programming designs has grown with the rise of modern many-core processors. Process-oriented models promote high scalability by using small isolated components that interact to produce complex applications. Such models are intuitive by forcing scalability to be a design requirement. The popular MPI messaging library has not exploited fine-grain models due to its coarse-grain implementations. The binding of processes often uses a coarse-grain management system, which is done by sequentially assigning ranks to a list of machines. This may be suitable for coarse-grain applications, but inadequate for fine-grain applications with large process grouping demands; a more flexible, manageable and scalability specification is necessary to support a process-oriented model. The use of FG-MPI exposes additional concurrency through a new layer of mapping by providing smaller units of parallelism: a desirable feature in function-level programming. This collocation layer requires a fine-grain mapping mechanism to optimize communication. A graph specification is proposed that allows communication patterns, collocation of MPI processes, and binding optimizations to be extracted from such a structure. The work presented extends and evaluates MPI to a fine-grain process-oriented model and provides a graphical mapping and binding specification. Evaluation of function-level applications is done through Pilot, a CSP-like library for MPI. The smallest unit of parallelism in this architecture is evaluated and shows that small communication overheads occur when comparing hundreds of large tasks to hundreds of thousands of fine-grain tasks. The graph representation is based on Kahn Process Networks. This provides a simplistic and intuitive model to represent and organize large function-level applications. A tool is developed that reads in a graph structure and performs operations such as auto-constructing wiring diagram code, determining optimal collocated maps based on communication, and producing a binding specification. This tool is modular and extensible to other graph related operations. 2012-04-20T19:08:33Z 2012-04-20T19:08:33Z 2012 2012-04-20 2012-05 Electronic Thesis or Dissertation http://hdl.handle.net/2429/42152 eng http://creativecommons.org/licenses/by/3.0/ Attribution-NonCommercial 2.5 Canada University of British Columbia
collection NDLTD
language English
sources NDLTD
description The need for intuitive parallel programming designs has grown with the rise of modern many-core processors. Process-oriented models promote high scalability by using small isolated components that interact to produce complex applications. Such models are intuitive by forcing scalability to be a design requirement. The popular MPI messaging library has not exploited fine-grain models due to its coarse-grain implementations. The binding of processes often uses a coarse-grain management system, which is done by sequentially assigning ranks to a list of machines. This may be suitable for coarse-grain applications, but inadequate for fine-grain applications with large process grouping demands; a more flexible, manageable and scalability specification is necessary to support a process-oriented model. The use of FG-MPI exposes additional concurrency through a new layer of mapping by providing smaller units of parallelism: a desirable feature in function-level programming. This collocation layer requires a fine-grain mapping mechanism to optimize communication. A graph specification is proposed that allows communication patterns, collocation of MPI processes, and binding optimizations to be extracted from such a structure. The work presented extends and evaluates MPI to a fine-grain process-oriented model and provides a graphical mapping and binding specification. Evaluation of function-level applications is done through Pilot, a CSP-like library for MPI. The smallest unit of parallelism in this architecture is evaluated and shows that small communication overheads occur when comparing hundreds of large tasks to hundreds of thousands of fine-grain tasks. The graph representation is based on Kahn Process Networks. This provides a simplistic and intuitive model to represent and organize large function-level applications. A tool is developed that reads in a graph structure and performs operations such as auto-constructing wiring diagram code, determining optimal collocated maps based on communication, and producing a binding specification. This tool is modular and extensible to other graph related operations.
author Brown, Cody Ryan
spellingShingle Brown, Cody Ryan
Supporting a process-oriented model in MPI through fine-grain mapping
author_facet Brown, Cody Ryan
author_sort Brown, Cody Ryan
title Supporting a process-oriented model in MPI through fine-grain mapping
title_short Supporting a process-oriented model in MPI through fine-grain mapping
title_full Supporting a process-oriented model in MPI through fine-grain mapping
title_fullStr Supporting a process-oriented model in MPI through fine-grain mapping
title_full_unstemmed Supporting a process-oriented model in MPI through fine-grain mapping
title_sort supporting a process-oriented model in mpi through fine-grain mapping
publisher University of British Columbia
publishDate 2012
url http://hdl.handle.net/2429/42152
work_keys_str_mv AT browncodyryan supportingaprocessorientedmodelinmpithroughfinegrainmapping
_version_ 1716656282950172672