‘壹’ 多核技术的发展历史
多核技术的历史与现状
摘要:本论文将介绍关于当代新兴科技——多核技术的历史与现状。从实际需求出发,介绍多核技术的发展背景及技术依托,并简要阐述多核技术的前景。文中还包括我国多核技术的一些发展状况。以及“龙芯”的部分情况。
本文提纲:
1.多核技术的定义
2.多核技术的产生背景
3.多核技术的现状
4.多核技术在中国的发展情况
5.总结
第一章 多核技术
1.1多核技术的定义
在当代由于社会的进步,社会需求的不断加大,面对市场规模的不断提高,业务需求的不断提高,高性能的计算机成为了一种必不可少的数据处理工具。但由于单核多线程已经无法满足目前需求,随之在计算机领域也应运而生了一门新兴的科技——多(内)核技术。多内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。最为显着的是多核处理器技术,它也是CPU设计中的一项先进技术。它把两个以上的处理器核集成在一块芯片上,以增强计算性能。CMP通过在多个CPU核上分配工作负荷,并且依靠到内存和输入输出(I/O)的高速片上互联和高带宽管道对系统性能进行提升。
1.2多核技术的应用
由于多核技术的发展,超级计算机也随之诞生。2009年6月19日,造价2亿元、每秒峰值运算速度超过200万亿次的超级计算机“魔方”,开始在上海高速运转。而有了“魔方”,上海超算的“ 脑力”增长了20倍。“曙光4000A”支撑的300多个用户,将大部分移师“魔方”,包括气象预报、生物药物、生命科学、汽车、核电、钢铁、新材料、土木工程、物理、化学、航空、航天、船舶等数十个应用领域。
除了旧有的项目之外,“魔方”还被期待以重任:上海市着力发展的九大高新技术产业,如商用飞机、新材料、医药、重大装备、新能源以及电动车等六个领域都将依赖高性能计算技术。
或许,有一天你所搭乘的国产大飞机,不仅机身设计靠的是超级计算机的贡献,就连出现在你面前的飞行员、空姐排班顺序也是超级计算机所决定的。 “超级计算机500强”排行榜中,美国入围的291台超级计算机中有35台用于金融企业或相关机构。未来,“魔方”将助力上海国际金融中心建设,为金融机构设计衍生产品、控制风险、提供各种计算解决方案。
第二章 多核技术的产生背景
2.1 多核技术与单核多线程的不同
单核多线程则是在单个计算引擎上,以主频的形式分时复用的执行多个程序,虽然看上去是多个程序并行执行,但实际上仍然是一个处理器在工作,只是主频较高,不会被用户所察觉。
多核技术是在一枚处理器中集成两个或多个完整的计算引擎。它可以在多个计算引擎上同时运行程序,或者说:一个程序可以在多个处理器上进行。在没有执行顺序冲突的情况下,真正缩短了运行时间,提高了计算效率。
2.2 多核技术的产生
单核多线程虽然从表面上解决了多个程序不能同时进行的窘境,但始终是一个计算引擎在工作。未来的主流应用需要处理器具备同时执行更多条指令的能力,仅从单核处理器中已经不太可能提取更多的并行性。
2.2.1 多核的产生背景
因为功耗问题限制了单核处理器不断提高性能的发展途径。我们都知道:作为计算机核心的处理器就是将输入的数字化的数据和信息,进行加工和处理,然后将结果输出。假定计算机的其他子系统不存在瓶颈的话,那么影响计算机性能高低的核心部件就是处理器。反映在指令上就是处理器执行指令的效率。
处理器性能 = 主频 x IPC
从上面的公式可以看出,衡量处理器性能的主要指标是每个时钟周期内可以执行的指令数(IPC: Instruction Per Clock)和处理器的主频。其实频率就是每秒钟做周期性变化的次数。主频为1GHz 就是1秒钟有10亿个时钟周期。
因此,提高处理器性能就是两个途径:提高主频和提高每个时钟周期内执行的指令数(IPC)。处理器微架构的变化就可以提高IPC从而提高处理器的性能。但是,对于同一代的架构,改良架构来提高IPC的幅度是非常有限的,所以在单核处理器时代通过提高处理器的主频来提高性能就成了唯一的手段。
不幸的是,给处理器提高主频不是没有止境的,从下面的推导中可以看出,处理器的功耗和处理器内部的电流、电压的平方和主频成正比,而主频和电压成正比。
因为: “处理器功耗 正比于 电流x 电压 x 电压 x 主频”,“主频 正比于 电压”
所以:“处理器功耗 正比于主频的三次方” 如果通过提高主频来提高处理器的性能,就会使处理器的功耗以指数(三次方)而非线性(一次方)的速度急剧上升,很快就会触及所谓的“频率的墙”(frequency wall)。过快的能耗上升,使得业界的多数厂商寻找另外一个提高处理器性能的因子,提高IPC。
提高IPC可以通过提高指令执行的并行度来实现,而提高并行度有两种途径:一是提高处理器微架构的并行度;二是采用多核架构。
在采用同样的微架构的情况下,为了达到处理器IPC的目的,我们可以采用多核的方法,同时有效地控制功耗的急剧上升。看看下面的推导。
因为:“处理器功耗 正比于 电流x 电压 x 电压 x 主频”,“IPC 正比于 电流”
所以:“处理器功耗 正比于 IPC”
由单核处理器增加到多核处理器,如果主频不变的话,IPC理论上可以提高一倍,功耗理论上也就最多提高一倍,因为功耗的增加是线性的。而实际情况是,双核处理器性能达到单核处理器同等性能的时候,前者的主频可以更低,因此功耗的下降也是指数方(三次方)下降的。反映到产品中就是双核处理器的起跳主频可以比单核处理器更低,性能更好。
由此可见,将来处理器发展的趋势是:为了达到更高的性能,在采用相同微架构的情况下,可以增加处理器的内核数量同时维持较低的主频。较低的主频也有效地控制了功耗的上升。
2.2.2 技术的发展导致了多核技术的出现
当然,光有想法是不行的,如果没有辅助技术的支持,一切想法是无法实现的。
上世纪八九十年代以来,推动微处理器性能不断提高的因素主要有两个:半导体工艺技术的飞速进步和体系结构的不断发展。半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了新的问题,开辟了新的领域;体系结构的进展又在半导体工艺技术发展的基础上进一步提高了微处理器的性能。这两个因素是相互影响,相互促进的。其实有些规律性的东西是很难维持的。多核的出现是技术发展和应用需求的必然产物。这主要基于以下事实:
1.晶体管时代即将到来
根据摩尔定律,微处理器的速度以及单片集成度每18个月就会翻一番。经过发展,通用微处理器的主频已经突破了4GHz,数据宽度也达到64位。在制造工艺方面也同样以惊人的速度在发展,0.13um工艺的微处理器已经批量生产,90nm工艺以下的下一代微处理器也已问世。照此下去,到今年,芯片上集成的晶体管数目预计超过10亿个。因此,体系结构的研究又遇到新的问题:如何有效地利用数目众多的晶体管?国际上针对这个问题的研究方兴未艾。多核通过在一个芯片上集成多个简单的处理器核充分利用这些晶体管资源,发挥其最大的能效。
2.体系结构发展的必然
超标量(Superscalar)结构和超长指令字(VLIW)结构在高性能微处理器中被广泛采用。但是它们的发展都遇到了难以逾越的障碍。超标量结构使用多个功能部件同时执行多条指令,实现指令级的并行(Instruction-Level Parallelism,ILP)。但其控制逻辑复杂,实现困难,研究表明,超标量结构的指令集并行一般不超过8。超长指令字结构使用多个相同功能部件执行一条超长的指令,但也有两大问题:编译技术支持和二进制兼容问题。
3.能耗不断增长
随着工艺技术的发展和芯片复杂性的增加,芯片的发热现象日益突出。多核处理器里单个核的速度较慢,处理器消耗较少的能量,产生较少的热量。同时,原来单核处理器里增加的晶体管可用于增加多核处理器的核。在满足性能要求的基础上,多核处理器通过关闭(或降频)一些处理器等低功耗技术,可以有效地降低能耗。
4.设计成本的考虑
随着处理器结构复杂性的不断提高,和人力成本的不断攀升,设计成本随时间呈线性甚至超线性的增长。多核处理器通过处理器IP等的复用,可以极大降低设计的成本。同时模块的验证成本也显着下降。
5.门延迟逐渐缩短,而全局连线延迟却不断加长
随着超长指令字工艺技术的发展,晶体管特征尺寸不断缩小,使得晶体管门延迟不断减少,但互连线延迟却不断变大。当芯片的制造工艺达到0.18微米甚至更小时,线延迟已经超过门延迟,成为限制电路性能提高的主要因素。在这种情况下,由于CMP(单芯片多处理器)的分布式结构中全局信号较少,与集中式结构的超标量处理器结构相比,在克服线延迟影响方面更具优势。
第三章 多核技术的现状
3.1 多核技术从各界获得的支持
自从多核技术新兴以来,各行各业都给予了很高的支持。教育方面,全国有120多家高校开设了多核技术或者并行计算这门课。为了以后的并行程序的设计而服务。在商业反面,很多大型公司,很多网络游戏的代理公司都花了巨资来支持研发超级计算机,来提高他们的竞争水平。很多媒体纷纷及时播报关于多核技术的发展状况。及时提供给社会有关人士研究。很多大型企业已经开始培养并行程序开发,超级计算机使用的人才。1993年,德国曼海姆大学汉斯、埃里克等人发起创建了全球超级计算机TOP500排名榜,从很大程度上促进了多核技术的发展……
3.2 多核技术的成就
多核技术发展至今已经取得了辉煌的成就。它已经代表了一国的科研实力。功耗更低,性能更优,体积更小的超级计算机已经成为全球竞争原来越激烈的高新科技领域。
2005年由IBM制造的蓝色基因在TOP500强中排首位。处理器数量达到65536个,实测值136800GF,峰值达到183500GF。到2009年11月排行第一的是美国橡树岭国家实验室的Cray XT5超级计算机“美洲豹”,他的运算速度已经达到每秒1.759千万亿次了。幸运的是我国的“天河一号”也已跻身五强,创下了中国超级计算机在世界上的最高排名。他的运行速度是每秒563万亿次。该产品使用英特尔至强处理器,并利用AMD的GPU作为加速器,共有7.168万个计算核心。在第34届超级计算机前500强中,采用英特尔处理器的有4.2个,占到80.4%。采用IBM结构的占52个,采用AMD皓龙处理器的占42个。
由此我们不得不深思一个问题,为什么中国没有自己的处理器呢?不急,其实中国已经在研究自己的处理器了,那就是中国“龙芯”。目前,龙芯正式迈开了“以企业为主体,以市场为导向,产学研结合”的步伐。相信不久以后,我们听到的将是:“我用的可是中国生产‘龙芯’处理器”。
第四章 多核技术在中国
4.1中国多核技术的成就
虽然先如今多核技术已经应用到多个领域,尤为突出的是超级计算机这一方面,而且,全世界对这方面也很关注,很重视。下面我们来看看超级计算机在中国发展的概况:
中国从1978年开始,历经5年研制,中国第一台被命名为“银河”的亿次巨型电子计算机在国防科技大学诞生。它的研制成功向全世界宣布:中国成了继美、日等国之后,能够独立设计和制造巨型机的国家。
1992年,国防科技大学研制出“银河-II”通用并行巨型机,峰值速度达每秒10亿次,主要用于中期天气预报。
1993年,国家智能计算机研究开发中心(后成立北京市曙光计算机公司)研制成功曙光一号全对称共享存储多处理机,这是国内首次以基于超大规模集成电路的通用微处理器芯片和标准UNIX操作系统设计开发的并行计算机。
1995年,曙光公司又推出了曙光1000,峰值速度每秒25亿次浮点运算,实际运算速度上了每秒10亿次浮点运算这一高性能台阶。曙光1000与美国Intel公司1990年推出的大规模并行机体系结构与实现技术相近,与国外的差距缩小到5年左右。
1997年,国防科技大学研制成功银河-III百亿次并行巨型计算机系统,峰值性能为每秒130亿次浮点运算。
1997至1999年,曙光公司先后在市场上推出曙光1000A,曙光2000-I,曙光2000-II超级服务器,峰值计算速度突破每秒1000亿次浮点运算。
1999年,国家并行计算机工程技术研究中心研制的神威I计算机,峰值运算速度达每秒3840亿次,在国家气象中心投入使用。
2004年,由中科院计算所、曙光公司、上海超级计算中心三方共同研发制造的曙光4000A实现了每秒10万亿次运算速度。
2008年,“深腾7000”是国内第一个实际性能突破每秒百万亿次的异构机群系统,Linpack性能突破每秒106.5万亿次。
2008年,曙光5000A实现峰值速度230万亿次、Linpack值180万亿次。作为面向国民经济建设和社会发展的重大需求的网格超级服务器,曙光5000A可以完成各种大规模科学工程计算、商务计算。
2009年10月29日,中国首台千万亿次超级计算机“天河一号”诞生。这台计算机每秒1206万亿次的峰值速度和每秒563.1万亿次的Linpack实测性能,使中国成为继美国之后世界上第二个能够研制千万亿次超级计算机的国家。
每一项都代表着中国国力在不断提升,中国的国际地位在不断提升!也许大家会发现,这些超级计算机虽然是中国的,但是他们的处理器都是进口的,这一点着实令人感到尴尬!
4.2中国“龙芯”简介
从以上的介绍我想大家也都会问起,为什么那么多的超级计算机用的都是微软的处理器呢?那么中国是不是也应该有自己的比较优秀的处理器呢!别急,中国“龙芯”就是由中国科学院计算所自主开发的通用CPU,采用简单指令集,类似于MIPS指令。
在经过了多年的研发,中国“龙芯”已经推出了:“龙芯”一号,“龙芯”2号,目前“龙芯”三号也在研发过程中。目前的“龙芯”已经可以具有灵活的可配置IP核架构,可配置多种接口,可配置内外时钟关系等多想特点。龙芯”的问世不仅仅在于中国自主研发出了自己的CPU产品,其更深层次的意义在于它穿透了困扰在中国科技人员心中的一团迷雾,凭借着自身的技术研发实力,中国同样可以自己研发生产出被国外垄断的产品。目前有不少年轻人,对国货表现出一贯的不信任,尤其数码产品等。日本人就很善于引进外国技术,然后学习、模仿、创新,中国人同样也有这种精神。中国既然可以在艰难条件下研发两弹一星,在航天领域与美国、欧洲并肩前进,那么在芯片研制领域也一定可以做到!
“龙芯”是我们自己的孩子,我们要用心去爱护他。虽然他现在还不如Intel,但至少目前还没有几个国家能够生产出这种暂时不如Intel的东东!这就是我们的骄傲!回想霍元甲时代,作为香港特区一位电子工作者,笔者再次感慨万千。我们是龙的传人,不是东亚病夫!我们坚信“龙芯”的成功是必然的!我们期待着“龙芯”带给我们更多、更大的惊喜!
4.3多核技术的前景
多核技术使得计算机领域从“山重水复疑无路,柳暗花明又一村。”的窘境。当单核的发展已经进入死胡同时,各CPU厂家也开始改变设计典范,未来所有微处理器皆朝多核心设计发展为主流,传统型单一核心处理器将退居二线。关于双核心,我想不必再解释了,大家耳熟能详,从ALTHON 64 X2 系列的横空出世,到现在的酷睿傲视群雄,再到双核安腾2的发布,双核心已经是目前市场的主流产品。在服务器领域,双核心处理器以其卓越的性能,更低的成本也被大多数企业接受。
从软件的设计角度来说,双核/多核也改变了一些就有的思路。nVIDIA首席科学家David Kirk曾抱怨多核心处理器给游戏开发人员带来了巨大的编程困难。而INTEL 在发展硬件的同时,也在软件上做出了相应的改进。
在2007年的多核应用暨Intel服务器平台大会上,英特尔数字企业集团副总裁兼服务器平台事业部总经理Kirk Skaugem先生表示:“英特尔实际上是全世界最大的软件工具的公司,我们不仅是一个硬件公司,要想优化你们的多核,不优化就不能实现所有的性能,如果大家上我们的网站可以看到,我们的未来不仅仅停留于四核,未来会变成几十个核,甚至更多,所以我们在软件方面会进一步优化。”由此可知Intel公司已经在多核技术方面做好了充分的准备,这也必将导致多核技术将成为主流。
今年初,在由英特尔网络部主办,CSDN协办的英特尔多核平台编程优化大赛中,涌现出大量优秀的作品,充分的利用了双核/多核对于多线程和并行计算技术,使得代码运送速度大大提升。
事实证明,最新的多核心、超线程编程工具,可以为开发人员提供丰富的资源以供利用,只有摒弃守旧的工作习惯,尽快改变观念,跟上时代的进步,多核心、超线程编程并不会成为不可逾越的障碍。
第五章 总结
首先感谢我的老师为我们介绍了一门新兴的科技——多核技术。而且在学习的过程中锻炼了我的思维,让我逐渐形成了并行计算的概念,我想这对于今后的无论是生活还是工作都很有帮助。我从课程中学到了很多东西,并且与此同时,我还强化了以前的知识。比如说编程方面我又得到了锻炼;从数据结构方面,我了解了更多的算法;从时间复杂度方面,我知道了多核算法可以将以前单核运算所不能实现的事例实现等等。在最后我们以论文上交的形式来结业,也锻炼了我们查询资料,检索资料的能力。我感到这门课很充实,也对这门课很有兴趣,充满了挑战性。衷心谢谢老师。
参考文献: 《并行计算》;
网络:多核技术的历史与现状;
电子工程专辑——多核技术
文摘《计算机世界》 ;
新浪科技时代;
CSDN博客