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

  1. Blesson Varghese
  2. Ion Stoica
  3. Mosharaf Chowdhury
  4. Rajkumar Buyya

In Hardware and Architecture

  1. Mosharaf Chowdhury
  2. Ion Stoica
  3. Blesson Varghese
  4. Rajkumar Buyya

In Information Systems

  1. Blesson Varghese
  2. Mosharaf Chowdhury
  3. Ion Stoica
  4. Rajkumar Buyya
  5. Anton Beloglazov
  6. Rodrigo Neves Calheiros
  7. R. Ranjan
  8. Cheol-Ho Hong

In ML Systems & Hardware

  1. Ion Stoica
  2. Mosharaf Chowdhury
  3. Rajkumar Buyya

Citations in the corpus