Legion: Expressing locality and independence with logical regions
Top Cited Papers
- 1 November 2012
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 21674329,p. 1-11
- https://doi.org/10.1109/sc.2012.71
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.This publication has 19 references indexed in Scilit:
- BDDT:Published by Association for Computing Machinery (ACM) ,2012
- DOJPublished by Association for Computing Machinery (ACM) ,2012
- Programming the memory hierarchy revisitedACM SIGPLAN Notices, 2011
- Subregion Analysis and Bounds Check Elimination for High Level ArraysLecture Notes in Computer Science, 2011
- A type and effect system for deterministic parallel JavaPublished by Association for Computing Machinery (ACM) ,2009
- Parallel programming with object assembliesPublished by Association for Computing Machinery (ACM) ,2009
- Optimistic parallelism benefits from data partitioningPublished by Association for Computing Machinery (ACM) ,2008
- Type inference for locality analysis of distributed data structuresPublished by Association for Computing Machinery (ACM) ,2008
- Parallel Programmability and the Chapel LanguageThe International Journal of High Performance Computing Applications, 2007
- Cilk: An Efficient Multithreaded Runtime SystemJournal of Parallel and Distributed Computing, 1996