任务流:一个轻量级的并行异构任务图计算系统
Taskflow: A Lightweight Parallel and Heterogeneous Task Graph Computing System
摘要:
任务流旨在使用基于轻量级任务图的方法简化并行和异构应用程序的构建。任务流引入了一个具有表达能力的任务图编程模型,以帮助开发人员在异构计算平台上实现并行和异构分解策略。我们的编程模型区分自己作为一个非常一般的类的任务图并行与图中的控制流,使端到端的并行优化。为了支持我们的模型具有高性能,我们设计了一个高效的系统运行时,解决了我们的模型中出现的许多新的调度挑战,并优化了延迟,能源效率和吞吐量的性能。我们已经证明了在现实世界中的应用程序的任务流有前途的性能。例如,Taskflow解决大规模机器学习工作负载的速度比工业系统oneTBB快29%,内存少1.5倍,吞吐量高1.9倍,机器上有40个CPU和4个GPU。我们已经开放了Taskflow的源代码,并将其部署给开源社区中的大量用户。
英文摘要:
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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。