Tracking and choosing data and task distribution in parallel applications

Allan Douglas Knies, Purdue University

Abstract

In recent years, many kinds of parallel computers have become commercially available. Each of these machines has its own distinctive features that determine the architectural balance of the system. To take advantage of the various architectural strengths of each machine, vendors have developed their own models for writing parallel programs. While providing performance and usability for each individual platform, programs so written are tied to a specific machine. Bringing a program to a new platform means possibly sacrificing execution efficiency on the new machine or having to rewrite the code. This exposes two fundamental issues facing parallel computing: software design for portability and efficiency, and the design and analysis of parallel architectures. To address such diverse problems, we describe a broad system design approach for developing and evaluating architectural and language features and their effect on application portability and efficiency. We have used this approach to develop a language system called FERRET. Using FERRET, we have implemented a set of applications and gathered information regarding their mappings for three simulated machine architectures across a wide variety of machine and problem sizes. We present the data and use the results to draw conclusions about the requirements of language design and machine architecture to support efficient portable programs.

Degree

Ph.D.

Advisors

III, Purdue University.

Subject Area

Electrical engineering|Computer science

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS