Compiling Nested Loops for Communication-Efficient Execution on Distributed Memory Multicomputers

博士 === 國立中央大學 === 資訊及電子工程研究所 === 82 === Parallel machines execute programs concurrently on hundreds or thousands of processors which provide far more computational power over an uniprocessor. Without aids of parallelizing compilers, it is more dif...

Full description

Bibliographic Details
Main Authors: Chen Tzung Shi, 陳宗禧
Other Authors: Prof. Sheu Jang Ping
Format: Others
Language:en_US
Published: 1994
Online Access:http://ndltd.ncl.edu.tw/handle/71932707240333528984
Description
Summary:博士 === 國立中央大學 === 資訊及電子工程研究所 === 82 === Parallel machines execute programs concurrently on hundreds or thousands of processors which provide far more computational power over an uniprocessor. Without aids of parallelizing compilers, it is more difficult to write parallel programs with explicit or implicit data communication or synchronization over processors. This dissertation addresses the problem of designing and implementing a parallelizing compiler on distributed memory multicomputers. For distributed memory multicomputers, the performance declines rapidly while a unit of data communication is higher than a unit of the corresponding computation. Hence minimizing interprocessor communication is the key to the efficiency of parallel executing programs. Some compilation techniques are investigated for partitioning and mapping programs onto multicomputers. Our main goal is to extract parallelism and reduce the communication as much as possible during parallel execution. First, two automatic data allocation strategies with non-duplicate and duplicate data for communication-free executing programs are investigated. However, this is the best case for compilers on multicomputers. To solve the problem while data communication is needed, we will propose the non- communication-free compilation strategies. The compilation strategies have enabled us to apply transformation approaches to mapping programs on linear arrays or hypercubes. In addition, we implement a parallelizing compiler system on a User-interactive Parallel Programming EnviRonment called UPPER. This parallelizing compiler system introduces the new and existing techniques for compiler-time analysis for performance analysis. This integrated system attempts to provide the convenience for users to easily design their desirable parallel programs based on a variety of assertions and information generated by this compiler.