2009并行计算与多核程序设计01-02多核技术导论

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1并行计算与多核程序设计理论课0课程概述2教材多核计算与程序设计,周伟明,华中科技大学出版社多核程序设计,陈天洲等,清华大学出版社,2007年8月多核程序设计技术-通过软件多线程提升性能,电子工业出版社,2007年3月3课件、工具、录像、代码、答疑资源网站仅限校内随着课程更新=1423答疑时间:周五上午地点:曹西4044教学计划5实验环境地点:曹西501硬件:英特尔双核酷睿2软件:Visualstudio2003/2005IntelC++compiler11.0.069Ctoolkit3.2.017IntelMathKernelLibraryMKL10.1.0.015ThreadProfiler3.1forWindowsIntegratedPerformancePrimitives(IPP)6.0.0.063;MathKernelLibraryMKL10.1.0.015;TBB2.1.009ThreadCheck3.1.009trace7.2.011vtune9.1ParallelStudio1.0(ParallelComposer,ParallelInspector,ParallelAmplifier,ParallelAdvisorLite),2009年5月26日推出6学完本课程的结果学会如何编写多核计算机上的软件多个处理器运行你的程序学会如何评价一个多核软件在不同核上充分利用硬件资源学会如何多核优化对一个单核程序,能编出多核程序,能充分优化学会多核硬件的评价知道软件是怎么在多核硬件上跑扩大处理器视野了解各种处理器以及在这些硬件上编程的差异有2.5学分的成绩上机考试,以时间定成绩7并行计算与多核程序设计理论课1-2多核技术导论81微处理器发展史1945年,世界上第一台全自动电子数字计算机ENIAC电子管微处理器:忽略处理器发展第一代(1971~1973):4位或8位微处理器。代表:8008第二代(1974~1977):集成度提高1-4倍,运算速度提高10-15倍。代表:Z80,8080第三代(1978~1984):16位。代表:8086。第四代(1985~1992):32位微处理器,代表80386第五代微处理器(1993—1995年),64位数据总线,32位地址总线,CPU内部采用超标量流水线设计,代表:奔腾,K5,powerpc第六代(1993~2002):350nm以下工艺微处理器,平行并发计算而设计(EPIC)架构,代表:安腾多核时代(2002~今):从2002年超线程技术开始的多核时代,代表:酷睿29微处理器1971年,第一款微处理器40041978年,英特尔公司80861979年,英特尔公司又开发出了80881981年,美国IBM公司将8088芯片用于其研制的PC机1982年,英特尔公司研制出了80286微处理器1985年10月17日,英特尔80386DX正式发布1989年,英特尔推出80486芯片1993年,新一代586CPU问世1996年底,多能奔腾PentiumMMX1998年,奔腾二代PentiumII、至强Xeon、赛扬Celeron1999年春,英特尔公司PentiumIII奔三2000年,英特尔公司Pentium4,奔四-------------以下为本课程关注的时代----------------------------2002年,英特尔超线程技术(HT,Hyper-Threading),预告多核时代2005年4月18日,英特尔全球同步首发奔腾D处理器(双芯片方案)2005年4月21日,AMD推出了双核速龙™64X2处理器(双核)2006年7月27日,英特尔推出酷睿2:英文Core2Duo2009年9月,至强六核2009年10月,酷睿i710汇编指令集变化提高电脑在多媒体、3D图形方面的应用能力MMX57条多媒体指令SSEStreamingSIMDExtensions3DNOW!3D加速指令集怎么利用这些指令用专业编译器2009年最新SSE4.24.1包括47条指令,4.2包括7条指令。4.2增加两类汇编:STTNI(STring&TextNewInstructions)和ATA(ApplicationTargetedAccelerators)加速XML文本的字符串操作、存储校验XML的解析速度最高是原来的3.8倍。这就是为什么office2007采用XML,运行在新处理器上速度快?11多核概念单芯片多处理器(Chipmultiprocessors,简称CMP)CMP是由美国斯坦福大学提出的将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程CMPvsSMTSMT处理器结构的灵活性比较突出当半导体工艺进入0.18微米以后,线延时已经超过了门延迟,要求微处理器的设计通过划分许多规模更小、局部性更好的基本单元结构来进行由于CMP结构已经被划分成多个处理器核来设计,每个核都比较简单,有利于优化设计,因此更有发展前途122多核技术是处理器发展的必然推动微处理器性能不断提高的因素半导体工艺技术的飞速进步体系结构的不断发展这两个因素相互影响,相互促进工艺和电路技术的发展使得处理器性能提高约20倍体系结构的发展使得处理器性能提高约4倍编译技术的发展使得处理器性能提高约1.4倍。如今,这个规律已经很难维持13十亿晶体管时代即将到来通用微处理器的主频已经突破了4GHz数据宽度也达到64位。65nm工艺的微处理器已经批量生产大连45nm工艺以下的微处理器也已问世芯片上集成的晶体管数目已经超过10亿个如何有效地利用数目众多的晶体管?多核通过在一个芯片上集成多个简单的处理器核利用这些晶体管资源发挥其最大的能效14门延迟逐渐缩短,全局连线延迟却不断加长晶体管特征尺寸不断缩小使得晶体管门延迟不断减少互连线延迟却不断变大芯片的制造工艺达到0.18微米甚至更小时线延迟已经超过门延迟成为限制电路性能提高的主要因素CMP(单芯片多处理器)的分布式结构全局信号较少,与集中式结构的超标量处理器结构相比,在克服线延迟影响方面更具优势15符合Pollack规则Pollack规则处理器性能的提升与其复杂性的平方根成正比如一个处理器的硬件逻辑提高一倍,至多能提高性能40%采用两个简单处理器构成一个相同硬件规模的双核处理器可获得70%~80%的性能提升在面积上也同比缩小16能耗不断增长芯片的发热现象日益突出工艺技术的发展和芯片复杂性的增加多核处理器单核速度较慢处理器消耗较少的能量,产生较少的热量单核处理器里增加的晶体管可用于增加多核处理器的核多核处理器关闭(或降频)一些处理器等低功耗技术17设计成本的考虑设计成本随时间呈线性甚至超线性的增长处理器结构复杂性的不断提高人力成本的不断攀升多核处理器处理器IP复用极大降低设计的成本模块的验证成本也显著下降18微电子技术进步的效果1982年以来:CPU性能提高3500倍,内存价格下降45000倍,硬盘价格下降360万倍全球人均拥有晶体管数2004年500个2010年10亿个现在45nm处理器中每个晶体管的价格,仅相当于1968年的百万分之一。2010年平均每个晶体管成本只有十万分之一美分19微纳技术正在重构集成电路产业体系晶体管尺寸缩小,SiO2栅介质变薄,栅极漏电流增加,功耗上升,传统微电子技术临近极限。集成电路技术十年内仍可能按摩尔定律增长,将沿着两个方向发展:采用高K栅介质和金属栅极的创新工艺,缩小特征尺寸的技术有重大突破;发展固态量子器件等:包括单电子器件、自旋器件、磁通量器件等和基于自组装的原子和分子器件与一维结构的纳米线、碳纳米管等低维器件。未来的信息功能器件将充分利用微电子、纳米(甚至生物纳米)传感器MEMS技术等微纳技术正在重构集成电路产业体系集成器件由单纯追求性价比正在转向追求功耗比的技术创新20体系结构发展的必然超标量结构和超长指令字结构在目前的高性能微处理器中被广泛采用超标量结构使用多个功能部件同时执行多条指令,实现指令级的并行控制逻辑复杂,实现困难超标量结构的指令并行程度一般不超过8超长指令字结构使用多个相同功能部件执行一条超长的指令编译技术支持问题二进制兼容问题。未来的主流应用需要同时执行更多条指令的能力单一线程不太可能提取更多的并行性不断增加的芯片面积提高了生产成本设计和验证所花费的时间变得更长更复杂化的设计也只能得到有限的性能提高21单芯片多处理器通过在一个芯片上集成多个微处理器核心来提高程序的并行性每个微处理器核心是一个相对简单的单线程微处理器或者比较简单的多线程微处理器多个微处理器核心就可以并行地执行程序代码具有了较高的线程级并行性由于CMP采用了相对简单的微处理器作为处理器核心使得CMP具有高主频、设计和验证周期短、控制逻辑简单、扩展性好、易于实现、功耗低、通信延迟低等优点CMP能充分利用指令级并行和线程级并行目前CMP已经成为处理器体系结构发展的一个重要趋势223并行计算机由一组处理单元组成,这组处理单元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。出现背景:60年代初期,晶体管以及磁芯存储器的出现,处理单元变得越来越小,存储器也更加小巧和廉价。出现规模不大的共享存储多处理器系统,即大型主机(Mainframe)。60年代末期,同一个处理器开始设置多个功能相同的功能单元,流水线技术也出现了,在处理器内部的应用大大提高了并行计算机系统的性能。两个最主要的组成部分计算节点节点间的通信与协作机制23并行计算机的弗林分类Flynn根据指令流和数据流的不同组织方式,把计算机系统的结构分为以下四类:单指令流单数据流(SingleInstructionstreamSingleDatastream,SISD)单指令流多数据流(SingleInstructionstreamMultipleDatastream,SIMD)多指令流单数据流(MultipleInstructionstreamSingleDatastream,MISD)多指令流多数据流(MultipleInstructionstreamMultipleDatastream,MISD)24并行计算机系统结构分类分布式存储器的SIMD处理机含有多个同样结构的处理单元(PE),通过寻径网络以一定方式互相连接。每个PE有各自的本地存储器(LM)。向量超级计算机(共享式存储器SIMD)集中设置存储器,共享的多个并行存储器通过对准网络与各处理单元PE相连。在处理单元数目不太大的情况下很理想。对称多处理器(SMP)一个计算机上汇集了一组处理器,各处理器之间共享内存子系统以及总线结构。并行向量处理机(PVP)集群计算机254片上多核处理器架构片上多核处理器(ChipMulti-Processor,CMP)就是将多个计算内核集成在一个处理器芯片中,从而提高计算能力。按计算内核的对等与否,CMP可分为同构多核和异构多核CPU核心数据共享与同步总线共享Cache结构:每个CPU内核拥有共享的二级或三级Cache,用于保存比较常用的数据,并通过连接核心的总线进行通信。基于片上互连的结构:每个CPU核心具有独立的处理单元和Cache,各个CPU核心通过交叉开关或片上网络等方式连接在一起。给程序开发者带来的挑战26主流多核处理器2002年超线程技术(HT,Hype

1 / 50
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功