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
fDate :
2/1/2000 12:00:00 AM
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;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on