Taskflow: A General-Purpose Parallel and Heterogeneous Task Programming System

Tsung-Wei Huang,Dian-Lun Lin,Yibo Lin,Chun-Xun Lin
DOI: https://doi.org/10.1109/tcad.2021.3082507
2020-01-01
Abstract:Taskflow tackles the long-standing question: How can we make it easier for developers to program parallel and heterogeneous computer-aided design (CAD) applications with high performance and simultaneous high productivity? Taskflow introduces a new powerful task graph programming model to assist developers in the implementation of parallel and heterogeneous algorithms with complex control flow. We develop an efficient system runtime to solve many of the new scheduling challenges arising out of our models and optimize the performance across latency, energy efficiency, and throughput. Taskflow has demonstrated promising performance on both micro-benchmarks and real-world applications. As an example, Taskflow solved a large-scale circuit placement problem up to 17% faster, with $1.3\times $ fewer memory, $2.1\times $ less power consumption, and $2.9\times $ higher throughput than two industrial-strength systems, oneTBB and StarPU, on a machine of 40 CPUs and 4 GPUs.
What problem does this paper attempt to address?