DocumentCode
598604
Title
Legion: Expressing locality and independence with logical regions
Author
Bauer, Matthias ; Treichler, Sean ; Slaughter, Elliott ; Aiken, Alex
fYear
2012
fDate
10-16 Nov. 2012
Firstpage
1
Lastpage
11
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;
fLanguage
English
Publisher
ieee
Conference_Titel
High Performance Computing, Networking, Storage and Analysis (SC), 2012 International Conference for
Conference_Location
Salt Lake City, UT
ISSN
2167-4329
Print_ISBN
978-1-4673-0805-2
Type
conf
DOI
10.1109/SC.2012.71
Filename
6468504
Link To Document