资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
第27卷第8期 2010年8月 计算机应用与软件 Computer Applications and Software Vo127 No8 Aug2010 针对多媒体应用的多核处理器核间通信优化 严 婕 (复旦大学并行处理研究所上海201203) 摘 要 目前多核架构已成为处理器的主流设计并成为各种多媒体应用的主流处理平台,而核间通信的效率是影响多核处理器 性能的重要因素之一。提出了一种针对多媒体应用程序的核间通信的优化方法。该方法利用此类应用程序数据读取的规律性,通 过在多核处理器上添加通信队列,实现只读数据的快速传递,从而提高多媒体应用程序的并行执行效率。实验表明使用通信队列对 各种多媒体核心算法的性能都有普遍提高。同时,该方法具有良好的扩展性,当内核数目增加,通信队列所带来的好处也更加明显。 关键词 多核处理器 多媒体应用程序核间通信 OPTIMIZING INTERCoRE COMMUNICATIoN oF MULTICoRE PRoCESSoRS FoR MULTIMEDIA APPLICATIoNS Yan Jie (Parallel Processing Institute,Fudan University Shanghai 201203,China) Abstract In recent years,multi-core architectures have been the mainstream design of the processors as well as the mainstream processing platform of various multimedia applicationsThe efficiency of inter-core communication becomes one of the most criticalctors for the perform ance of multicore processorIn this paper,we present an optimization approach for intercore communication in light of multimedia application programsThis approach utilises the regularity of data loading of the application proams of these kinds,by augmenting communication queue on muhicore processor to achieve the fast transfer of readonly data,SO as to improve the parallel executing efficiency of multimedia applica tionsExperiments show that to use communication queue makes universal improvement on the performances of various core algorithms of mul timediaMeanwhile,the approach has favourable scalability,especially in the future when the number of the cores increase,the benefit of eom munication queue will become more and more remaable Keywords CMP(Chiplevel muhiprocessor) Multimedia applications Inter-core communication 0引 言 目前,多媒体应用已经成为各种平台的主要应用之一。随 着视频和图像处理质量的不断提高和实时编解码的需要,这些 应用对硬件环境的要求越来越高。硬件既要能够支持尽可能多 的应用,又要保证其实时处理速度。而对于目前的芯片设计,出 于能耗和晶体管利用率等方面的考虑,多核架构已经成为处理 器设计的主要趋势以及处理各种应用的主流平台。因此,如何 有效提高多核处理器对于多媒体应用的处理速度,已成为目前 多核处理器的设计中亟待解决的关键问题之一。 在目前多核架构的设计中,每个处理器核拥有私有的Ll Cache,并由多个核共享L2L3 Cache。当利用多核平台处理多 媒体应用时,需要首先完成对多媒体程序的并行划分,由不同核 完成不同部分的处理,从而实现对多媒体程序的加速。而根据 文献3,15中对于多媒体程序的分析可知,此类程序拥有较好 的只读数据的重用特性。即完成多媒体程序的并行划分后,映 射到不同处理器核上的运算之间存在着大量只读数据的共享。 这种数据共享,虽然在一定程度上可以提高共享L2L3 Cache 的命中率,但当后继处理器核需要使用这些共享数据时,仍需要 从延迟较大的底层共享Cache中获取数据。如果在各个核间增 加只读数据的快速通信队列,当一个处理器核加载只读数据到 自己的L1 Cache中时,也将该数据放入通信队列中。如果其他 核需要读取该数据,在查找自己的L1 Cache的同时,也同步查 找对应的通信队列。这样显然可以增加共享数据的利用率,从 而提高多核处理器对于多媒体应用的处理效果。 基于以上分析,本文针对目前多核处理器设计中存在的不 足,设计了一个数据通信队列。在该通信队列辅助下,多核处理 器在多媒体程序的并行计算中,核间的只读数据共享可以通过 快速通道进行传递,从而节省数据的读取时间,提高处理速度。 本文通过对主流的多媒体核心算法进行测试,发现核间通信队 列的引入使得程序性能得到普遍提高,其中最大加速比为 10。同时,使用通信队列相比传统的只读数据复制方法有着 更显著的优势。通过对各类体系结构参数进行敏感度测试,本 文发现当处理器核数增加,核内结构变得13益简单时,通信队列 的使用将带来更为明显的效果。 1相关工作 11多媒体应用程序 文献1通过对主流的多媒体核心算法的详细分析,指出 在SIMD扩展模式下多媒体程序的瓶颈并试图寻求体系结构的 途径提高程序性能;文献2通过研究发现,多媒体核心算法程 收稿日期:20081229。严婕,硕士,主研领域:计算机系统软件。 第8期 严婕:针对多媒体应用的多核处理器核间通信优化 l79 序拥有高密度的科学运算,从而认为并行优化是加速此类程序 的有效方法;最后,文献3中详细分析了缓存性能对多媒体应 用程序的运行所产生的影响,并指出多媒体应用程序具有较高 的数据依赖性,当此类程序被划分为多线程时,线程间通信成为 影响程序性能的重要因素。 12缓存结构 目前对缓存结构的研究主要有三类。一是为每个处理器核 提供私有二级缓存结构的设计。私有缓存的缺点即为缺少缓存 间的数据交换机制,所以主流的优化主要是对replication机制 的优化,如文献4中提出的Victim Replication策略和BM,文献 5中提出的ASR(Adaptive Selective Replication)机制。二是使 用共享二级缓存的设计。共享缓存的缺点在于读取本地数据的 速度缓慢,因而文献6设计的Piranha结构中首次提出了 bankedsharedcache的方法,可以在保证数据共享的同时提高本 地数据的读取速度。三是结合私有缓存和共享缓存各自的优点 的混合缓存设计。包括文献7中提出通过聚合私有二级缓存 从而实现缓存间协作共享的协作式缓存。 13核间通信 目前针对核间通信的研究主要集中在发掘应用程序在任务 和数据上的流水线特性。在这种机制下,运算被划分为多个独 立的步骤,映射在不同的线程上。线程与线程之间的数据依赖 呈现出流水线特性,并通过特殊的数据结构来传递。文献13 提出的Decoupled Software Pipeline机制将程序划分为流水线多 线程,并在核问添加同步缓冲区来实现线程间的数据传递。除 了在通用处理器上的研究外,针对各类特殊设备上的研究也非 常广泛。文献15通过利用多SIMD阵列的寄存器通信特性设 计了优化算法,并取得了理想的加速比。应用在多媒体渲染上 的流处理器和文献14提出的流式编程语言则通过特殊的流 寄存器结构来实现核间的数据通信。 2核间通信队列 21 队列原理 如果多核处理器每个核拥有独立的缓存结构,那么假设数 据从内存到达一级缓存的时间为 ,四个核读取相同的数据所 花费的时间即为4 。为了避免重复读取的浪费和二级缓存的 日益普遍,现在主流的多核处理器拥有私有的一级缓存和共享 的二级缓存结构,其具体结构如图1(a)所示。假设数据从内存 到达二级缓存的时间为Y,从二级缓存到达一级缓存的时间为 ,那么四个核读取相同数据所花费的时间即为Y+4z4(Y+ ) 一4 ,因此共享二级缓存比私有缓存结构节省了3y的读取 时间。 q q O CPU4 CPU3 L1 L LI;CPU4 q z L2 Memory fh1 图1通信队列原理图 但是,共享二级缓存对数据不具有选择性,在数据替换中, 共享数据由于访问频率较低,极易被替换出缓存,从而导致二级 缓存失效。另一方面,共享二级缓存因为容量增加,相比私有二 级缓存结构,其访问速度有所下降,如果一级缓存的访问时间为 12个时钟周期,那么二级缓存的访问时问则为2O30个时 钟周期甚至更多。为了提高数据的共享效率,本文在多核处理 器的不同核问引入了一个小型通信队列,用来提高核间共享数 据的利用率。如图1(b)所示,当某个处理器核需要读取数据 时,在正常发射Load指令的同时,也对核间通信队列进行查找。 如果查找命中,则可直接使用队列中的数据;否则通过正常的 Load指令获得该操作数,并将数据放人通信队列中。设通信队 列的访问时间为q,则四个核读取相同数据所花费的总时间为Y +。+3g。其中Y+。为第一个核获取该数据时的内存访问时间, 而q则为其余3个核的数据访问时间。由于队列的位置和容量 决定了其访问速度远快于二级缓存,因此有效地缩短了共享数 据的读取时间。 22队列设计 为了满足核间通信队列所需实现的功能和达到的预期效 果,我们针对多核结构增加了通信队列。由于容量小,结构简 单,通信队列可以设计为队列结构,和寄存器类似。通信队列的 具体设计如下: 访问速度与容量通信队列位于核与核之间,与每个核 之间相连,与CPU的距离与一级缓存相近,而其大小和寄存器 在同一数量级。因此,通信队列的访问速度介于一级缓存和寄 存器之间。 队列操作通信队列支持读和写两种操作。 (1)当处理器遇到读取只读共享数据的指令时,以地址为 参数,向通信队列发出查找请求。如果通信队列返回有效数据, 读取指令完成。否则,队列返回无效标识,说明数据尚未进入通 信队列。这时,处理器向通信队列发出一条写请求,将数据从内 存中读出,并写入通信队列。 (2)通信队列支持并发读取,在本文的设计中使用了2个 读端口。研究证明,在4核的情况下,当一个处理器核运行主线 程而其他3个核运行计算线程时,2个读端口已经能基本满足 需要。同时,队列支持并发写操作,并通过锁保证了多线程间不 会存在写冲突。由于写操作频率较低,队列使用了一个写端口。 查找机制 队列采用顺序搜索的查找机制。因为其容 量极小,因此队列中所有元素的并发搜索可以由现有的硬件技 术实现,保证数据读取在极短的时间内完成。 替换机制 由于多媒体核心算法对共享数据的读取具 有对称性,读取请求的时间比较接近,并呈现出规律的间隔。队 列采用FIFO先进先出的替换策略。 23 队列实现 231编译器端 处理器在数据读取时,应当能够辨识出只读共
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号