2012 International Conference for High Performance Computing, Networking, Storage and Analysis · 2012 · 429 citations · 20 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureHeterogeneous ComputingParallel ComputingParallel ArchitecturesParallel ComputationParallel Computer ArchitectureParallel Computing SystemsParallel Programming ModelsParallel Runtime SystemsCircuit SimulationHigh PerformanceLocality-aware SchedulingNested ParallelismParallel SchedulingParallelism ExtractionRuntime System ArchitectureSpatial Locality
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.
20
Benchmarking modern multiprocessors
Kai Li, Christian Bienia · European Journal of Cancer Care · 2011 · 1K citations
Titanium: a high-performance Java dialect
Kathy Yelick, Luigi Semenzato, Geoff Pike et al. · Concurrency Practice and Experience · 1998 · 456 citations
Introduction to UPC and Language Specification
William W. Carlson, Jesse M. Draper, David Culler et al. · 2000 · 299 citations