Taskflow: A Lightweight Parallel and Heterogeneous Task Graph Computing System
Tsung-Wei Huang,Dian-Lun Lin,Chun-Xun Lin,Yibo Lin
DOI: https://doi.org/10.1109/tpds.2021.3104255
IF: 5.3
2022-06-01
IEEE Transactions on Parallel and Distributed Systems
Abstract: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.5× less memory, and 1.9× 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.
computer science, theory & methods,engineering, electrical & electronic