ComputingComputer EngineeringComputer ScienceComputer ArchitectureHeterogeneous ComputingParallel ComputingData ParallelismHeterogeneous System ArchitectureParallel ArchitecturesParallel Computer ArchitectureParallel Computing SystemsParallel Runtime SystemsExecution Runtime SystemsHeterogeneous Computing SystemsHeterogeneous Multicore SystemsHeterogeneous Runtime SystemsParallel Performance OptimizationParallel SchedulingParallelism ExploitationRuntime Management
We present a runtime framework for the execution of work-loads represented as parallel-operator directed acyclic graphs (PO-DAGs) on heterogeneous multi-core platforms. PO-DAGs combine coarse-grained parallelism at the graph level with fine-grained parallelism within each node, lending naturally to exploiting the intra --- and inter-processing element parallelism present in heterogeneous platforms. We identify four important criteria - Suitability, Locality, Availability and Criticality (SLAC) --- and show that all these criteria must be considered by a heterogeneous runtime framework in order to achieve good performance under varying application and platform characteristics.
21
Rodinia: A benchmark suite for heterogeneous computing
Shuai Che, Michael Boyer, Jiayuan Meng et al. · 2009 · 3K citations
Michael Isard, Mihai Budiu, Yuan Yu et al. · 2007 · 2.5K citations
Scalable Parallel Programming with CUDA
John Nickolls, Ian Buck, Michael Garland et al. · Queue · 2008 · 1.6K citations · Full text
Amdahl's Law in the Multicore Era
Michael R. Marty · Computer · 2008 · 1.2K citations