多态自适应流体系结构
Multiple-Morphs Adaptive Stream Architecture
-
摘要: 在摩尔定律作用下, 在单芯片上可 集成的晶体管数快速增长,单芯片拥有 成百上千的运算单元不再是问题, 关键是如何给如此多的 ALU 提供足够的指令和数据。新兴的流体系结构能较好的解决这个问题。 流处理模型包括若干数据序列(流)和计算核心( kernel )。流是不间断的、连续的、移动的数据序列,序列长度可以是定长或不定长的,序列中记录(流元素)的构成可以简单或复杂。计算核心是指对输入流的每个流元素进行处理并产生输出流的小程序。数据以输入流和输出流的形式在生产计算核心和消费计算核心间传输。流体系结构充分揭示并开发了这种生产者消费者模型,将数据存取和数据计算分离,使得大量的数据预取和延迟隐藏成为可能。 研究表明媒体处理,实时图像处理,信号处理,网络处理和高性能科学计算等领域的应用,比较容易表示成对数据流进行一系列操作的计算核心,是典型的流应用。尽管这些流应用处理的数据流具有大量的数据并行,访问规则有序,一旦流过计算核心就不再被使用等公共流特征,但是经过对大量应用的分析研究,我们发现不同的应用在数据流的控制行为上体现了明显的区别。 数据流的控制行为可以分为数据相关和数据无关两种类型。数据无关的流,每一个流元素的处理是相同的,匀速通过计算核心,我们将这样的流定义为 规则流。相对应的,数据相关的流,每个流元素的处理不尽相同,非匀速通过计算核心,我们将这样的流定义为 不规则流。不规则流又分两种情况:一种,每个流元素的操作相同,但计算量不同。另一种,依数据不同产生条件选择,每个流元素的处理可能包含不同的操作。 典型的流体系结构如 Imagine,仅支持 SIMD+VLIW 的并行模式,非常适合规则流的处理,对于不规则流,则利用冗余操作或存储系统重组数据的方法来处理,浪费了计算能力或存储空间和带宽。 多种并行模式并存是较好的解决办法。目前有两种支持多种并行模式的途径,一种是 mode,一种是 modeless。前者的典型代表就是 RAW,后者包括 TRIPS. 他们都是基于 tile 的体系结构,具有极好的可扩展性,都支持多种工作负载,包括流应用。 因此也被称为流体系结构。 TRIPS 和 RAW 支持 SIMD、 MIMD 等并行模式,具有很强的通用性,但是他们的 tile 之间采用可编程动态网络互连,通讯相当复杂,为每个 tiles 配置的单独的控制单元和指令存储单元的硬件开销很大。 本文提出的多态自适应流体系结构 MASA 用 mode 的方法提供单指令流多数据流 (SIMD) 、多指令流多数据流 (MIMD) 和多计算核心多数据流 (SKMD) 三种形态的流执行方式。比较 Imagine,在硬件上我们适当增加了核心控制和运算单元的灵活性,软件可管理的存储单元。在 MIMD 和 SKMD 方式下, MASA 能够支持 Imagine 无法支持的不规则流应用。比较 TRIPS,尽管它具有更好的通用性,支持所有的数据并行方式,但是硬件复杂度极高。 MASA 较 TRIPS 降低了硬件复杂度,却保持了多种常用的执行方式。总之, MASA 以较小的复杂度代价覆盖绝大多数的数据并行应用。Abstract: In modern VLSI technology, hundreds of thousands of arithmeticunits fit on a 1cm^2 chip. The challenge is supplying themwith instructions and data. Stream architecture is able to solve theproblem well. However, the applications suited for typical streamarchitecture are limited. This paper presents the definition of regularstream and irregular stream, and then describes MASA (Multiple-morphsAdaptive Stream Architecture) prototype system which supports differentexecution models according to applications' stream characteristics.This paper first discusses MASA architecture and stream model, and thenexplores the features and advantages of MASA through mapping streamapplications to hardware. Finally MASA is evaluated by ten benchmarks.The result is encouraging.