Header menu link for other important links
X
Optimizing remote data transfers in X10
Published in Institute of Electrical and Electronics Engineers Inc.
2018
Abstract
X10 is a partitioned global address space (PGAS) programming language that supports the notion of places; a place consists of some data and some lightweight tasks called activities. Each activity runs at a place and may invoke a place-change operation (using the at-construct) to synchronously perform some computation at another place. These place-change operations need to copy all the required data from the current place to the remote place. However, identifying the required data during each place-change operation is a non-trivial task, especially in the context of irregular applications (like graph applications) that contain large amounts of cross-referencing objects - not all of those objects may be actually required, at the remote place. In this paper, we present a new optimization AT-Opt that minimizes the amount of data serialized and communicated during place-change operations. AT-Opt uses a novel abstraction called abstract-place-tree to capture place-change operations in the program. For each place-change operation, AT-Opt uses a novel inter-procedural analysis to precisely identify the data required at the remote place, in terms of the variables in the current scope. AT-Opt then emits the appropriate code to copy the identified dataitems to the remote place. We have implemented AT-Opt in the x10v2.6.0 compiler and tested it over the IMSuite benchmark kernels. Compared to the current X10 compiler, the AT-Opt optimized code achieved a geometric mean speedup of 8.61× and 5.57×, on a two-node (32 cores each) Intel and two-node (16 cores each) AMD system, respectively. © 2018 Association for Computing Machinery.
About the journal
JournalData powered by TypesetParallel Architectures and Compilation Techniques - Conference Proceedings, PACT
PublisherData powered by TypesetInstitute of Electrical and Electronics Engineers Inc.
ISSN1089795X
Open AccessNo
Concepts (11)
  •  related image
    Data transfer
  •  related image
    Program compilers
  •  related image
    CHANGE OPERATIONS
  •  related image
    DATA SERIALIZATION
  •  related image
    INTER-PROCEDURAL ANALYSIS
  •  related image
    IRREGULAR APPLICATIONS
  •  related image
    LIGHTWEIGHT TASKS
  •  related image
    Non-trivial tasks
  •  related image
    PARTITIONED GLOBAL ADDRESS SPACE
  •  related image
    REMOTE COMMUNICATION
  •  related image
    Parallel architectures