在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3339|回复: 3

2005年国际超级计算大会观感

[复制链接]
发表于 2006-1-25 04:49:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x


                               2005年国际超级计算大会观感
                                                       灵芯
                                       一。世界最快的计算机
        超级计算大会(Supercomputing conference)是展示世界上最快的计算机及相关技术的场所。2005年世界超级计算大会(SC|05) 11月中旬在西雅图举办,会议的正式名称是高性能计算,网络和存储器国际会议(The International Conference for High Performance Computing, Networking and Storage)。
        几年前,世界最快计算机的桂冠曾一度被日本夺走,日本的地球模拟计算机(Earth Simulator)用占满一大房间的计算机机群夺得2002年高速计算第一名。最近几年,日本风光不在,今年展厅内的最快计算机是IBM的Blue Gene。从外表看Blue Gene由一批黑色机箱组成(可根据需要配置),每个机箱内有十几个板块,每个板块中装有30个双CPU节点。整个系统的最大配置将占满2500英尺的房间。
          最近几年,单个CPU的发展限于停滞状态,CPU的主频在接近4G时就再也提不上去,单个CPU的速度在近几年里基本上没有变化。因此,超级计算能力主要依靠增加CPU的个数来提高计算能力。超级计算几乎是并行计算的同义词。当前的超级计算技术最突出的特点就是把大批CPU整合在一个或多个大机箱内进行集群(cluster)计算。
       单纯增加CPU的个数并不能提高计算速度,CPU之间需要相互通讯才能联合完成计算任务。所以,超级计算的难点在于怎样建立一个有效的连接系统,当前超级计算机的竞争主要是CPU连接能力的竞争,谁能把CPU有效地连接在一起,谁就是超级计算的赢家。
       IBM的Blue Gene中使用的CPU是PowerPC,日本的地球模拟机使用的是NEC芯片。单个PowerPC的计算能力弱于NEC芯片,但是PowerPC耗能少,因此IBM可以把更多的PowerPC芯片放在一个机箱只内。日本的地球模拟计算机使用了5120个NEC CPU,而Blue Gene最多可整合65536个双核CPU。因此IBM的Blue gene的总体计算能力超过日本,为美国夺回超级计算的桂冠。
                                               二。为什么需要超级计算
            超级计算是代价高昂的事业。以日本的地球模拟机为例,我们可以把它同奔四做个比较。高速计算的计算能力用GFLOPS来度量,奔4可以达到8GFLOPS,地球模拟机的每个CPU能力同奔4相近,总共5000个CPU,最高计算能力是41000GFLOPS。然而,奔4的每个GFLOPS的价格相当于60美元,而地球模拟机的每个GFLOPS价格相当于7500美元。地球模拟机的每一GFLOPS价格高于奔4一百二十倍。
        由于并行计算的复杂性,超级计算机很难达到峰值计算能力。具有实用价值的持续计算能力通常是峰值计算能力的十分之一。地球模拟机有5000个CPU,理论上最高计算速度可以到达单个CPU的5000倍,而持续计算能力仅仅是单个CPU的500倍。
          超级计算机不仅昂贵,而且寿命短。更新换代速度快。日本的地球模拟机出痕7b后不到两年,就被速度快几倍的Blue gene超过。现在一台家用计算机的能力与十年前一台低档超级计算机的能力相当。
         不但硬件价格昂贵,超级计算机的软件设计特别困难。PC机上的软件都是向后兼容的,20年前开发的软件,在现在的机器上照样可以使用。而超级计算机都是特殊构造的机器,每台机器需要专门为它开发软件。等到软件开发出来,机器差不多要淘汰了。
        此外,不用超级计算机,人们也可以使用网格计算(Grid Computing),就是用局部网或英特网把计算机联在一起进行并行计算。虽然网络通讯的速度比机群系统内的通讯速度慢。但是购买5000台PC机的代价,仅仅是一台地球模拟机的百分之一。
        设想一下,花费巨资制造或购买一台超级计算机。仅仅使用十年就变成一堆费铜烂铁,这笔钱如果用于房地产投资可以则可以在同样的时期内翻倍。超级计算机究竟值不值得?
       美国人认为,超级计算值得。美国计算科学总统顾问委员会给美国总统的报告中说,计算科学(Computational Science)对于保持美国在世界科技领域的领导地位有关键性作用。他们说,现代科学技术有三大支柱:理论,实验和计算科学。现代科技领域的突破依赖于计算技术,在飞机制造,生物制药,新材料开发,武器研制等各个科学技术领域,大量新科研成果的发明发现都依赖于高速计算和模拟。那个国家的计算能力强,那个国家就在科技领域领先。
        持有类似观点的国家不只美国。英国爱丁堡大学安装了拥有1000台CPU的IBM超级计算机。日本在SC05上的展台面积超过欧洲。最让人感到意外的是南朝鲜。该国超级计算发展迅速,以南朝鲜超级计算中心KISTI为例,它在2000年仅拥有一台HP320,计算能力为42.7GFLOPS;到2004年7月,整个中心拥有6台超级计算机,最大的一台有672个CPU,总计算能力达到7600GFLOPS。南朝鲜全国共有十几个研究单位拥有超级计算机,最大的机器拥有1026个CPU。全国总计算能力达到33419GFLOPS。正在进行的使用超级计算的科学研究有分子动力学模拟,网络性能分析,有限元分析,流体力学,海洋潮汐分析,天体模拟以及飞机设计等几十个项目。可以预期,超级计算的发展将使南朝鲜的科技水平上到一个新的台阶。
               
                                                  三。可重构超级计算
          超级计算非常重要,但代价高昂。因此,人们一直在寻找低代价进行超级计算的途径。在这方面,本次会议展示了一个引人著名的新趋势,就是使用FPGA进行超级计算,也称可重构超级计算Reconfigurable supercomputing,这一技术为低成本超级计算带来了新的希望。在CRAY公司的展览区内,专门举办了一系列关于FPGA超级计算的讲座,显示了超级计算行业对这项新技术的强烈兴趣。
         FPGA的全名是现场可编程逻辑阵列,它的实质内容就是直接把硬件描述转换成硬件实现。要理解FPGA,不妨把它同传统计算机做个比较。传统计算机有两个主要特点。其一是可通过程序改变功能,其二是顺序执行指令。前者是个优点,它使计算机能够灵活适应不同的应用需要;后者是个弱点,因为它仿碍计算机实现并行计算,难以充分利用硬件资源。FPGA具有“可编程序”的特点,但是它的“程序”并不一定要“顺序执行”。这是因为,FPGA接受的“程序”实际上是硬件设计描述,后者可以表达任意数量的并行运算。
        任何事务有利就有弊。FPGA为其灵活性付出的代价是降低了单个器件的运算速度。FPGA的时钟频率比微处理器低。FPGA做一次加法所费的时间大约是奔腾所费时间的十倍。不过,这一弱点可以通过FPGA的并行能力而得到补偿。有人以图像处理为例子比较一个时钟频率为40MHz的FPGA和时钟频率为1000MHz(1GHz)的奔腾芯片。从时钟频率上看,FPGA比奔腾慢25倍,但是对一个象点的处理,奔腾需要执行210条指令,每条指令平均花费1.04个时钟周期。而FPGA可以在一个时钟周期内完成一个象点的处理(使用8级流水线)。此外FPGA可以同时并行处理8个象点。因此,FPGA大约比奔腾快8*210*1.04/25=70倍。
       FPGA不但可以获得超过常规计算机的计算能力,而且具有价格低,功耗低的优点。XILINX公司的Virtex-4芯片计算能力达到20-120GFLOPS,远远高于奔4的8GFLOPS,而每个GFLOPS的代价仅为15美元到99美元。从功耗上看,每个GFLOPS,Virtex-4仅消耗0.05--0.32瓦,奔腾要消耗16.5瓦,地球模拟机要消耗320瓦。功耗大的芯片散热装置也大,因此限制了一个机箱内可装入的芯片数。反之,功耗小,就可以在一个机箱内装入更多的芯片。所以,散热低的FPGA芯片更适合于组装超级计算机。正因为如此,FPGA获得超级计算公司的青睐。一些超级计算公司,如CRAY和SGI,正在同FGPA工具公司合作研发把超级计算机同FPGA相结合的计算解决方案。目前的做法是把FPGA板作为现有超级计算机的加速器,将整个程序中的一部分转移到FPGA上执行。
         FPGA进入超级计算的一个障碍是编程工具问题。传统的硬件设计是使用硬件设计语言如VHDL或VERILOG来完成,使用这些语言需要受过相当充分的硬件设计训练。然而书写超级计算的软件的人员一般都不熟悉硬件设计。为了使软件人员能够为FPGA“编程”,一些公司开发了基于C语言的设计工具。它们允许用户以接近C语言的方式书写算法,这些工具可以把这种特殊的“C程序”直接翻译到硬件。这些工具大大提高了硬件设计效率。在SC05展厅上出现的几个用高级语言进行硬件设计的公司有Impulse公司的Impulse-C,Celoxica公司的Handle-C以及新兴公司Mitrionic Inc.的Mitrion-C等等。Handle-C的前身是OCCAM语言,理论基础是HOARE教授的通讯顺序进程CSP。Handle-C的程序基本上直接对应于硬件。Impulse-C和Mitrion-C的程序离硬件较远,描述层次比较高。Impulse-C是在STREAM-C的基础上发展而来,适合基于流的计算。它可以把软件进程和硬件进程在系统层上组合起来。Impulse-C开发工具基本价格在8000到12000美元之间,调试器和交互式优化器需要再加4000美元左右。Mitrion-C是最近才出现的语言,其基本思想是把用户程序翻译到一个有高度并行能力的虚拟机上,然后再转换成硬件实现。这几种语言都已在CRAY机上实用。
                                                              结语
         超级计算的发展日新月异。90年代中期,前500名超级计算机(TOP500)当中,有一半以上使用共享存储器体系结构(SMP),极少几个使用机群结构(cluster)。今天,前500名超级计算机中,无一使用SMP结构,一半以上使用机群结构。现在,FPGA超级计算(Reconfigurable Supercomputing)正在兴起,今天的FPGA的GFLOPS数是奔腾芯片的3倍到10倍,一些图像处理算法的速度高于奔腾70倍,密码破译速度快1000倍。也许,十年之后,半数以上TOP500超级计算机将会使用FPGA超级计算。

发表于 2006-1-25 12:47:38 | 显示全部楼层

2005年国际超级计算大会观感

文章不错,中国的情况呢?
发表于 2006-1-27 09:48:53 | 显示全部楼层

2005年国际超级计算大会观感

说白了,通用计算机不可能所有的运算都可以用一条指令来实现(指令集总是有限的)。而FPGA你可以根据特殊的应用随意的编写代码,使尽可能多的硬件在同一时间完成同一个目标协作(以面积换速度)。所以,显然二者没有共同点,不具有可比性,也没有必要比较,这样的比较也是没有实际的意义!
 楼主| 发表于 2006-1-29 08:07:17 | 显示全部楼层

2005年国际超级计算大会观感

A professor from Shanghai Jiaotong University presented his auto parallization
research.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-24 02:51 , Processed in 0.024685 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表