Reducing compiler-inserted instrumentation in unified-parallel-C code generation

M Alvanosl, JN Amaral, E Tiotto… - 2014 IEEE 26th …, 2014 - ieeexplore.ieee.org
2014 IEEE 26th International Symposium on Computer Architecture …, 2014ieeexplore.ieee.org
Programs written in Partitioned Global Address Space (PGAS) languages can access any
location of the entire address space via standard read/write operations. However, the
compiler have to create the communication mechanisms and the runtime system to use
synchronization primitives to ensure the correct execution of the programs. However, PGAS
programs may have fine-grained shared accesses that lead to performance degradation.
One solution is to use the inspector-executor technique to determine which accesses are …
Programs written in Partitioned Global Address Space (PGAS) languages can access any location of the entire address space via standard read/write operations. However, the compiler have to create the communication mechanisms and the runtime system to use synchronization primitives to ensure the correct execution of the programs. However, PGAS programs may have fine-grained shared accesses that lead to performance degradation. One solution is to use the inspector-executor technique to determine which accesses are indeed remote and which accesses may be coalesced in larger remote access operations. A straightforward implementation of the inspector-executor in a PGAS system may result in excessive instrumentation that hinders performance. This paper introduces a shared-data localization transformation based on linear memory descriptors (LMADs) that reduces the amount of instrumentation introduced by the compiler into programs written in the UPC language and describes a prototype implementation of the proposed transformation. A performance evaluation, using up to 2048 cores of a POWER 775 supercomputer, allows for a prediction that applications with regular accesses can achieve up to 180% of the performance of handoptimized versions while applications with irregular accesses yield performance gain from 1.12X up to 6.3X speedup.
ieeexplore.ieee.org