Back to results

University of British Columbia

A hierarchical software development environment for performance oriented parallel programming

Abstract

dc:description

The future of high performance computing lies in massively parallel computers. In order to create software to utilize this ever more powerful and complex hardware, software designers must reconcile the desire to provide simplifying abstractions with performance requirements. This thesis examines one approach to addressing this problem. It has been observed that most parallel programs are written so that they possess the structure of one of a relatively small number of paradigms which describe the essence of a virtual machine. It is well known that better performance will be achieved when there is a close match between the structure of a virtual machine and the algorithms of a program built using the machine. We have proposed the skeleton-template-module (STM) as a parameterized, partially implemented virtual machine, corresponding to a particular paradigm. An STM is implemented by an expert system programmer and serves to hide the internal complexity of the virtual machine from application programmers who are only presented with an interface to the missing components and parameters. To be truly useful a construct such as an STM must be supported by and fully integrated into a viable programming environment. Such a system must support both the construction of STMs and their use to create applications as part of a general programming framework. However, the lessons of existing sequential and parallel programming systems must not be forgotten. "Ease of use" must remain a high priority. Reuse must be facilitated and encouraged wherever possible. Scalability in its several forms must exist. Finally, the system must also recognize that programming is but one task in the development of parallel programs and so must support the existence and cooperative functioning of a variety of tools. Of these tools, the most important from the developer's point of view is the user interface which provides both support for constructing programs and interacting with the rest of the environment. We have designed and built such an interface and environment (Parsec -- the Parallel System for Efficient Computation) along with prototype mapping and loading tools as a follow-on to our original TIPS environment. The system utilizes the process-port-channel model of parallel program description and supports these primitives with a graphical interface. This interface provides arbitrary hierachical organization within a program by the use of STMs and logical subgraphs within STMs. In addition, objects such as module parameters, process types, process groups, and parameterized graphs are provided to both support STMs as well as meet the objectives of "ease of use," reuse, and scalability.

Degree

thesis:*
Name thesis:degree_name
Master of Science - MSc
Level thesis:degree_level
master's
Discipline thesis:degree_discipline
Computer Science
Grantor dc:publisher
University of British Columbia
Year dc:date
1992

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Feldcamp, David A.

Rights

dc:rights
Statement dc:rights
  • For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.
Language dc:language
eng

Identifiers

dc:identifier.*
Handle dc:identifier
http://hdl.handle.net/2429/1360
OAI identifier oai:identifier
oai:circle.library.ubc.ca:2429/1360

Chain of custody

source
Harvested from
University of British Columbia
Base URL
circle.library.ubc.ca/oai/request
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
related terms
citation

Feldcamp, David A.. A hierarchical software development environment for performance oriented parallel programming. master's thesis, University of British Columbia, 1992. http://hdl.handle.net/2429/1360