




已阅读5页,还剩59页未读, 继续免费阅读
(计算机系统结构专业论文)流处理器体系结构上的并行编程模型实验研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
流处理器体系结构上的并行编程模型实验研究 摘要 流体系结构是近年来提出的一种源于媒体处理的高性能体系结构。这种结 构针对流媒体应用的计算、访存和通信特征,采用大规模的运算阵列和多级存 储体系结构,通过显式管理片上数据移动来隐藏访存和通信延迟,大幅度提高 计算效率,但需要采用流编程模型实现串行程序的流并行处理。这种结构及其 编程模型是否适用于其它的数据并行类应用领域,如科学计算,数字信号处理, 网络安全等,是当前国际上热点的研究问题。 本文通过对各种数据并行类应用在流体系结构下的并行化技术的研究,对 并行化的效果进行分析评估,系统地总结了流编程模型的特征及其适用性。 具体的研究内容和成果包括以下几个方面:( 1 ) 对流体系结构进行了全面 的研究,包括流处理的基本思想、核心级与流级硬件结构、流程序设计模型和 编译技术,以及应用流化技术。( 2 ) 以i m a i g n e 流处理器模拟器i s i m 为实验平 台,实现了媒体应用j p e g 编码程序在流体系结构上的映射,详细剖析了该应 用在两级流编程模型下的并行程序设计过程,包括流数据的组织、核心计算程 序的划分以及具体实现。提出流级和核心级的程序优化方案,并给出优化前后 的性能比较。( 3 ) 从其它几种数据并行类应用中,选取了快速傅立叶变换f f t ( 数字信号处理) 、l u 矩阵分解( 科学计算) 、高级加密算法r j j m a d ( 网络安 全) ,实现了这些程序在流处理器上的流并行化处理;分析了这类应用的控制 和访存行为;归纳和总结了数据并行类应用的流并行程序设计方法。( 4 ) 通过 对数据并行类应用流程序的性能评测,与传统高性能处理器和专用处理器进行 比较,给出了流体系结构的应用适用性分析。 实验结果表明,流体系结构能够很好地适用媒体、信号处理、许多重要的 科学计算和网络安全应用领域。但为了更好地适应更广泛的数据并行类应用, 需要在体系结构模型和编程模型进行多方面的改进,本文的实验研究工作为分 布式的流体系结构设计提供了依据。 关键词:流体系结构,流编程模型,流应用,数据并行 ! 里型兰垫查查兰堡主堂垡丝苎 a b s t r a c t t h es t r e a ma r c h i t e c t u r ei sa l li n n o v a t i v eh i g hp e r f o r m a n c ea r c h i t e c t u r ef o c u s i n g 0 1 1m e d i aa p p l i c a t i o n , p r o v i d e sm u l t i p l e l e v e lb a n d w i d t hh i e r a r c h ya n dm a n ya l u a r r a y s s t r e a mp r o g r a m m i n gm o d e le x p o s e st h ep a r a l l e s i ma n dl o c a l i t yo f d a t a - l e v e l a p p l i c a t i o n r e s e a r c hs h o w st h a t t h ep r o g r a m m a b l es t r e a mp r o c e s s o rw i t hs i m p l e i n s t r u c t i o nc o n t r o la n ds t o r a g ec o m m u n i c a t i o nc h a n n e l s ,c a r la c h i e v eh i g hc o m p u r i n gp e r f o r m a n c e ,w h i c hi sc o m p a r a b l et os p e c i a lp r o c e s s o r h o w e v e rt h er e s e a r c h w h e t h e rt h eo t h e rf i e l d so fd a t a - p a r a l l e lp r o g r a m s ( d s p ,s c i e n t i f i cc o m p u t a t i o n , n e t w o r ks e c u r i t y ) i ss u i t a b l et os t r e a ma r c h i t e c t u r ei st h eh o t s p o tn o w a d a y s t h i sp a p e rr e s e a r c h st h et e c h n o l o g i e so fm a p p i n gd a t a - p a r a l l e la p p l i c a t i o n so n t h es t r e a ma r c h i t e c t u r e ,a n de v a l u a t e st h es p e e d u pp e r f o r m a n c eo fp a r a l l e le f f e c t , t h e ng i v eao v e r a l ls u m m a r yo ft h ec h a r a c t e r sa n da p p l i c a b i l i t yo fs t r e a m p r o g r a m m i n g m o d e l t h er e s e a r c hc o n t e n ta n da c h i e v e m e n to ft h i st h e s i si n c l u d et h ef o l l o w i n g a s p e c t s :( 1 ) t h es t r e a ma r c h i t e c t u r ei sd e e p l yi n v e s t i g a t e d ,i n c l u d i n gs t r e a mp r o e e s s i n gc h a r a c t e r i s t i c s ,s t r e a mp r o g r a m m i n gm o d e l ,t h ek e r n e l - l e v e lh a r d w a r ea r c h i t e c t u r ea n ds t r e a m - l e v e lh a r d w a r ea r c h i t e c t u r e ,s p e c i a lm e c h a n i s mo fs t r e a md a t a o r g a n i z a t i o n ( 2 ) b a s e do nt h ei m a g i n ec y c l e - a c c u r a t es i m u l a t o ri s i m t h i sp a p e r e x p l o i t sj p e gc o d e i n go ns t r e a mp r o c e s s o r , e x p l a i n s t h ep r o c e s so fm a p p i n g a p p l i c a t i o ni ns t r e a mm o d e ld e t a i l e d ( 3 ) t h r e eo t h e rr e p r e s e n t a t i v ea p p l i c a t i o n sa r e c h o s ef r o md a t a - p a r a l l e la p p l i c a t i o n s ,h a v eb e e nm a p p e dt os t r e a mp r o c e s s o r t h e t e c h n i q u e sa n dm e t h o d so fs t r e a mp r o g r a md e s i g n i n ga r es u m m a r i z e d ( 4 ) t h e a p p l i c a b i l i t yo ft h es t r e a m a r c h i t e c t u r ei se v a l u a t e db a s e do nt h ee x p e r i m e n t a l r e s u l t s e x p e r i m e n tr e s u l t ss h o w st h a ts t r e a ma r c h i t e c t u r eh a sg r e a tp o t e n t i a lt oa c h i e v e h i 曲p e r f o r m a n c ef o ri n t e n s i v ec o m p u t i n gd o m a i n ,s u c ha sm u l t i m e d i a , d i g i t a ls i g n a l p r o c e s s ,s o m eo fs c i e n t i f i cc o m p u t i n ga n dn e t w o r ks e c u r i t y h o w e v e r , i no r d e rt o a c c e l e r a t eb r o a d e rd a t a - p a r a l l e lp r o g r a m s ,t h es t r e a mp r o g r a m m i n gm o d e la n d a r c h i t e c t u r ec o u l db ei m p r o v e di ns o m ea s p e c t k e y w o r d s :s t r e a ma r c h i t e c t u r e ;s t r e a mp r o g r a m m i n gm o d e l ;s t r e a ma p p l i c a t i o n ; d a t a - p a r a l l e l 中国科学技术大学硕士学位论文 图目录 图卜1 向量处理器v i m m 结构图5 图1 - 2r a m 处理器结构图6 图1 - 3e e l1 处理器结构。:7 图1 - 4 流处理器m e r r i m e c 结构图8 图1 - 5 几种典型流体系结构的并行处理粒度l l 图2 1i m a g i n e 流处理器结构图1 5 图2 - 2 流编程模型1 8 图2 - 3 流指令格式2 0 图2 - 4v i l w 指令字格式2 l 图2 - 5 两级流编译过程2 2 图2 - 6i m a g i n e 模拟器软件系统2 3 图3 - 1j p e g 编解码流程。2 4 图3 - 2j p e g 编码中的数据流组织2 6 图3 - 3j p e c 编码的流程序模型。2 6 图3 - 4c o l o r 中数据流的组织及伪代码2 8 图3 58 元素t h e n w a n g 算法流程2 9 图3 - 6 索引流实现z 字型扫描3 0 图3 - 7 两种实现z 扫描方法开销比较3 l 图3 - 8 循环展开对核心级程序的优化3 2 图4 - 18 个数据的蝶形f f t 变换3 6 图4 - 2f f t 变换的流程序结构3 7 图4 - 3l u 矩阵分解中对数据的访问轨迹3 9 图4 - 4r i j n d a e l 加密算法单轮流程图:4 0 图4 - 5k e r n e l 程序中的控制行为4 2 图4 - 6i fe l s e 分支的处理机制4 6 图5 - 1 流化前后j p e o 编码运行时间百分比4 8 图5 - 2 基准程序对三级带宽的使用情况5 0 图5 - 3 循环展开前后的功能单元占用率 v i 流处理器体系结构上的并行编程模型实验研究 表目录 表1 - 1 现有高性能处理器性能效率( 基于0 1 3 u m ,1 - 2 v ) 2 表2 - 1 流处理与向量处理的区别1 5 表3 1r l e 编码中的流水线技术3 0 表3 - 2s t r i p m i n g 执行过程3 2 表4 - 1 基准核心程序特征4 3 表4 - 2 基准核心程序中通讯指令所占比例“ 表5 - 1j p e g 核心函数和应用的加速比 4 8 表5 2i m a g i n e 和专用处理器的性能比较。4 9 表5 - 3j p e g 编码中所有核心程序的性能统计。5 0 表5 - 4 基准核心程序加速比5 l v i i 中国科学技术大学学位论文相关声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究 工作所取得的成果。除已特别加以标注和致谢的地方外,论文中 不包含任何他人已经发表或撰写过的研究成果。与我一同工作的 同志对本研究所做的贡献均已在论文中作了明确的说明。 本人授权中国科学技术大学拥有学位论文的部分使用权, 即:学校有权按有关规定向国家有关部门或机构送交论文的复印 件和电子版,允许论文被查阅和借阅,可以将学位论文编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、 汇编学位论文。 保密的学位论文在解密后也遵守此规定。 辩纠小9 作者签名:量遮璺 砷年舌月夕日 流处理器体系结构上的并行编程模型实验研究 1 1 课题的研究背景 第1 章绪论 随着科学技术的进步和社会的发展,人们对计算性能的追求永无止境。在数 字信号处理、科学计算、网络和安全、以及实时的多媒体处理等众多领域,数据 级并行( d a t a - l e v e lp a r a l l e l ,d l p ) 应用正成为微处理器的主要负载 1 。数据并行 负载的主要特征是:( 1 ) 大量数据元素的处理过程之间没有依赖关系,数据并 行性很高。( 2 ) 对每个数据元素往往要连续实施多种运算,计算密集,操作规 则。具有很高的计算访存比,大约能达到5 0 - - - 5 0 0 :1 的水平。( 3 ) 通常要求实时 处理能力。( 4 ) 存储访问和i 0 密集,数据访问具有很好的生产者一消费者局 部性( 体现在计算流水线的不同阶段中,即一个核心程序生产出的数据被另外一 个计算核心程序所消费,且不会再被生产数据的计算核心程序使用) 和空间局部 性( 即数据访问模式比较规则,通常表现为对大数据块的相邻访问和跨距访问) , 但时间局部性很差( 即数据重用性极低) 。( 5 ) 与数据访问的延迟相比,更强 调高带宽的数据访问。 现有的用于数据级并行应用的处理器,如通用处理器、d s p 、向量微处理器、 专用处理器,都存在各自的局限性,通用微处理器通过深度流水和高时钟频率来 提高性能,并不能很好的开发媒体处理的数据并行性。此外数据重用局部性通常 被小容量的一级c a c h e 所捕获,而数据并行类应用中的生产者消费者局部性则不 易被传统的存储层次所利用。最后也是最为本质的问题,它的计算单元极其匮乏。 向量处理器执行向量指令挖掘数据的并行性,但存储带宽设计不能满足媒体应用 需求,访存延迟太大。而专用处理器可编程性较差,应用范围狭窄。比较而言, 在s p e c i n t 2 0 0 0 测试平台上,传统的桌面应用的算术运算只占2 5 0 ,而访存指 令占1 5 8 0 ,这些差别说明为桌面整数运算设计的体系结构( 例如通用微处理 器) 并不适合数据并行类应用。 1 2 传统的数据并行应用处理器 随着v l s i 技术的发展和应用需求的提高,体系结构研究人员面临的问题是 如何发展新的体系结构技术来有效利用这些丰富而廉价的资源,在芯片上提供更 大规模的高效计算能力。本节介绍了用于数据并行类应用的传统高性能微处理器 的性能利用率和能量利用率。性能利用率高意味着每个单位面积利用较好,即用 相同的面积实现更高性能的功能单元。能量利用率高意味着相同的能量能够支撑 中国科学技术大学硕士学位论文 更多的计算。高的面积利用率使得成本低、工艺上更方便( 两者对嵌入式系统很 重要) ,高的能量利用率使得执行一个固定的任务,较少的能量被耗费,这两个 指标比用时钟频率衡量的性能更有意义。在这部分,我们将通过有关性能与效率 的数据,介绍我们对专用处理器以及可编程处理器的研究。 表1 1 【2 】显示了各种专用处理器与可编程处理器的能量利用率。所有处理器 都使用0 1 3 u r n ,1 2 w 的技术。能量利用率以每个算术运算为单位,并假设处在 最高性能且功耗最大的情况下。虽然大多数处理器往往只能达到最高性能的一定 比例,但它们实际情况的数据并不容易获得,所以这里只考虑峰值的情况。 表1 - 1 现有高性能处理器性能效率( 基于0 1 3 u r n ,1 2 v ) 1 2 1 通用微处理器 表1 1 的第4 ,5 行包括两个微处理器,一个是3 0 8 g h z 的i n t e l 奔腾4 ,另一 个是s i b y t e 的s b 1 2 5 0 1 3 ,s b 1 2 5 0 包含两个片内s b 1 的c p u 核。奔腾4 由于 采用了深度流水线且具有很高的时钟频率,具有很高的性能:而s i b y t e 处理器 通过使用低功耗技术,提高了能量利用率,与其他低功耗处理器相比( 如 x s e a l e 【4 1 ) 不相上下。这些处理器具有典型性:在o 1 3 微米的工艺下,平均每条 指令耗费5 0 0 p j 。 由于深度流水、大量的面积和能量被控制结构所占据以及大容量的全局存储 器( 例如c a c h e 的使用,微处理器的利用率要比专用处理器低得多。例如,只有 2 流处理器体系结构上的并行编程模型实验研究 少于1 5 的奔腾3 基片面积用于运算单元。此外,奔腾4 为了获得高性能以牺 牲能量利用率为代价,采用了段数多于2 0 的流水栈,且需要高频率的时钟,大 的分支预测,和投机推测( s p e c u l a t i v e ) 硬件。s i b y t e 处理器为了能量利用率限制了 流水线段数。但仍旧是建立在采用全部寄存器文件与通过存储层次进行通信的体 系结构之上。采用c a c h e 并不有利于挖掘生产者一消费者的局域性,而是针对时 间局域性原理与空间局域性原理,来减少访存延迟。 除了控制结构、流水线,c a c h e 的效率低,现存的微处理器还无法利用流应 用的计算密集性与并行性。单一的多端口的寄存器文件无法有效扩展以适应数十 个运算单元,限制了计算密集性与并行性的挖掘。此外,微处理器更有利于挖掘 i l l ) , 而对d l p 则利用的较少。近来微处理器己经努力通过扩展指令集的s i m d 功 能来开发d l p ,以达到更高性能和克服寄存器文件的扩展性能差,比如v i s , m a x - 2 ,a l t i v e c ,s s e 5 1 ,m m x 6 等多媒体扩展指令集。然而,其挖掘的并 行性仍然受限于s i m d 运算单元( 典型的只有少于4 个的并行运算单元) ,这意味 着每条s i m d 指令在数据并行类应用中只能挖掘较少部分的d l p 。 1 2 2 高性能专用处理器 专用处理器或称为固定功能的处理器,直接把一个应用的数据流图映射到硬 件上,并因此挖掘出了流应用的重要特征。它包括大量并行执行的计算单元,显 现出数据并行类应用的计算密集性与并行性。这些计算模块通过专用线以及存储 器进行互连,体现出生产者与消费者的局域性。在计算单元附近使用专用线与存 储器使得面积利用率与能量利用率非常高,因为它减少了片内信号传输的距离与 对多端口大容量全局存储器的访存次数。这使得大部分的基片面积与能量分配给 计算单元而不是控制与通信结构。 两种专用图形图像处理器的能量利用率列于表的第2 ,3 行:一个多边形着色 芯片n v i d i ao e f o r c e 3 和m p e g 4 视频解码器。正如我们看到的,在可编程处理器 与专用处理器中,效率存有巨大的鸿沟。但专用处理器的的应用面太窄。 1 2 3d s p 与可编程微处理器 d s p 列于表1 1 第6 ,7 行。第一个d s p t ic 6 7 x 7 1 ,适用浮点运算,采用 8 路超长指令字,主频为2 2 5 m h z ,每条指令耗费8 8 9 p j 。另一个是为低精度定 点运算而设计的d s p 1 r ic 6 4 x 8 1 。8 路超长指令字,主频6 0 0 m h z ,比前者和微 处理器的能量利用率都要高( 每1 6 b 的操作耗费j s o p j ) 。这归功于运算单元对低 中国科学技术大学硕士学位论文 精度定点操作的优化以及c 6 4 x 的s i m d 的扩展。除了c 6 xd s p ,还有其他一些 v l i w 的d s p 与媒体处理器能获得同样的能量利用率,例如a n a l o g t i g e r s h a r c 9 ,t r i m e d i a 1 0 ,t h es t a r c o r ed s p i i 等超长指令字结构的d s p 。 d s p 、可编程媒体处理器和专用处理器比微处理器的能量利用率要高,因为 他们的流水线段数较少,且不做分支预测,然而v l i wd s p 的体系结构不适合 扩展到每个处理器有几十个a l u 的程度,因为v l i w 与超标量微体系结构仍旧 依靠全局寄存器文件与控制结构。与微处理器类似,他们也通过扩展s i m d 开发 了i l p 和少部分的d l p 。结果,与通用微处理器相比,他们的能量利用率与面 积利用率都较高但比专用处理器要差得多。 可见,有相当广泛的处理器能用于流应用,专用处理器虽不灵活,但却适合 于v l s i 的技术以及数据并行类应用的特点。可编程处理器和通用处理器拥有灵 活性,但与专用处理器相比,效率差距较大。下一部分将介绍流体系结构,这是 一种填补该鸿沟的方法。 1 3 新型流体系结构研究现状 国际上正积极开展新型体系结构的研究,涌现出i m a g i n e m c r r i m a c 1 2 1 6 、 r a w 1 3 、v i r a m 1 4 和t m p s 1 5 等多种面向l o 亿只以上晶体管的新型体系结 构,由于这些体系结构拥有面向计算密集型应用、处理大量数据流的共同特点, 因此2 0 0 3 年在美国麻省理工学院召开的2 0 0 3w o r k s h o po ns t r e a m i n gs y s t e m s 会 议上,将它们统归为流体系结构。其应用背景最早来自媒体处理,现在已经扩展 到信号处理、科学计算、网络安全等数据并行类应用的众多领域。研究表明,适 应v l s i 技术发体系结构应该具有以下特征: 拥有大量本地寄存器,并提供许多简单廉价的计算单元。 相对简单的指令流出逻辑; 分解数据的执行和l o a d s t o r e ,配合延迟隐藏以节省访存开销; 高效的互联,保证对a l u 簇的数据带宽 可大规模并行化的计算资源; 巨大的后备存储。 新型流体系结构符合这些特征,能够较好的解决现有高性能处理器体系结构 面i 临的难题,是极具发展前景的体系结构。流的优点是数据访问方式规则,易于 分离计算和数据存取,便于局域化。典型的流应用包括媒体处理、信号处理等, 这些应用在流处理器上获得的高性能甚至可以和专用处理器相比,而且流处理器 灵活可编程。下面介绍国际上具有代表性的几种流体系结构及其编程模型。 4 流处理器体系结构上的并行编程模型实验研究 1 3 1 向量处理器v i r a m 体系结构 2 0 0 3 年6 月投片的v i r a m 是u c b e r k e l e y 分校的d a v ep a t t e r s o n 等开发的 一种用于媒体处理的向量芯片。v i r a m 主要针对处理器性能不断增强,相应对 存储系统的带宽和延迟要求提高。而目前片外访存的通信代价大、速度慢,使得 存储系统成为瓶颈的问题。其目标是充分利用现有的v i s l 的集成能力,通过向 量和片上d r a m 技术的结合,获得更高的带宽、更短的延迟和更低的功耗。 s 口l 缸u n ;t v e d o r u 疵 1 - 。:i :离;弩带 h f ; f i k p mh _ s i ; 熊 钼。”降 1 v 趔c c f o f g e s t u ,r a l 3 一 , 点,t”: l 离 。d a t 。a 臣 0 壶:i : ti 1向量处理器viram结构图am的主要思想是尝试将向量处理器和dram存储器(13m)都做到片上从而消除片外访存并减少访问层次。对于大多数面向lo亿晶体管级的体系构来说,其上面的大部分晶体管都用作cache,cache仅仅是保存了一份数据 的冗余拷贝。与此不同的是viram可以像使用主存一样使用片上的dram存 储器,因此cache可以被替代。这是一种更高效的解决方案。当然片内的访问延迟比sdram长,viram使用延迟流水线隐藏全部延迟,图11是viram的单片体系结构。 viram的向量工作部件由四个相同的lane组成(可以扩展成更多的ne, 增强计算能力),每个lane可以看成完整的64位向量流处理器,存理部件 从dram中取256位的数据送到lane中,以simd方式执行。vira程序执 行模型需要编译器的自动向支持。 3 2t i 1 e 体系结构的代表:r a w 和i p sm i t 大学的r a w 体系结构是t i l e 体系结构的典型代表,一个r 中国科学技术大学硕士学位论文 由1 6 个可编程的t i l e 组成。每个t i l e 都有其单独的微处理器、数据c a c h e 、存 储器以及连接各个t i l e s 的互连网络接口,其结构如图卜2 。 r a w 适合于线程级并行,分空间执行,把底层的物理资源如门、线、引脚 作为体系结构的实体暴露给程序员,这可使得程序员面对线延迟,更好的安排程 序从而获得最佳性能,较好的解决线延迟问题。 图卜2r a m 处理器结构图 t e x a s 大学提出的万亿次运算可靠智能自适应的处理系统t r i p s ,是一种面 向2 0 1 0 年的通用型体系结构,采用网格并行处理、片内的传感系统实现多态系 统,硬件通过自身配置来支持不同的并发粒度,实现数据级、指令级、线程级并 行。实质上是一种可重构的t i l e 阵列,不过编译和操作系统的任务是全新的, 非常复杂。 尽管d l p 的大多数代码都是比较规则的,但是在有一些工作负载,特别是图 像和嵌入式领域,已经越来越不规则,其包含大量的控制流。编译器可以将多个 数据流的处理流水映射到一组处理单元上,从而可以有效的利用局部通信和数据 流驱动的执行。通过在t r i p s 上增加一小部分通用的硬件,就可以使得类t r i p s 的处理器在很广泛的d l p 领域内都获得很好的性能,如网络处理,密码技术,信 号处理,科学和图像处理。 1 3 3c e l l 处理器及其编程模型 c e l l 高性能处理器由i b m 、索尼和东芝三家国际顶尖厂商从2 0 0 1 年联合研 发,2 0 0 5 年初首次公布。c e l l 处理器是典型的异构多核处理器,如图所示,它 由1 个6 4 位p o w e r p c 处理器核( p p e ) 和8 个s i m d 型向量协处理器核( s p e ) 构 成。片内通信采用总线结构,用高带宽的环状高速总线( e i b ) 将各个处理器核、 存储器接口控制器( m i c ) 、i o 接口控制器连接起来。 6 流处理器体系结构上的并行编程模型实验研究 图卜3c e l l 处理器结构 c e l l 的异构处理器核之间有明确的分工 1 7 :p p e 负责执行操作系统并控制 s p e ,s p e 完成主要的计算任务。s p e 内配置了1 2 8 个1 2 8 位的寄存器,用2 5 6 k b 的s r a m 作为局部存储器。s p e 通过消除存操作的地址转换、硬件管理的缓存 ( c a c h e ) 、乱序指令发射和分支预测来获得高性能。当然,这就要求在编程和编 译过程中尽可能地挖掘向量操作,并且减少分支,以便充分发挥其性能。s p e 的 流水线调度规则比较简单,这样有利于静态分析其执行代码的性能。也有利于编 译器进行高质量的静态指令调度。 c e l l 处理器的运行模式非常灵活,p p e 和s p e 之间也可以通信和协同,s p e 之间也可以通信和协同。这一特点在对于编程模型的支持上得到充分体现。c e l l 处理器支持的编程模型相当丰富,包括远程过程调用( r p c ) 模型、设备扩展模 型、计算加速模型,流模型、共享存储多处理器模型、非对称线程、用户模式线 程模型和s p e 插件模型。 在流编程模型下,数据以流的模式流经多个s p e ,在一个s p e 上处理完的 数据经过高速e i b 总线传递给下一个s p e 进行处理。这种模式下适合流应用, 如信号、图像处理等。从应用的角度看,每个s p e 和p p e 可以看成独立的处理 器,有各自独立的存储空间,c e l l 中的高速d m a 传输能有效地在2 个s p e 的局 部存储器之间或者局部存储器与系统存储之间传递消息,因此可以把c e l l 看成 是一个紧耦合的、但节点存储器容量有限的集群( c l u s t e r ) 系统,消息传递编程 模型可以较自然地影射到c e l l 上去。 1 3 4i m a g i n e 和m e r r i m a c 流处理器及其编程模 2 0 0 2 年4 月投片成功的i m a g i n e 是斯坦福大学的w j d a l l y 教授领导开发的 流体系结构( s t r e a ma r c h i t e c t u r e ) 原型芯片,其体系结构如图1 5 。它主要针对 现代v l s i 工艺条件下,片外通信昂贵、片内运算单元相对廉价、大部分片上面 7 中国科学技术大学硕士学位论文 积被通信管理等单元占据使得计算能力未被充分利用等问题,目标是通过开发符 合流应用特点的流式处理程序和三级带宽的存储层次来减少对片外存储器的访 问,充分利用片内运算能力,并且在一定程度上避免长线延迟问题。i m a g i n e 具 体硬件结构和其结构上的编程模型及语言在第二章详细介绍。 通用处理嚣核f 通用处理器核 m i p s 6 42 0 k cm i p s 6 42 0 k c me mor yb a n k 一“ me m o r yb a n kf 望 m e m o r yb a n kf 葛 。_ 墨 me m o r yb a n ki 誊 me 1 1 1o r yb a n kf = me m o r yb a n k 芸 me m or yb a n k 聋 - - - - - 。- - - - - - - - - - - - - - - - - - - 。j m e m o r yb a l l k k k 图圈图图 圆圈园囤 亟巫亟蟹 图囤圈图 圆圆圈因 图卜4 流处理器m e r r i m e c 结构图 在i m a g i n e 基础上,面向科学计算应用领域,斯坦福( s t a n f o r d ) 大学目前正 在进行m e r r i m a e 1 7 流超级计算机项目,m e r r i m a c 流处理器是典型的异构多处理 器,如图1 5 所示。它集成了2 个通用处理器核m i p s 6 42 0 k c ( 一个用作自校验, 2 个核在功能上可以看作1 个) 用作处理标量操作,还集成了1 6 个称为计算簇 ( c l u s t e r ) 的处理器。每个计算簇上包含4 个6 4 位的浮点乘加单元,7 6 8 个“ 位寄存器以及8 k 字的流寄存器文件( s r f ) 。芯片中的微控制器以超长指令字指 令控制1 6 个计算簇以s i m d 方式同时工作。设计预期该流处理器的双精度浮点 计算速度可以达到1 2 8 g f l o p s 。 同c e l l 处理器相比,m e r r i m a c 流处理器所支持的编程模型没有那么丰富。因 为流处理器中的计算簇( c l u s t e r ) 是非常精简的处理器核,只包含几组功能部件。 1 6 个核与一个微控制器组织成s 1 m d 并行多核结构,微控制器用超长指令字 ( v l i w ) 控制1 6 个核的执行,v i l w 中包含了1 6 个共享的取指段、译码段和 控制逻辑。1 6 个核执行相同的指令序列,只是处理的数据不同。每个核之间并 不完全独立,各个核可以在程序的控制下进行通信。每个核内部有多个功能部件, 每个功能部件内部都有一条执行流水线,并且各条流水线的延迟不同。整个流处 理器的运行模式单一,由标量处理器核发送流指令来为所有的计算簇准备数据、 加载驱动计算簇执行的超长指令字代码和启动计算簇的执行。 8 sj盘苫n嚣口g蒸 oq罐-旦i譬;震q 流处理器体系结构上的并行编程模型实验研究 m e r r i m a e 流处理器的这种设计面向适用于流应用的编程模型,目标是面向流 计算获得高性能。在流编程模型中,数据按流的方式组织,数据流经s r f ( 流寄 存器文件) 的过程中被多个计算簇并行处理。为了使用户更好的使用流编程模型。 m e r f i m a e 设计了专门的流编程语言呻r o o k 。目前提出了b r o o k c ( c 语言扩展) 和b r o o k t r a n ( f o r t r a n 语言的扩展) 的语言规范。用户可利用b r o o k 流编程语言 提供的指导命令,在程序中显示指定哪些程序段在哪部分处理器核上执行,在编 译过程中,对面向不同处理器核的程序段分别进行编译。 1 3 5m a s a 流处理器及其编程模型 m a s a 1 7 是国防科学技术大学m a s a 小组开发的一款面向s o p c 的多维可扩 展流处理器,在i m a g i n e 流处理器的基础上作了一系列的改进。具有如下优势: ( 1 ) 单片扩展的维度除了运算簇簇间和簇内之外,增加了一个维度c o r e 的扩展,在这个维度上,功耗资源将随g o r e 的数量线性增长,并且不会增加对 应用数据行性的要求。这三个维度将形成有利互补,增加可扩展性。 ( 2 ) 可支持多种并行模式和异构核扩展给应用较多的可适应性。扩展后的 流体系结构可以支持不同并行需求的应用,以及除了带有明显流特征还有其它工 作负载特征的应用。 ( 3 ) 进一步缓解对应用计算密集的阈值要求。多个流处理核,每个可以执 行不同的核心程序,原来需要一个核心程序承担的计算量由多个核心程序分享, 这样可以缓解s i m d 执行模式下对一个核心程序的计算密集要求,降低对应用需 求门槛。 ( 4 ) 容错功能。同一任务可以在多个流处理器核上执行,以达到容错的效 果。 ( 5 ) 多核芯片的优势。比较s n i p 系统,c o r e 之间的互连带宽将超过1 0 0 t b s , c o r e 问通讯延迟约为2 0 c y c l e s ,而s m p 系统共享主存带宽只有约4 0 g b s ,通过 主存通讯需要4 0 0 c y c l e s 。多核集成在片上,也减少片外引脚的消耗。 m a s a 处理器采用i m a g i n e 结构上的编程语言s t r e a m c 和k e m e l c ,在第二章 中会详细介绍。 1 3 6 几种流体系结构的比较 上述几种新型的体系结构代表了当前大规模数据并行计算的高速超微体系 9 中国科学技术大学硕士学位论文 结构的前沿方向,有其相似的地方,因此归为流体系结构。在硬件上拥有大量本 地寄存器,并提供许多简单廉价快速的计算单元、相对简单的指令流出逻辑和多 级存储层次等。但是这几种体系结构之问存在不少差异,主要有: ( 1 ) 程序执行模型不同 应用的多样性以及性能需求都要求处理器的设计更为专业化,避免应用与处 理器契合度不同而造成性能大幅度震荡,在1 2 节详细讨论的传统处理器的不足 和流应用的需求也反映了这一点。 v i r a m 、c e l l 、i m a i g n e m e r r i m a c 和m a s a 都属于异构多核结构,芯片上包 括多个处理核,每个有效针对一种类型的工作。他们或者是主从程序执行模型, 如标量处理( 主) + 向量处理,流处理( 从) ,或者是多级程序执行模型,如一级 开发t l p ( 线程级并行) ,二级开发d l p ,三级开发i l p ( 指令级并行) 。而同构 多核是在一个芯片上构造一个或多个相似的处理器,r a m 和t r i p s 就属于这一 类。但r a m 是单一的程序执行模型,超细粒度t l p ;而t r i p s 是多种程序执行 模型,i l p d l p t l p 。 ( 2 ) 并行性的开发重点 目前有两种支持多种并行模式的途径【1 3 】【1 8 】,一种如r a w ,对所有的并行 采用统最小的硬件集合来实现;一种如t 魁p s ,对不同的并行采用不同的硬 件集合来完成。t i l e 的体系结构,属于c m p 。它们都是基于t i l e 的结构,属于 c m p 。 图1 - 6 显示几种典型的流体系结构,一个重要的区别在于它们的并行粒度。 左边的两类处理器v i r a m 和i m a g i n e 都是以s i m d 方式工作,但v i r a m 的数 据并行粒度是字( w o r d ) 而i m a g i n e 的数据并行粒度为记录( r e c o r d ) ,i m a g i n e 集成了d l p 和i l p 。右边两类处理器分别是r a w 和嘲p s ,都支持多类并行, 具有很强的通用性,支持多种工作负载( 包括流应用) 。左边一类的体系结构对 具有典型流特征的应用提供高性能,但通用性不强。不适用于控制相关、不规则 流访问。右边一类体系结构为保证通用性,在t i l e 之间使用可编程静态或动态网 络,互联和通讯都相当复杂,硬件软件复杂性较高。简而言之,图中从左至右, 分割成t i l e 结构,能支持更多任务级并行;从右至左,支持并行模式变少,复 杂性变低;由上至下,节点粒度变大,有效适应更多的应用,具有更强通用性。 ( 3 ) 片上存储器的组织和使用 片上存储器作为距离计算单元最近的一级存储器,速度与计算单元匹配,在 密集型计算处理器中的作用尤为重要。 l o 流处理器体系结构上的并行编程模型实验研究 v 姒m 的实现,验证了向量+ 嵌入式d r a m 的微体系结构在嵌入式流应用 中是可行的。不仅高存储带宽更容易转化为高性能,还可以降低功耗。问题在于 采用延迟流水线的方法,导致时钟频率难以提高。采用像主存一样的片内存储器 还带来一个潜在的升级问题,因为当芯片制造完成以后就没有办法再增加更多的 片内存储器了。i m a g i n e 、r a w 和t r i p s 都采用分布式的寄存器文件作为片上 存储器。不同的是i m a g i n e 进一步划分了寄存器的存储层次,更充分的利用了 流应用数据重用少、按序流动的特点。 l l i “,v i w y “t 口 l l ? x d :”:x ; l 石) 石f x 髓 0 a 的0 拶l 定0 0 石鳓 l o o o o i 蟛西爻踅砭;篁辩 i 劭0 0 0 硒e n 晒o ( ) 0 l “、t i 、l 、 1 0 k 口口0 0 0 a 口口 d 口d g 0 0 d 口 d 口d 毋口口口口 口d 口口口口口口 口口0 q 口o d 口 图圜 网网 j 孳 i j “- w r d o o 呻7 图卜5 几种典型流体系结构的并行处理粒度 ( 4 ) 结构的复杂性和通用性 结构的复杂性和通用性是相互矛盾的两个属性。以v i r a m 和l m a i g n c 为代 表的“专用”流体系结构,结构较为简单,开发难度小,计算资源使用率高。但 是对流的支持过于单一化。受传统的s i m d 向量结构的束缚,使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年特种作业类危险化学品安全作业裂解(裂化)工艺作业-胺基化工艺作业参考题库含答案解析
- 2025年特种作业类危险化学品安全作业胺基化工艺作业-磺化工艺作业参考题库含答案解析
- 2025年特种作业类危险化学品安全作业磺化工艺作业-化工自动化控制仪表作业参考题库含答案解析
- 2025年特种作业类危险化学品安全作业烷基化工艺作业-化工自动化控制仪表作业参考题库含答案解析
- 住宅装修承包合同
- 2024-2025学年八年级下学期语文期中试题汇编《名著阅读》含答案解析
- 2025年二次加工材相关板材项目立项申请报告
- 专题03 微生物和生物多样性(河北专用)5年(2021-2025)中考1年模拟《生物》真题分类汇编
- 2025年建筑工程类注册安全工程师安全生产专业实务(其他安全)-安全生产专业实务(金属非金属矿山安全)参考题库含答案解析
- 2025年建筑工程类建筑三类人员-专职安全生产管理人员(C3证)参考题库含答案解析
- 2025年中国罩式热处理炉市场现状分析及前景预测报告
- 2025年行测真题及答案下载
- 统编版道德与法治四年级上册全册大单元整体教学设计
- 2025年全国大学生百科知识竞赛题库及答案(370题)
- 第二课堂舞龙舞狮教学计划
- 2025年乡村全科助理医师考试真题及答案
- 医院防溺水急救培训课件
- 医疗器械直调管理制度
- 餐饮业员工的培训方案
- 消化道出血课件
- 美团BD岗前培训
评论
0/150
提交评论