TaskStream: accelerating task-parallel workloads by recovering program structure

TaskStream: accelerating task-parallel workloads by recovering program structure
复制标题

DOI:
10.1145/3503222.3507706
复制
发表时间:
2022-02
期刊:
Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
通讯作者:
Vidushi Dadu;Tony Nowatzki
Vidushi Dadu;Tony Nowatzki
中科院分区:
其他
文献类型:
--
作者:
Vidushi Dadu;Tony Nowatzki

文献摘要

相似文献

可重新配置的加速器,如CGRAs和Cocklowarchitecture,在解决数据处理问题方面已经变得非常突出。然而,它们在很大程度上限于具有常规并行性的工作负载,排除了它们对流行的任务并行工作负载的适用性。可重构架构和任务并行似乎是不一致的,因为前者需要重复和简单的程序结构,后者打破程序结构,创建小的,单独调度的程序单元。我们的见解是,如果任务和他们的潜在的通信结构是一流的原语在硬件中,它是可能的,以极低的开销恢复程序结构。我们提出了一个任务执行模型的加速器称为TaskStream,它注释任务的依赖关系与信息足以恢复任务间的结构。TaskStream支持工作感知的负载平衡,恢复流水线任务间的依赖关系,并通过多播恢复任务间的读取共享。我们将TaskStream应用于可重构的并行工作流架构,为任务并行工作负载创建无缝的分层并行工作流模型。我们比较我们的加速器,三角洲,一个等效的静态并行设计。总体而言,我们发现我们的执行模型可以将性能提高2.2倍,而面积开销仅为3.6%,同时减轻了管理任务分布的编程负担。
Reconfigurable accelerators, like CGRAs and dataflow architectures, have come to prominence for addressing data-processing problems. However, they are largely limited to workloads with regular parallelism, precluding their applicability to prevalent task-parallel workloads. Reconfigurable architectures and task parallelism seem to be at odds, as the former requires repetitive and simple program structure, and the latter breaks program structure to create small, individually scheduled program units. Our insight is that if tasks and their potential for communication structure are first-class primitives in the hardware, it is possible to recover program structure with extremely low overhead. We propose a task execution model for accelerators called TaskStream, which annotates task dependences with information sufficient to recover inter-task structure. TaskStream enables work-aware load balancing, recovery of pipelined inter-task dependences, and recovery of inter-task read sharing through multicasting. We apply TaskStream to a reconfigurable dataflow architecture, creating a seamless hierarchical dataflow model for task-parallel workloads. We compare our accelerator, Delta, with an equivalent static-parallel design. Overall, we find that our execution model can improve performance by 2.2× with only 3.6% area overhead, while alleviating the programming burden of managing task distribution.