DocumentCode :
3221650
Title :
Locality analysis for parallel C programs
Author :
Zhu, Yingchun ; Hendren, Laurie J.
Author_Institution :
Sch. of Comput. Sci., McGill Univ., Montreal, Que., Canada
fYear :
1997
fDate :
10-14 Nov 1997
Firstpage :
2
Lastpage :
13
Abstract :
Many parallel architectures support a memory model where some memory accesses are local, and thus inexpensive, while other memory accesses are remote, and potentially quite expensive. In order to achieve good parallel performance, it is often necessary to reduce the number of remote memory accesses. This can be done by the programmer, the compiler, or a combination of both. The overall goal is to minimize the work required by the programmer, and have the compiler automate the process as much as possible. The paper reports on compiler techniques for decreasing the number of remote memory accesses using locality analysis for a parallel dialect of C called EARTH-C. The locality analysis uses an algorithm inspired by type inference algorithms for fast points-to analysis. The algorithm estimates when an indirect reference via a pointer can be safely assumed to be a local access. The locality inference algorithm is also used to guide the automatic specialization of functions in order to take advantage of locality scientific to particular calling contexts. The locality analysis and automatic specialization has been implemented in the EARTH-C compiler which produces low level threaded code for the EARTH-C multithreaded architecture. Experimental results are presented for a set of benchmarks that operate on irregular, dynamically allocated data structures. The techniques give moderate to significant speedups and they do lessen the burden on the programmer
Keywords :
C language; data structures; optimising compilers; parallel languages; parallel programming; parallelising compilers; type theory; EARTH-C; EARTH-C compiler; EARTH-C multithreaded architecture; automatic specialization; compiler techniques; dynamically allocated data structures; fast points-to analysis; indirect reference; locality analysis; low level threaded code; memory model; parallel C dialect; parallel C programs; parallel architectures; parallel performance; remote memory accesses; type inference algorithms; Algorithm design and analysis; Computer science; Data structures; Earth; Inference algorithms; Parallel architectures; Parallel processing; Program processors; Programming profession; Yarn;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel Architectures and Compilation Techniques., 1997. Proceedings., 1997 International Conference on
Conference_Location :
San Francisco, CA
Print_ISBN :
0-8186-8090-3
Type :
conf
DOI :
10.1109/PACT.1997.643999
Filename :
643999
Link To Document :
بازگشت