Combining Static and Dynamic Data Coalescing in Unified Parallel C

Michail Alvanos, Montse Farreras, Ettore Tiotto, Jose Nelson Amaral, Xavier Martorell
2016 IEEE Transactions on Parallel and Distributed Systems  
Significant progress has been made in the development of programming languages and tools that are suitable for hybrid computer architectures that group several shared-memory multicores interconnected through a network. This paper addresses important limitations in the code generation for Partitioned Global Address Space (PGAS) languages. These languages allow fine-grained communication and lead to programs that perform many fine-grained accesses to data. When the data is distributed to remote
more » ... mputing nodes, code transformations are required to prevent performance degradation. Until now code transformations to PGAS programs have been restricted to the cases where both the physical mapping of the data or the number of processing nodes are known at compilation time. In this paper, a novel application of the inspector-executor model overcomes these limitations and allows profitable code transformations, which result in fewer and larger messages sent through the network, when neither the data mapping nor the number of processing nodes are known at compilation time. A performance evaluation reports both scaling and absolute performance numbers on up to 32768 cores of a Power 775 supercomputer. This evaluation indicates that the compiler transformation results in speedups between 1.15X and 21X over a baseline and that these automated transformations achieve up to 63% the performance of the MPI versions.
doi:10.1109/tpds.2015.2405551 fatcat:isr4fuw6nvfpzfo4abngauwame