DCAIApr 23, 2020

Taskflow: A Lightweight Parallel and Heterogeneous Task Graph Computing System

arXiv:2004.10908v4156 citationsHas Code
Originality Incremental advance
AI Analysis

This system addresses the problem of efficient parallel and heterogeneous computing for developers, offering incremental improvements over existing industrial systems like oneTBB.

Taskflow tackled the challenge of building parallel and heterogeneous applications by introducing a lightweight task graph computing system, resulting in up to 29% faster execution, 1.5x less memory usage, and 1.9x higher throughput compared to oneTBB on a 40 CPU and 4 GPU machine.

Taskflow aims to streamline the building of parallel and heterogeneous applications using a lightweight task graph-based approach. Taskflow introduces an expressive task graph programming model to assist developers in the implementation of parallel and heterogeneous decomposition strategies on a heterogeneous computing platform. Our programming model distinguishes itself as a very general class of task graph parallelism with in-graph control flow to enable end-to-end parallel optimization. To support our model with high performance, we design an efficient system runtime that solves many of the new scheduling challenges arising out of our models and optimizes the performance across latency, energy efficiency, and throughput. We have demonstrated the promising performance of Taskflow in real-world applications. As an example, Taskflow solves a large-scale machine learning workload up to 29% faster, 1.5x less memory, and 1.9x higher throughput than the industrial system, oneTBB, on a machine of 40 CPUs and 4 GPUs. We have opened the source of Taskflow and deployed it to large numbers of users in the open-source community.

Code Implementations3 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes