2014 Poster Sessions : Legion: Programming Distributed Heterogeneous Architectures with Logical Regions

Student Name : Michael Bauer
Advisor : Alex Aiken
Research Areas: Theory
Modern supercomputers now encompass both heterogeneous processors and deep, complex memory hierarchies. Programming these machines currently requires expertise in an eclectic collection of tools (MPI, OpenMP, CUDA, etc) that primarily focus on describing parallelism while foisting the burden of data movement onto the programmer. Legion is an alternative approach to programming supercomputers that introduces logical regions as a relational model for describing program data. Logical regions can be dynamically partitioned into sub-regions giving applications an explicit mechanism for directly conveying information about the structure and usage of program data to the Legion runtime system. Using this information, the Legion runtime can automatically extract task parallelism from programs based on logical region usage. Furthermore, Legion can automate the movement of data through the memory hierarchy consistent with programmer-specified privilege and coherence annotations on logical regions. A novel mapping interface places total control over the placement of tasks and regions in the machine in the hands of the programmer. The Legion mapping interface also decouples the correctness of applications from performance decisions making Legion applications easy to port and tune for new architectures. We evaluate our implementation of Legion on several benchmark applications as well as a full port of S3D, a production combustion simulation running on Titan, the number two supercomputer in the world.

Michael Bauer is a sixth year PhD candidate working under Professor Alex Aiken on the design and implementation of data-aware parallel programming models for distributed heterogeneous architectures.