Dandelion: a compiler and runtime for heterogeneous systems
By Christopher J. Rossbach, Yuan Yu, J. Currey, Jean-Phillipe Martin, Dennis Fetterly. 2013
169 citations recorded by the source corpus.
Computer systems increasingly rely on heterogeneity to achieve greater performance, scalability and energy efficiency. Because heterogeneous systems typically comprise multiple execution contexts with different programming abstractions and runtimes, programming them remains extremely challenging. Dandelion is a system designed to address this programmability challenge for data-parallel applications. Dandelion provides a unified programming model for heterogeneous systems that span diverse execution contexts including CPUs, GPUs, FPGAs, and the cloud. It adopts the .NET LINQ (Language INtegrated Query) approach, integrating data-parallel operators into general purpose programming languages such as C# and F#. It therefore provides an expressive data model and native language integration for user-defined functions, enabling programmers to write applications using standard high-level languages and development tools. Dandelion automatically and transparently distributes data-parallel portions of a program to available computing resources, including compute clusters for distributed execution and CPU and GPU cores of individual nodes for parallel execution. To enable automatic execution of .NET code on GPUs, Dandelion cross-compiles .NET code to CUDA kernels and uses the PTask runtime [85] to manage GPU execution. This paper discusses the design and implementation of Dandelion, focusing on the distributed CPU and GPU implementation. We evaluate the system using a diverse set of workloads.
Subfields: Computer Vision and Pattern Recognition, Hardware and Architecture, Information Systems, ML Systems & Hardware
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computer Vision and Pattern Recognition
In Hardware and Architecture
In Information Systems
- Blesson Varghese
- Mosharaf Chowdhury
- Ion Stoica
- Rajkumar Buyya
- Anton Beloglazov
- Rodrigo Neves Calheiros
- R. Ranjan
- Cheol-Ho Hong
In ML Systems & Hardware
Citations in the corpus
- TensorFlow: A system for large-scale machine learning (2016, neutral): “Dandelion extends DryadLINQ to support generating code for GPUs [63] and FPGAs [16].”
- Next generation cloud computing: New trends and research directions (2017, background): “There are a number of efforts in this direction, but the key challenge is achieving a high-level abstraction that can be employed across multiple architectures, such as GPUs, FPGAs and Phis [26, 27, 28, 29].”
- Efficient Coflow Scheduling Without Prior Knowledge (2015, background): “Note that coflows in different branches of a DAG can be un- Pseudocode 2 Coflow ID Generation 1: NextCoflowID = 0 .”