Parallel programming methodology and environment for the shared memory programming model
Abstract
The easy programming model of the shared memory paradigm possesses many attributes desirable to novice programmers. However, there has not been a good methodology with which programmers navigate through the difficult task of program parallelization and optimization. It is becoming increasingly difficult to achieve good performance without experience and intuition. Guiding methodologies must define easy-to-follow steps for programming and tuning multiprocessor applications. In addition, a parallel programming environment must acknowledge time-consuming steps in the parallelization and tuning process and support users in their efforts. We propose a parallel programming methodology for the shared memory model and a set of tools designed to assist users in accordance with the methodology. Our research addresses the questions “what” to do in parallel program development and tuning, “how” to do it, and “where” to do it. Our main contribution is to provide a comprehensive programming environment such that both novice and advanced users can perform performance tuning in an efficient and straightforward manner. Our effort differs from the other parallel programming environments in that (1) it integrates the most stages of parallel programming tasks based on a common methodology and (2) it addresses issues that have not been attempted in previous efforts. We have used network computing technology so that world wide programmers can benefit from our work. Through a series of evaluation processes, we found that our programming environment provides a methodology that works well with parallel applications and that our tools provide an efficient support to both novice and advanced programmers.
Degree
Ph.D.
Advisors
Eigenmann, Purdue University.
Subject Area
Electrical engineering|Computer science
Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server.