DocumentCode :
1332643
Title :
Compiler and run-time support for exploiting regularity within irregular applications
Author :
Lain, Antonio ; Chakrabarti, Dhruva R. ; Banerjee, Prithviraj
Author_Institution :
Hewlett Packard, Bristol, UK
Volume :
11
Issue :
2
fYear :
2000
fDate :
2/1/2000 12:00:00 AM
Firstpage :
119
Lastpage :
135
Abstract :
This paper starts from a well-known idea, that structure in irregular problems improves sequential performance, and tries to show that the same structure can also be exploited for parallelization of irregular problems on a distributed-memory multicomputer. In particular, we extend a well-known parallelization technique called run-time compilation to use structure information that is explicit on the array subscripts. This paper presents a number of internal representations suited to particular access patterns and shows how various preprocessing structures such as translation tables, trace arrays, and interprocessor communication schedules can be encoded in terms of one or more of these representations. We show how loop and index normalization are important for detection of irregularity in array references, as well as the presence of locality in such references. This paper presents methods for detection of irregularity, feasibility of inspection, and finally, placement of inspectors and interprocessor communication schedules. We show that this process can be automated through extensions to an HPF/Fortran-77 distributed-memory compiler (PARADIGM) and a new runtime support for irregular problems (PILAR) that uses a variety of internal representations of communication patterns. We devise performance measures which consider the relationship between the inspection cost, the execution cost, and the number of times the executor is invoked so that a comparison of the competing schemes can be performed independent of the number of iterations. Finally, we show experimental results on an IBM SP-2 that validate our approach. These results show that dramatic improvements in both memory requirements and execution time can be achieved by using these techniques
Keywords :
computational complexity; distributed memory systems; parallelising compilers; IBM SP-2; compiler support; distributed-memory compiler; distributed-memory multicomputer; interprocessor communication schedules; parallelization; parallelization technique; regularity; run-time compilation; run-time support; sequential performance; trace arrays; translation tables; Application software; Costs; Distributed computing; Hardware; Inspection; Parallel architectures; Performance evaluation; Runtime; Scalability; Standardization;
fLanguage :
English
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
1045-9219
Type :
jour
DOI :
10.1109/71.841749
Filename :
841749
Link To Document :
بازگشت