Publication | Closed Access
Legion: Expressing locality and independence with logical regions
425
Citations
20
References
2012
Year
Cluster ComputingEngineeringComputer ArchitectureLegion ProgramsHigher-order LogicSemanticsComputational LogicParallel SoftwareLanguage StudiesParallel ComputingLegion ImplementationFormal SemanticsMassively-parallel ComputingLinguisticsComputer EngineeringComputer ScienceNested ParallelismAutomated ReasoningProgram AnalysisParallel ProcessingExpressing LocalityParallel ProgrammingParallel Programming ModelData-level ParallelismSystem Software
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1