Title :
Legion: Expressing locality and independence with logical regions
Author :
Bauer, Matthias ; Treichler, Sean ; Slaughter, Elliott ; Aiken, Alex
Abstract :
Modern parallel architectures have both heterogeneous processors and deep, complex memory hierarchies. We present Legion, a programming model and runtime system for achieving high performance on these machines. Legion is organized around logical regions, which express both locality and independence of program data, and tasks, functions that perform computations on regions. We describe a runtime system that dynamically extracts parallelism from Legion programs, using a distributed, parallel scheduling algorithm that identifies both independent tasks and nested parallelism. Legion also enables explicit, programmer controlled movement of data through the memory hierarchy and placement of tasks based on locality information via a novel mapping interface. We evaluate our Legion implementation on three applications: fluid-flow on a regular grid, a three-level AMR code solving a heat diffusion equation, and a circuit simulation.
Keywords :
distributed memory systems; parallel architectures; parallel machines; parallel programming; processor scheduling; Legion programs; deep complex memory hierarchies; distributed algorithm; heterogeneous processors; logical regions; memory hierarchy; parallel architectures; parallel scheduling algorithm; parallelism extraction; program data independence; program data locality; programmer controlled data movement; programming model; runtime system; task placement; Circuit simulation; Coherence; Out of order; Programming; Vegetation; Wires;
Conference_Titel :
High Performance Computing, Networking, Storage and Analysis (SC), 2012 International Conference for
Conference_Location :
Salt Lake City, UT
Print_ISBN :
978-1-4673-0805-2