Return to search

Automatic program restructuring for distributed memory multicomputers

M.S. / Computer Science and Engineering / To compile a Single Program Multiple Data (SPMD) program for a Distributed Memory Multicomputer (DMMC), we need to find data that can be processed in parallel in the program and we need to distribute the data among processors such that the interprocessor communication becomes reasonably small. Loop restructuring is needed for finding parallelism in imperative programs and array alignment is one effective step to reduce interprocessor communication caused by array references. Automatic conversion of imperative programs using these two program restructuring steps has been implemented in the Tiny loop restructuring tool. The restructuring strategy is derived by translating the way that the compiler uses for the functional language Crystal, to the imperative language Tiny. Although an imperative language can have more varied loop structures than a functional language and it is more difficult to select the optimal one, we can get a loop structure which is comparable to Crystal. We also can find array alignment preference (temporal + spatial) relations in a Tiny source program and add a new construct, the align statement, to Tiny to express the array alignment preferences. In this thesis, we discuss these program restructuring strategies which we used for Tiny by comparison with Crystal.

Identiferoai:union.ndltd.org:OREGON/oai:content.ohsu.edu:etd/191
Date04 1900
CreatorsIkei, Mitsuru
PublisherOregon Health & Science University
Source SetsOregon Health and Science Univ. Library
LanguageEnglish
Detected LanguageEnglish
TypeText
FormatNeeds Adobe Acrobat Reader to view., pdf, 1727.155 KB
Rightshttp://www.ohsu.edu/library/etd_rights.shtml

Page generated in 0.0016 seconds