(计算机软件与理论专业论文)cmp共享cache访问与qos策略的研究与模拟.pdf_第1页
(计算机软件与理论专业论文)cmp共享cache访问与qos策略的研究与模拟.pdf_第2页
(计算机软件与理论专业论文)cmp共享cache访问与qos策略的研究与模拟.pdf_第3页
(计算机软件与理论专业论文)cmp共享cache访问与qos策略的研究与模拟.pdf_第4页
(计算机软件与理论专业论文)cmp共享cache访问与qos策略的研究与模拟.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机软件与理论专业论文)cmp共享cache访问与qos策略的研究与模拟.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着芯片集成制造工艺的日益发展,在同一芯片上集成了多个处理器的 c m p 架构已成为桌面应用和高端计算的主流平台。通过集成多个处理器,c m p 架构提供了更多的计算资源,同一时刻可以有多个程序并发执行,提高总体性能, 但多个程序间可能会出现资源竞争,共享资源成为性能的瓶颈。 c a c h e 性能历来是影响处理器性能的最重要因素之一,c m p 架构通常在各处 理器间共享最后一级c a c h e ,以提供高带宽的数据共享与通讯能力。但这也造成 了各处理器上并发执行的程序竞争最后一级共享c a c h e ,显著地影响性能。 本文针对多进程竞争共享c a c h e 的现状,以w i s c o n s i ng e m s 模拟器为基础, 引入进程信息,扩展了其中的存储系统模拟模块r u b y ,研究进程对共享l 2c a c h e 的使用情况,并提出q o s 策略管理共享l 2c a c h e 的竞争,最后,对其进行了测 试与分析。本文的主要工作和特色如下: 根据x 8 6 体系结构和l i n u x 操作系统的特点,使用g e m sa p i ,成功实 现了从全系统模拟器g e m s 上运行的操作系统中,读取当前访存进程的 进程信息。 在全系统模拟器g m e s 中,完整记录了操作系统中运行的各进程对共享 l 2c a c h e 的使用情况。通过读取访存进程信息,标记访存事件与访问的 c a c h ee n t r y ,每个c a c h ee n t r y 都保存了使用者的进程信息。并且可以 提供指定进程的l 2c a c h e 失效率,l 2c a c h e 使用率和冲突率。 提出了2 种q o s 策略。根据并发多进程对l 2c a c h e 的使用情况,修改 替换算法,试图监管并发多进程对共享l 2c a c h e 的竞争。并在扩展的 g e m s 模拟器上,对q o s 策略进行了测试。 关键词:g e m s ,c a c h e 模拟器,c m p ,c a c h eq o s a b s t r a c t a b s t r a c t w i t ht h eg r o w i n go fc h i pi n t e g r a t e dt e c h n o l o g y , t h ec m pa r c h i t e c t u r et h a t i n t e g r a t e sm u l t i p r o c e s s o r sh a sb e c o m et h em a i n s t r e a mo fd e s k t o pc o m p u t i n ga n dh i g h p e f o r m a n c ec o m p u t i n g m u l t i - t a s k se x e c u t es i m u l t a n e o u s l yt ou t i l i z et h ec o m p u t i n g r e s o u r c e sc m pp r o c e s s o r so f f e r s ,w h i l er e s o u r c e sc o m p e t i t i o nm a ye m e r g e ,a n d s h a r e dr e s o u r c e sb e c o m eb o t t l e n e c k c a c h ep e r f o r m a n c ei so n eo ft h ek e ya s p e c t si np r o c e s s o rd e s i g n ,c m pp r o c e s s o r s u s u a l l yo f f e r e sas h a r e dl a s tl e v e lc a c h et oi m p l e m e n tah i g hb a n d w i t hd a t a s h a r i n g a n dc o m u n i c a t i o ni n t e r f a c e ,h o w e v e r ,t h ec o m p e t i t i o no ns h a r e dc a c h em a yl e a dt o p e r f o r r n a c ed e g r a d a t i o n t h i sp a p e ra i m sa tt h ec u r r e n tr e s e a r c hi nc m pc a c h e s i te x t e n e d st h em e m o r y s y s t e ms i m u l a t e rr u b yo fg e m ss i m u l a t e rt o o l s e tt oi n s p e c tt h em a n n e r sh o wp r o c e s s u s e sl a s tl e v e ls h a r e dc a c h e ,p r o p o s e st w oq o sp o l i c i e st om a n a g es h a r e dl 2c a c h e c o m p e t i t i o n ,a n dm a k e sp e r f o r m a n c et e s t sa n da n a l y s i sa sw e l l t h ec h a r a c t e r i s t i c so f t h i sp a p e ra r ea sf o l l o w : 1 ie x t e n dr u b yt or e a dp r o c e s sl e v e li n f o r m a t i o nf r o mo p e r a t i n gs y s t e mr u n n i n go n g e m ss i m u l a t o rt og e tp i do ft h ep r o c e s sm a k i n gm e m o r yt r a n s a c t i o n s 2 ie x t e n dr u b yt op r o f i l eh o wm u l t ip r o c e s s e sa c c e s ss h a r e dl 2c a c h e s ot h a t , e v e r yl 2c a c h ee n t r yr e c o r d st h eo w n e r s h i pi m f o r m a t i o n ,a n dt h el 2c a c h em i s s r a t e ,l 2c a c h eu s a g e ,l 2c a c h ec o n f l i c t i n gr a t eo fc e r t a i np r o c e s sc a l lb er e t u r n e d 3 ip r o p o s et w oq o sp o l i c i e s ,a t t e m p i n gt om a n a g es h a r e dl 2c a c h ec o m p e t i t i o n b a s e do nl 2c a c h ep r o f i l ed a t a s t h eq o st e s t sa r ea l s oa p p l y e di ne x t e n d e d g e :m ss i m l a l a t o r k e yw o r d s :g e m s ,c a c h es i m u l a t o r , c m p , c a c h eq o s 中国科学技术大学学位论文原创性声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作所取得的 成果。除已特别加以标注和致谢的地方外,论文中不包含任何他人已经发表或 撰写过的研究成果。与我一同工作的同志对本研究所做的贡献均已在论文中作 了明确的说明。 作者签名:劐签字日期:堡翌:垒二! 中国科学技术大学学位论文授权使用声明 作为申请学位的条件之一,学位论文著作权拥有者授权中国科学技术大学 拥有学位论文的部分使用权,即:学校有权按有关规定向国家有关部门或机构 送交论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文编入有 关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 文。本人提交的电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。 9 公开 口保密( 年) 作者签名:压坚导师签名: 签字日期:塑! :垦二f签字日期:竺墨兰:! 第l 章绪论 1 1 引言 第1 章绪论 自从第一台计算机研制成功以来,在过去的6 0 年中,计算机技术取得了令 人瞩目的发展。在计算机诞生的最初2 5 年中,由于制造工艺和系统结构的发展, 计算机系统的性能以每年2 5 的速度提高。到了7 0 年代末,集成电路技术的进 步与微处理器的出现为计算机性能的提高,注入了新的动力,计算机系统的性能 以3 5 的速度提高。在这一时期,计算机相关产业得到了迅速发展,新的系统结 构得以更容易地实用化与产业化 到了8 0 年代初,r i s c ( 精简指令系统计算机) 成为体系结构发展的主流。 r i s c 主要关注于两种主要的技术:指令级并行( i n s t r u c t i o nl e v e lp a r a l l e l i s m , i l p ) 与c a c h e ( 高速缓存) 。随着流水线,多发射,以及各种各样的c a c h e 组织 结构与优化技术的发展,近1 6 年来,处理器的性能以每年超过5 0 的速度增长。 现今,我们花数千元购买的个人计算机的性能已经远远超过几十年前花费数百万 元建造的巨型计算机系统。 然而。自2 0 0 2 年开始,这一段长达1 6 年的飞速增长期宣告结束,处理器的 性能增长率已经降到了每年2 0 左右。造成这种现象的原因包括:风冷芯片的最 大功耗,可供有效发掘的指令级并行性已接近枯竭,存储器延迟难以降低。在 2 0 0 4 年,i n t e l 也已经取消了高性能单处理器的研究计算,而转向i b m 与s u n 的阵营,以同一芯片上的多处理器而不是更快的单处理器来提高性能。至此,业 界的主流商家都转到了片上多处理器( c h i p m u l t ip r o c e s s o r ,c m p ) 架构。这标 志着体系结构发展的一个历史性转折点:处理器性能的改进已经不能再只依赖指 令级并行,而应更加关注线程级并行( t h r e a dl e v e lp a r a l l e l i s m ) 。已经不能依靠 编译器与硬件去发掘程序中的线程级并行,而需要程序员显示地编写并行代码以 改善系统性能。 1 2 体系结构的发展 第1 章绪论 叠口 4 皿= 掣 董 时间 图1 1 微处理器发展趋势示意图 除了制造工艺的进步,提高处理器性能的技术主要有两种方向:一是发掘指 令级并行性;二是发掘线程级并行性。 i 2 1 发掘指令级并行性 流水线( p i p e l i n e ) 搜、流水线是利用执行指令所需的操作之间的并行性,实现多条指令重叠执 行的一种技术,在当前的c p u 设计中被广泛使用,获得了巨大的成功。 流水线就好象汽车装配车间一样。在汽车装配车间中,一辆汽车的装配分为 很多个步骤,每个步骤装配汽车的一个零件。在流水线中,每个步骤和其他步骤 并行执行,但操作在不同的汽车上。在计算机的流水线中,一条指令被分为很多 个步骤,如m i p s 经典五段流水,每个步骤由流水线的一个步骤完成。每个步骤 被称为一个流水段。一条指令从一端进入,经过这些流水段的处理,从另一端流 出,就好象汽车装配流水线一样。 为了达到更快的c p u 速度,可以采用深度流水线技术。通过将流水段细化, 减少每个流水段的操作,以求达到更高的时钟频率,获得更高的性能。然而事实 上,随着流水段级数的增多,指令流水间发生冲突的可能性也随之增大,带来流 水线延迟,从而影响处理器的性能。而且深度流水还会带来高功耗的问题。采用 深度流水技术的处理器,例如p e n t i u mi v ,拥有2 0 级流水,其主频达到了3 2 g , 但其功耗高达15 0 w 。 多发射 多发射处理器的目标是指允许在一个时钟周期内发射多条指令。多发射处理 器分为v l i w 处理器与超标量( j o h n s o n ,1 9 8 9 ) 处理器。 v l i w ( v e r yl o n gi n s t r u c t i o nw o r d ,超长指令字) 处理器( f i s h e r ,1 9 8 3 ) 2 第1 章绪论 每周期发射固定数目的指令,这些指令被打包成一条长指令的形式。指令间的并 行度,由编译器发掘,采用静态调度的方式。典型的v l l w 处理器如i n t e l 安腾 处理器。 超标量处理器又根据指令调度方式的不同,分为静态超标量处理器和动态超 标量处理器。其中,静态超标量处理器采用定序执行,依赖编译器为处理器调度 指令,发掘i l p 。动态超标量处理器包含乱序执行引擎,由硬件发掘指令级并行 性,然后乱序执行。但在很多商业应用中,例如事务处理或网络服务,应用本身 具有较高的线程级并行性而难以发掘指令级并行性,超标量处理器无法发挥其优 势。 若一个超标量处理器无法在某个时钟周期内发掘到到足够的指令级并行性, 那么它就不能填满全部发射槽,这被称为水平浪费( h o r i z o n t a lw a s t e ) ;若超标量 处理器由于c a c h e 缺失而造成处理器停顿,就会出现垂直浪费( v e r t i c a lw a s t e ) , 造成空置指令发射槽。图1 2 图示了多发射处理器中的垂直浪费和水平浪费情况。 发射槽一 超标量 耄美蹇 雩篓蹇 同时多线程 闲皿国目:不同的线程口:空闲 图1 2 超标量、多线程、s m t 的比较 此外,超标量处理器结构复杂,可扩展性差,研发成本高昂。 指令级并行对程序员透明,这是一个巨大的优势,但在很多问题中,开发指 令级并行极为困难,高层应用中却蕴含着丰富的并行度,其逻辑结构为可独立执 行的线程,故被称为线程级并行。 1 2 2 发掘线程级并行性 多线程( m u l t i - t h r e a d i n g ,m t ) : 口目围口田u目口圆口口图目阅图旦亘础图闲圆圃山叨鱼曲图趟翔目闷一图一皿一斟困口口口口口口口口皿口口厂口1u困圈口口皿口口图圈困圃砌圃目口一图图圈皿皿衄目目口口口口口一门口口画口口口口口几一图口口霸u一心皿目几一图皿口回u圈阅目圃图圃目画图口口口口口口口口口口口口口口口口口_口 口口一u口 口口口口 0ii一苔i上 第1 章绪论 多线程使多个线程以重叠的方式共享一个处理器中的功能部件。为了支持这 种共享,处理器必须为每个线程保持指令状态。如,每个指令都需要一个独立的 寄存器副本,一个独立的p c 以及一个独立的页表。此外,硬件还需对线程的快 速切换提供支持。 多线程技术又分为细粒度多线程与粗粒度多线程。细粒度多线程处理器具备 在任意时钟周期切换线程的能力,能够在指令问进行线程切换,从而实现多个线 程的交替执行,这样,在一个线程的指令被停顿时,可以切换到其他线程执行, 隐藏由于停顿引起的吞吐量损失。粗粒度多线程处理器只有在遇到代价过高的延 迟事件,如l 2c a c h em i s s 时才发生线程切换。同细粒度多线程相比,粗粒度多 线程处理器降低了线程切换的代价。 同时多线程( s i m u l t a n e o u sm u l t i t h r e a d i n g ,s m t ) 同时多线程( e g g e r s ,1 9 9 7 ) ( e g g e r ss m t h o m ep a g e ) 是多线程的一个改进版。 在现代处理器中,其功能部件中存在着大量的并行度,而单个线程往往无法充分 地利用这种并行度,由此产生了同时多线程处理器。它使用多发射与动态调度技 术,在发掘线程级并行性的同时发掘指令级并行性。通过寄存器重命名和动态调 度,来自各线程的指令可以同时发射,而无需考虑指令间的相关性。指令间的相 关性由动态调度算法负责保证。 i n t e l 将s m t 技术应用到x 8 6 处理器中,命名为h y p e rt h r e a d i n g ( m a r r , 2 0 0 2 ) 。 从3 0 6 g h zp e n t i u m4 开始,所有处理器都将支持h y p e rt h r e a d i n g 技术。 1 3c m p 研究现状与c a c h eq o s 在c m p 处理器中,与对称多处理机( s y m m e t r i cm u l t i p r o c e s s o r s ,s m p ) 系统 类似,多个核心共享同一内存空间。而且,为了提供一个高带宽的高度通讯接口, 在c m p 处理器中,往往共享最后一级c a c h e 。在c m p 架构中,必然存在c a c h e 一致性问题。 在共享存储系统中要实现存储器一致性模型与存储器连贯性模型( c e n s i e r , 1 9 7 8 ) 。与之相关的c a c h e 一致性协议机制包括基于监听的一致性协议( s n o o p i n g c o h e r e n c ep r o t o c 0 1 ) 和基于目录的一致性协议( d i r e c t o r yp r o t o c 0 1 ) 等。在基于监听 的一致性协议中,所有的c a c h e 控制器通过监听总线,在确定它们是否含有总线 上被请求的数据块的副本。在基于目录的一致性协议中,将物理存储器的共享状 态存放在一个地点,称为目录,集中地控制所有c a c h e 的状态。基于监听的协议 实现起来较为简单,但由于存在了总线这一共享介质,在较多处理器的情况下, 会引发资源竞争而降低性能。基于目录的协议的实现开销略大,但具有更好的扩 4 第1 章绪论 展性。 典型的c a c h e 一致性协议有m s i 协议,m e s i 协议等。 另外,在c m p 架构下,各核上并发执行的进程会竞争共享资源。考虑一个 典型的c m p 架构,多个进程并发执行,各进程间竞争共享c a c h e ,原先由进程l 使用的c a c h e 空间被进程2 抢夺,产生所谓的c a c h ei n t e r f e r e n c e ( l e v e r i c h ,2 0 0 7 ) 。 这时,若进程l 再次访问相同的内存地址,就会出现c a c h e 失效。 有研究表明,对于最后一级共享c a c h e 的竞争会显著地影响性能( c h a n d r a , 2 0 0 5 ) ( h s u ,2 0 0 6 ) 。 总之,共享c a c h e 对c m p 的性能以及运行效率等有很大的影响,需要认真 研究和探讨。 1 4 本文工作及章节安排 本文以g e m s 模拟器为基础,扩展了存储系统模拟模块r u b y ,对c m p 中共 享c a c h e 的竞争情况进行了模拟,对c a c h eq o s 做了一些尝试。主要研究工作和 成果如下: 本文扩展了g e m s 模拟器套件中的存储系统模拟模块r u b y ,成功获取了全 系统模拟器上指定进程的访存信息,并使用进程信息标记访存时间与访问的 c a c h ee n t r y ,将进程使用信息引入共享l 2c a c h e 之中。并基于这一功能,研究 了程序对共享c a c h e 的竞争情况,并提出了3 种q o s 策略,通过修改替换算法, 对c a c h eq o s 策略进行了测试。 本文的第一章介绍了体系结构的发展趋势,以及当前的研究现状,还介绍了 本文的工作和成果。 本文的第二章对并行体系结构和访存模型做了概述。简单描述了s m p 、m p p 、 c l u s t e r 和d s m 等体系结构,以及u m a 、n u m a 、c o m a 、c c - n u m a 和n o r m a 等访存模型。详细介绍了片上多处理器体系结构,并对c m p 体系结构与其它体 系结构的异同和优劣做了进一步的比较。 本文的第三章是对本文所使用并扩展的g e m s 模拟器的一个简单介绍,探 讨了当前主流的c a c h e 模拟方式,并简单介绍了g e m s 模拟器的结构及特点。 第四章介绍了本文所扩展的r u b y 存储系统模拟模块,介绍了r u b y 的结构特 点,详细分析了r u b y 的执行流程,为扩展r u b y 存储系统模拟模块做准备。 第五章介绍了对r u b y 存储系统模拟模块的扩展。从操作系统中获取发起访 存事务的进程信息,将进程信息引入共享c a c h e 中,统计各个进程的c a c h e 使用 情况。并基于并发多进程在c m p 架构上对于共享l 2c a c h e 的使用情况,修改替 第1 章绪论 换算法,提出了2 种q o s 策略,尝试对共享l 2c a c h e 的竞争进行监管。 第六章主要是使用扩展后的r u b y 模拟器,对同构c m p 架构上,对多进程竞 争共享c a c h e 的行为进行了模拟,对c a c h eq o s 策略进行了测试。并对测试结果 作了分析。 最后一章是对工作的总结,以及对未来工作的展望。 6 第2 章c m p 体系结构 第2 章并行体系机构和访存模型 2 1 并行体系结构简介 并行计算机系统的发展有着悠久的历史,出现了各种各样不同的体系结构。 f l y n n ( 1 9 9 6 ) 分类法根据指令和数据流将计算机体系结构划分为四种类型,即单指 令流,单数据流( s i s d ) ;单指令流,多数据流( s i m d ) ;多指令流,单数据流( m i s d ) ; 多指令流,多数据流( m i m d ) 。因为m i m d 模型适合实现并行性,所以现今的并 行计算机基本属于m i m d 结构。 本节将简单介绍几种并行体系结构( 陈国良,2 0 0 2 ) ( 张晨曦,1 9 9 9 ) 。 对称多处理机( s m p ) - 对称多处理机( s y m m e t r i c a lm u l t i p r o c e s s i n g ,s m p ) ( c u l l e r , 1 9 9 8 ) 技术,在小型 机系统中被广泛使用。在s m p 系统中,拥有一组处理器,各处理器间共享整个 存储系统以及总线结构,共同运行操作系统的同一复本。各处理器间的关系是平 等的,不存在主从关系。操作系统将任务发布于各个处理器上,并负责任务调度 与负载迁移,大大提高了整个系统的数据吞吐能力。典型的s m p 系统,如少于 8 个处理器的情况,一般采用u m a ( u n i f o r mm e m o r ya c c e s s ) 访存模型;在更大 型的系统中,往往采用n u m a ( n o n u n i f o r mm e m o r ya c c e s s ) 访存模型。其体系 结构如图2 1 所示。 处理器处理器处理器 总线或交叉开关 s h a r e dm e m o r y i 0 系统 图2 1s m p 大规模并行处理机( m p p ) : 大规模并行处理机( m a s s i v ep a r a l l e lp r o c e s s o r s ,m p p ) ( h o r s t ,1 9 9 4 ) 是由成百上 千甚至是近万个计算节点组成,通过专门定制的高性能网络,连接成的超大规模 计算机系统,并且使用物理上分布的存储系统。m p p 的结构模型如图2 2 所示, 当今世界上最强大的超级计算机都是m p p 系统,如地球模拟器,i b m 蓝色基因 等。 7 第2 章c m p 体系结构 图2 2m p p m p p 系统有以下特点:计算节点一般采用商品处理器;系统中物理上的分 布存储器;采用高带宽低延迟的专用互联网络;程序由多个进程组成,每个都有 其私有地址空间,进程间采用消息传递通讯。m p p 在科学计算,工程模拟等领 域有着广泛的应用。 在m p p 系统中,所有的计算节点被连接到一起,形成一个大型的计算机, 这与机群系统区别开来,在机群系统中,许许多多单一的计算机被连接起来,解 决计算问题。 机群系统( c l u s t e r ) : 机群系统( h u n t e r , 1 9 9 5 ) 可认为是低版本的变形m p p 。在机群系统中,每个 节点都是独立的计算机,各节点间通过低成本的商用网络,如千兆以太网,f d d i 等,连接到一起,操作系统的完整镜像运行在各个节点上,并通过上层软件层, 实现通信与负载平衡。机群可分为同构集群与异构集群。在同构机群中,各个节 点具有相同的体系结构,运行相同的操作系统;而在异构集群中,各个节点的系 统结构和操作系统都可以不同。机群的结构模型如图2 3 所示。 与m p p 系统相比,机群的优点在于性能价格比高,并且易于构建,扩展性 好,通过增加节点数与增强节点的性能,可以很容易地提高系统的性能。所以, 在发展可扩放并行机方面,集群系统的呼声很高。 8 第2 章c m p 体系结构 并行应用 并行编程环境 串行应用 ( p v m 、m p i 、j a v a ) 机群中间层 ( 单一系统映像和可用性低层结构) 操作操作操作操作 系统系统系统系统 节点节点节点节点 ll 高速互联网络 图2 3c l u s t e r 分布共享存储多处理机( d s m ) : 分布式共享存储多处理机( d i s t r i b u t e ds h a r e dm e m o r y , d s m ) 系统的结构示于 图2 4 。s t a n f o r dd a s h ,c r a yt 3 d 和s g i c r a yo r i g i n 2 0 0 0 等属于此结构。d s m 中往往使用目录以实现分布高速缓存的一致性,也称为c c n u m a 结构。与s m p 相比,d s m 系统将分布在各节点中的本地存储器形成了一个共享的存储器,可 以支持更多的处理器,往往可以到上百个节点。在用户界面上,d s m 提供了一 个单一的地址空间,使得编程难度大大降低,这是d s m 相比m p p 主要的优点。 图2 4d s m 并行向量处理机( p a r a l l e lv e c t o rp r o c e s s o r , p v p ) : 典型的并行向量处理机( p v p ) 的系统结构见图2 5 。c r a yc 9 0 ,c r a yt - 9 0 , n e cs x 4 都是并行向量处理机。p v p 系统的核心是专门设计定制的高性能向量 处理器( v p ) ,通过执行向量指令,每个v p 至少有1g f l o p s 的计算能力。 向量机主要用于气象研究与天气预报,流体计算模拟,原子能与核反应研究, 地球物理模拟,地震数据分析等领域,用于解决超大型计算问题,具有重要的应 9 第2 章c m p 体系结构 用价值。 i v p ii v p i l v p ifi l 交叉开关 l i s m s ms m 图2 5p v p 结构 片上多核处理器( c h i pm u l t i p r o c e s s o r ,c m p ) : 随着可挖掘的指令级并行性越来越少,体系结构的研究转向了线程级并行性 的挖掘,c m p 体系结构占据了市场主流。通过将多个较简单的处理器集成到一 个芯片上,c m p 处理器简化了体系结构的设计,提供了更多的计算资源,但需 要程序员发起多线程来提高程序的执行速度,以达到预期的计算性能。本文将在 下面的内容中详细介绍c m p 体系结构。 2 2c m p 体系结构简介 2 2 1c m p 体系结构 从2 0 世纪9 0 年代开始,随着集成度的提高,设计者将多个处理器核心设计 在一块单独的晶片上,这种就是c m p 架构,也成为片上多处理器或者多核。在 这种设计中,多个处理器核心之间可以共享一些资源,比如l 2c a c h e 或l 3c a c h e , 存储器与i o 总线。多核处理器更多地依赖复制,而不是建造更强大更复杂的超 标量处理器来提高性能,同时降低成本。在c m p 架构下,具有较高线程级并行 性的应用,如商业应用等,可以获得良好的性能。 根据单一晶片上集成的多个处理器核心是否相同,可以将c m p 分为同构 c m p 与异构c m p 。 同构c m p 大多由通用处理器构成,各微处理器采用一致的结构,执行着相 同或者类似的任务。可以认为同构c m p 就是将s m p 架构集成到了一块晶片中, 各处理器核心间彼此平等,无主从之分。典型的同构c m p ,如斯坦福大学提出 的h y d r ac m p 。h y d r a ( h a m m o n d ,l9 9 9 ) 的结构见图2 6 ,它集成了四个相同的 m i p sr 3 0 0 0 处理器核心,每个处理器拥有独立的l 1c a c h e ,四个核心共享一个 较大的片上l 2c a c h e ,采用了基于监听的c a c h e 一致性协议。 第2 章c m p 体系结构 删m 拍州m o r y - 哟一 图2 6s t a n f o r dh y d r ac m p ( m 构c m p ) s y 地l 嚣i i 证p l o 嘲l 嗽弛瑚咖虹h 谤t f r m 一v a l 驯l l s i p u i s p u il 洲ll s i u | i 斑咐iis p u l s i l f li i ililli l 塔l i l s i l i s ii s |l l s li 岱ii 1 3 li l s ll + 0 + + t t1 i r+ 4 r t l 。一 啪 士1 l r f f - r l n p o w e rl 盥 i m l c l 瑚c - t u i ew m x ti l 础j o h a l t t1 i rt id i p 蛐 lu 目啪i u a 。l p , r a c 赫 图2 7c e l l 处理器( 异构c m p ) 异构c m p 上集成了多个不同的微处理器,一般来说,它们不但集成了通用 处理器用于控制与通用计算,往往还集成了d s p ,a s i c ,媒体处理器,v l l w 处 理器等专用处理器,针对特定的应用,提高性能。 典型的异构c m p ,如i b mc e l l ( i b mc e l lh o m e p a g e s ) ( 林海波,2 0 0 8 ) 处理器。 c e l l 在一个芯片中集成了9 个处理器,所有的处理器和外部设备通过高带宽的快 速互联网络连接到一起。c e l l 的结构示意图见图2 7 ,主要包括以下结构: p o w e r p c 处理器( p p e ,p o w e rp r o c e s s o re l e m e n t ) 。p p e 是主处理器,包 含一个标准的6 4 位p o w e r p c 架构处理器核心,和一个传统的虚拟内存 子系统。p p e 主要用于运行操心系统,管理系统资源以及s p e 的控制。 p p e 是c e l l 的主控模块。 协处理器( s p e ,s y n e r g i s t i cp r o c e s s o re l e m e n t ) 。8 个s p e 协处理器用于 执行p p e 分配的计算任务。每个s p e 都包含一个r i s c 核心,和一个 2 5 6 k b 的局部存储器。局部存储器可以认为是一个由软件控制的c a c h e , 采用独立的地址空间,用来存储数据与指令。s p e 支持一套全新的s i m d 第2 章c m p 体系结构 指令集,只执行向量操作,依赖异步d m a 操作来完成主存到局部存储 器的指令与数据通讯。 互联总线( e l e m e n ti n t e r c o n n e c tb u s ,e i b ) 。p p e 和8 个s p e 通过e i b 紧密地和主存已经i o 控制器联系到一起。e i b 是四个环形结构的数据 总线与一个树结构的数据总线组成,能够支持超过1 0 0 个主存与s p e 之 间的d m a 命令。e i b 有2 个外部接口,内存控制器与c e l l 宽带引擎接 口。 内存控制器( m e m o r yi n t e r f a c ec o n t r o l l e r ,m i c ) 提供了e i b 和主存之间 的高速接口。 c e l l 宽带引擎接口( b r o a d b a n de n g i n ei n t e r f a c e ,b e i ) 主要管理e i b 和 i o 设备之间的数据传输,提高了地址转换,命令处理,内部终端控制 器和总线接口 c e l l 处理器将通用计算与富计算任务区分开来,使用p p e 运行操心系统和 s p e 的控制,负责任务的总控,将计算任务发给s p e 执行。针对计算优化的s p e 核心内没有复杂的分支预测与c a c h e 结构,专注于向量计算,获得了极高的计算 性能,具有高效率、低功耗的特点。然而,p p e 与s p e 的划分与管理,也使得 c e l l 处理器的编程接口极为复杂,程序的开发效率不高。 本文工作主要基于同构c m p 。 2 2 2c m p 与其它并行体系结构的比较 在c m p 架构中,多个处理器核心被集成在一块芯片中,各处理器使用统一 的地址空间访问整个存储系统,从软件的角度来看,c m p 的编程环境与s m p 基 本一致,属于典型的u m a 模型。所以,在c m p 上可以通过使用多线程技术编 写并行程序,各线程运行在不同的核心上,共享相同的地址空间,相比分布式系 统,编程难度大大降低。 在c m p 架构中,各处理器核心间使用片内高速网络互联,具有核心间通讯 延迟小的特点,更可以通过共享的最后一级c a c h e 共享数据,提供了一个高带宽 低延迟的通讯接口。 从应用领域看,c m p 处理器即可应用于桌面计算机,也可应用于服务器系 统,实质上已经占据了市场的主流。在高性能计算领域,c m p 也可以作为一个 处理单元,组成s m p 系统,或者作为一个计算节点,用于集群系统的构建,组 成c m p c l u s t e r ,甚至用于m p p 系统的构建,具有丰富的应用性。 1 2 第2 章c m p 体系结构 2 3 并行访存模型 本节从系统访问存储器的模式讨论多处理器和多计算机系统的访存模型,它 和结构模型是并行计算机系统的两个方面。 均匀存储访问( u m a ) 模型 u m a ( u n i f o r mm e m o r ya c c e s s ) ( d u n c a n ,1 9 9 0 ) 模型称为均匀存储访问模型。 如图2 8 所示: p lp 2p n 奉奉耷 + 系统互连 ( 总线,交叉开关,多级网络) ?00 i os ms m 图2 8u m a 模型 u m a 多处理机模型的特点是: 存储器由所有处理器共享; 所有处理器访问任何存储单元的访问时间是一致的; 处理器包含私有c a c h e ; 外围设备可共享。 u m a 系统属于紧耦合系统,各处理器间高度共享资源。 非均匀存储访问( n u m a ) 模型 n u m a ( n o n u n i f o r mm e m o r ya c c e s s ) ( b o l o s k y , 1 9 7 1 ) ( f a l s a f i ,1 9 9 7 ) 模型称为 非均匀存储访问模型。如图2 9 所示: n u m a 的特点是: 图2 9n u m a 模型 第2 章c m p 体系结构 存储器分布在所有的处理器中,由所有处理器共享,所有的处理机组成 全局地址空间。 处理器访存时间不一致。访问本地存储器较快,而访问远程存储器较慢。 处理器可拥有私有c a c h e 。 全高速缓存存储( c o m a ) 访问模型 c o m a ( c a c h e - o n l ym e m o r ya c c e s s ) ( h a g e r s t e n ,19 9 2 ) ( d a h l g r e n ,19 9 9 ) 模型称 为全高速缓存存储访问模型。如图2 1 0 ,它是n u m a 的一种特例: 图2 1 0c o m a 模型 c o m a 模型的特点是: 各处理器中无存储层次结构,全部高速缓存组成了全局地址空间。 利用分布存储的目录进行远程高速缓存的访问 c o m a 中的高速缓存容量一般都大于2 级高速缓存容量 使用c o m a 时,数据开始时可任意分配,因为在运行时它最终会被迁 移到要用到它的地方。 c o m a 结构典型机器,如瑞典计算机科学研究所的d d m 。 高速缓存一致性非均匀存储访问( c c n u m a ) 模型 c c n u m a ( c o h e r e n t c a c h en u m a ) ( l o v e t t ,1 9 9 6 ) 模型称为高速缓存一致性 非均匀存储访问模型。其结构如图2 1 l 所示: 图2 1 1c c n u m a 模型 它实际上是将一些s m p 机器作为一个单节点而彼此连接起来所形成的一个 1 4 第2 章c m p 体系结构 较大的系统。其特点是: 使用基于目录的c a c h e 一致性协议 在保留了s m p 易于编程的特性的同时,改善了可扩展性 属于d s m 系统 程序员无需明确地在节点上分布数据,c a c h e 一致性硬件自动将数据迁 移到需要的节点上 总之,c c - n u m a 所发明的一些技术在开拓数据局部性和增强系统的可扩放 性方面具有良好的效果。 非远程存储访问( n o r m a ) 模型 n o r m a ( n o r e m o t em e m o r ya c c e s s ) ( s c h e e v e l ,1 9 8 6 ) 称为非远程存储访问模 型,基于消息传递的多计算机一般模型如图2 1 2 所示。在n o r m a 系统中,每 个节点都是一台独立的自制计算机,所有的存储器都是分布的,而且仅能由其处 理器所访问。 其特点为: 所有的存储器都为私有 绝大多数不支持访问远程存储器 2 4 小结 图2 1 2 基于消息传递的n o r m a 模型 本章首先介绍了传统的并行体系结构,然后对c m p 体系结构做了详细的介 绍,并将c m p 和几种传统的并行体系结构做了比较。本章还介绍了几种流行的 并行访存模型,分析了他们的优劣。 第3 章c a c h e 模拟与g e m s 模拟器 第3 章c a c h e 模拟与g e m s 模拟器 3 1 模拟器的现状 处理器体系结构模拟软件是使用软件方法模拟c p u 各部件的功能和性能。 这类模拟工具主要分为两大类:基于执行驱动( e x e c d r i v e n ) 的模拟器和基于跟 踪驱动( d r a c e d r i v e n ) 的模拟器( 喻之斌,2 0 0 7 ) 。 3 1 1 基于执行驱动( e x e c d r i v e n ) 的模拟器 基于执行驱动的模拟器,是将程序放到一个虚拟的系统上运行,对程序的运 行状态进行分析。 s e s c ( s e s ch o m e p a g e s ) 模拟器,由u i u c 的i - a c o m a 研究组开发。s e s c 对 多种多样的处理器结构进行了建模,如:单处理器、c m p 处理器和p i m ( p r o c e s s o r i nm e m o r y ) 处理器。s e s c 支持模拟带分支预测的乱序流水线、c a c h e 、b u s e s 以 及其它组件的精确模拟。s e s c 由事件驱动。 s i m i c s ( m a g n u s s o n ,2 0 0 2 ) 最初由瑞典计算机科学院开发,后由v i r t u t e c h 公 司商业运营,是一款高性能的全系统模拟器。s i m i c s 支持多种平台,并支持多种 体系架构的模拟,如a l p h a ,a m d 6 4 ,a r m ,e m 6 4 t ,i a 6 4 ,m i p s ,p o w e r p c , s p a r c ,x 8 6 等,并且可以在这些模拟系统上无修改地运行多种操作系统,包括 m s d o s ,w i n d o w s ,v x w o r k s ,s o l a r i s ,f r e e b s d ,l i n u x 等,功能极其强大。 另外,s i m i c s 还提供了丰富的编程接口,用户可以开发s i m i c s 插件模块,扩展 s i m i c s 的功能。 s i m o s ( r o s e n b l u m ,1 9 9 5 ) f l qs t a n f o r d 大学开发,支持多种体系结构和操作系 统,例如能够模拟一台s g i 计算机,支持在s i m o s 上运行一个i r i x 系统。 3 1 2 基于跟踪驱动( d r a c e d r i v e n ) 的模拟器 基于跟踪驱动的模拟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论