Accession Number : ADA321888

Title :   Compiler Reorganization of Shared Data.

Descriptive Note : Final rept. 6 Jun 92-15 Jun 96,

Corporate Author : WASHINGTON UNIV SEATTLE DEPT OF COMPUTER SCIENCE AND ENGINEERING

Personal Author(s) : Eggers, Susan J.

PDF Url : ADA321888

Report Date : 01 DEC 1996

Pagination or Media Count : 12

Abstract : False sharing in shared memory multiprocessors is caused by a mismatch between the layout of write shared data in memory and the cross-processor memory reference pattern to it. This mismatch can be eliminated by restructuring the data to match the pattern. We have developed compiler algorithms that do this: they analyze per-process shared data accesses in coarse-grained, explicitly parallel programs, pinpoint the data structures that are susceptible to false sharing, and choose an appropriate transformation to reduce it. The restructured programs execute up to three times faster on a KsR-2 multiprocessor, and have considerably better scalability (better performance with increasing numbers of processors). When compared to programmer efforts to restructure shared data (including the extensively hand-tuned SPLASH and SPLASH2 benchmarks), the compiler-directed approach never did worse, and for most programs did considerably better.

Descriptors :   *COMPILERS, *TIME SHARING, DATA BASES, ALGORITHMS, MEMORY DEVICES, MULTIPROCESSORS.

Subject Categories : Computer Programming and Software

Distribution Statement : APPROVED FOR PUBLIC RELEASE