郑昊 6月27日,中国计算机报社执行总编辑刘保华与SGI首席技术执行官兼高级副总裁吴永琳就计算技术进行了深入交流,重点探讨了以处理图像为主的GPU该如何与CPU共存,以及SGI未来的发展。 图像处理在如今的计算技术中扮演着越来越重要的角色,在CPU不断更新换代的趋势下,作为图像处理核心芯片的图像处理器(GPU)也在探索自己的出路。SGI作为老牌的图形计算厂商将如何应对计算技术的变迁? 地点:北京希尔顿酒店 人物: SGI首席技术执行官兼高级副总裁吴永琳 中国计算机报社执行总编辑刘保华 时间: 2007年6月27日下午 GPU在计算领域的地位并不比CPU低,然而随着近年来CPU技术的不断发展,GPU与CPU的并存、GPU本身的发展逐渐成为GPU厂商不得不面对的问题。 GPU能否打败CPU 刘保华:对于GPU与CPU的并存,SGI如何平衡两者之间的关系?对于未来5~10年的发展,SGI又做何考虑? 吴永琳:10年前GPU所遇到的挑战还不算大,如只需保证10000个数据输入、计算后能输出100万个像素并进行显示就可以了。这类应用中,输入数据明显少于输出数据,我们称其为“小进大出”。而今天,用户的图形计算模式越来越复杂,显示结果上却没有太大的变化,1000万个数据输入后,输出的可能还是100万个像素。图形芯片已经从“小进大出”变为“大进小出”。在过去几年中,在GPU上运行的越来越多的客户应用模式已改成了“大进小出”。所以,我想未来大家会用的是嵌入GPU技术的CPU,而不会是独立的GPU了。 刘保华:您认为未来作为独立芯片形态的GPU将被CPU替代而不复存在? 吴永琳:依我看,将来把多核CPU芯片打开后,里面可能有几十个CPU和1个GPU,而另一个可能是几十个CPU和8个、甚至更多的GPU。20年前买CPU时,里面是没有GPU的,所以还必须另外买一块显卡。而未来,不管你用不用,图形处理功能可能都已经嵌在CPU芯片中了。 刘保华:可是,有的图形芯片厂商看法与您恰恰相反,他们认为GPU计算性能提升的速度比CPU要快得多,未来希望用GPU来替代CPU。 吴永琳:每次听到GPU的发展会比CPU快,我就会问道理何在?GPU比CPU性能增长快的原因是GPU的结构简单。在GPU中可以一下子放进去很多内核,但面临的很大挑战就是如何解决好并行计算的编译问题。 CELL处理器与GPU有些相似之处。CELL有一个比较复杂的CPU内核,而其他内核则越简单越好。但是GPU和CELL都面临着两个难题:一是要做一个自动的编译器,二是如何做到自动并行。Intel的做法是芯片内每个核都是平等的,这样做的好处是编译器比较容易做。 刘保华:这么看来,核心问题仍然是编译技术? 吴永琳:对。如果你告诉用户,使用GPU可以把计算性能提高10倍,他会高兴地说要买。但是,当你又告诉他,用户必须等3年的时间才能把现有的应用移植到GPU上运行,那么大部分用户都会说:“我不等了,我不能为10倍的性能等上3年。如果你能在3个月内把性能提高3~4倍,我就立即买。” 多核对HPC的影响 近几年来,随着多核技术的出现,高性能计算技术出现了快速变化的局面。各大厂商都在CPU上集成多个内核,这也产生了诸多问题,如内存读取的问题和编程上的问题等。现在CPU的计算技术正处在一个混沌且快速变化的阶段。 刘保华:您认为下一代的高性能计算平台是什么样的?除了多核以外,还有什么新的途径可以提升高性能计算能力? 吴永琳:目前很多处理器厂商都选择了多核技术,我认为,在未来10年,多核可能会是提高计算机计算能力的主要途径。双核、4核已经问世,8核、16核很快也会出现。在不远的将来,32核、64核乃至128核也是有可能实现的。但多核技术也面临一些问题,问题的关键就是我们需要开发与多核处理器相配套的应用软件,自动、并行的编译器会变得越来越重要。 目前的软件在读写128个处理器时,是分内存写的,而当用户改用128个内核处理器时,如果不改为共享内存,那么就无法充分发挥128个内核处理器的性能。 SGI早在几年前就采用了共享内存技术,这样做恰好顺应了当前多核发展的趋势,使得原来的旧软件可以在新的多核处理器集群系统上运行。事实证明,我们当初的决定是正确的。 刘保华:集群系统已经很普遍了,但当集群系统拥有几百个服务器的时候,整个系统的运行效率就会大幅下降。集群模式发展到一定程度时是否会出现瓶颈? 吴永琳:的确如此。随着多核技术的发展,集群模式计算效率低下的问题会更加严重,将来10个处理器可能需要运行1000个并行程序。之所以计算运行效率低,主要原因是,需要并行处理的内核越多,内核之间的通信数据量就会越高。随着这种指数级数据量的增高,系统对带宽的需求也会越高,同时要求降低响应延迟。这也正是集群处理器的发展瓶颈所在。 刘保华:除了您刚才说的共享内存技术外,还有什么新技术能够解决由于过多通信造成集群性能大幅下降的难题呢? 吴永琳:当我们反思为什么软件运行效率如此低下时,发现有以下两个因素:第一是带宽延迟,第二是编译器的问题。针对带宽延迟问题,我们现在正在做研究,SGI的NUMAlink技术会解决一部分带宽延迟的问题。OpenNP和MTI等开源编译器需要通过合作的方式来解决,目前我们和Intel正在进行编译器方面的合作。 除了解决上述两个问题之外,有一些用户还需要将其应用软件进行重新修改,这是比较困难的。目前,SGI有20多名软件工程师帮助客户进行应用软件的并行优化工作,并且负责针对软件的调试。但是上述工程师主要是负责咨询建议的,具体的开发工作还需要客户自己努力完成。 HPC软件困扰 刘保华:我发现处理器本身发展速度非常快,Intel也在做芯片平台。但高性能计算面对的主要限制就是在软件部分,为什么软件的发展总是滞后于处理器的发展速度? 吴永琳:这同样是SGI最为头痛的问题。根据摩尔定律,处理器的运算速度每18个月可以提高一倍,因为我们每次将处理器晶体管尺寸缩小一些,那么处理器里包含的晶体管个数就可以增加一倍,所以硬件这几年发展非常快。 但是软件就无法遵守摩尔定律了,因为软件是人脑开发的,不可能随着处理器运算速度的提高而同步提高。随着软件本身的规模越来越大,仅仅增加人手并不能加快软件开发进度。而且,即使增加人手,也将受到资金投入的限制,开发人员的数量不可能无限量地增加。 刘保华:您说的我特别赞同,硬件本身更多的是制造工艺问题,而软件更多的是人的问题,这是完全不一样的。我们发现SGI近几年开始使用Linux操作系统。而Linux本身并没有一个完整的商业模式,不是一个系统化的东西,这必然会对SGI的商业化运作产生一些影响。与此同时,SGI还要与Intel保持紧密的合作关系,请问如何处理商业伙伴和非商业伙伴之间的合作关系? 吴永琳:协调这两者的关系对于SGI而言是一个挑战。Linux有一个突出的优点,即不必投入物力和财力来自行开发操作系统。但是Linux同样存在弱点,比如我们需要在Linux环境下运行1000个CPU,对于标准Linux操作系统而言,并不能同时管理1000个CPU,我们的客户同时要求1000个CPU共享内存,怎么解决? 虽然我们有解决办法,但是这个办法并不是最好的:我们需要将自己独有知识产权的技术移植到Linux操作系统上,这对于SGI而言是非常有挑战的,因为需要将知识产权向Linux开源组织公开(比如IRIX软件)。对于Linux开源组织而言,SGI做出了相当大的贡献,包括有关HPC技术和文件系统。当然,这种贡献是合作的基础,是SGI与Linux合作所必需的。 此外,当Linux发布新的内核或者有了重大改动后,SGI必须投入3~5个工程师将Linux的改动移植到我们的高性能计算机中,并进行测试。我们不仅要做系统的测试,还要针对ISV的所有软件进行测试。 刘保华:那为什么还要坚持开源和Linux呢? 吴永琳:首先,如果我们不用开源操作系统,就必须要有几百个人来管理我们的操作系统。其次,最重要的原因是我们不再开发IRIX操作系统了。因为ISV需要针对目前主流操作系统HP-Unix、AIX、Linux以及Solaris等的每一次更新进行升级,SGI不想再增加ISV的开发负担。采用Linux,就是一种比较好的解决办法,ISV不需要再专门针对SGI专有操作系统进行软件开发测试。目前SGI近一半的收入来自这些ISV,这样做可以大大降低ISV的开发费用,于人于己都有利。 刘保华:现在有一种说法,Intel增加处理器内核的做法,代表了一条通用道路,但也有厂商认为未来的高性能计算的处理器和它的整个计算平台有可能走更专业化的道路。您认为未来高性能计算将会呈现出什么样的发展态势? 吴永琳:问题还是软件方面,FPGA有一些非常出色的软件,但是编写起来并不容易。目前FPGA上出现了新的编译器,C程序会被自动编译到FPGA上。现在,诸如RISC、FPGA、CELL处理器成功就取决于自动编译器的发展。如果没有自动编译器把程序编译到CELL之类的处理器上,这些处理器最终取得成功的可能性也就不高。 SGI的发展 目前,国内外厂商都很关注高性能计算机的进展。全球TOP500最新一期榜单上排第一的是IBM蓝色基因,而Sun也要做新的计算平台,超过IBM的蓝色基因。 刘保华:在我的印象中,SGI一直都在做高端计算,但是近两年感觉到SGI的高性能计算能力变弱了,这是跟SGI的策略有关系,还是跟技术发展方向有关系? 吴永琳:高性能计算的确是各大计算厂商关注的焦点,但是TOP500榜单并不能反映商业用户的实际需求,其中榜单上有很多产品主要是用于科学研究的,并非是可以提供给客户使用的实际产品。SGI制造的高性能计算机是用于商业用途,面向普通用户的,所以TOP500排行榜并不是SGI的发展方向。需要说明的是,如果用户需要更高性能计算能力,我们也可以根据需要制造出性能更快的机型。 对于SGI而言,高性能计算机的产品利润是摆在第一位的,我们要做的产品就是要出售的产品,是要实际交付用户使用的产品,而不是单纯为进排名而做的科研产品。 刘保华:随着CPU性能越来越强,可视计算会越来越热,而且在个人平台上未来终极目标之一就是可视计算。SGI老本行就是做可视化计算,你们怎么没有在这方面做工作? 吴永琳:如果未来图形计算90%还是“小进大出”的话,我看可视化计算很容易实现,因为你需要计算的数据量很小,你也不必把图形芯片和处理器集成在一起。“小进”,就是说计算的数据量很小,很容易把数据传输出去。但是如果大部分工业计算(30%~40%)都换成“大进小出”,如我们有10TB的计算数据要传输到显示芯片上,目前的带宽肯定无法满足大数据量传输的需求,那么可视化计算就有意义了。 刘保华:从定位上讲,SGI以后关注的重点是高性能计算还是工作站? 吴永琳:我们关注最重要的还是高性能计算,SGI Altix ICE 8200是我们目前的重头戏;其次是存储。越来越多的客户,虽然他们对于高性能计算机的体积和功耗有一定需求,但是存储带宽才是他们最关心的问题。举个例子,有的客户可能会用几个小时来对一个问题进行计算,但是在计算的过程中需要存储6TB的计算数据,这对于数据存储带宽提出了很高的要求。目前SGI已经将文件写入速度从1Gbps提高到20Gbps。 我们第三个需要考虑的重点是图形计算方面,可视化计算会是一个关键。如果“小进大出”仍然占据市场需求主流的话,我们可能不会在图形计算上花太多的精力。但是最近出现了一个趋势,越来越多的客户开始对“大进小出”提出了需求,所占比例从20%不断增长到40%。因此SGI已经做好适应这种变化的准备,一旦用户对可视化计算提出需求,我们可以立刻做出相应的反应。 刘保华:IBM已经做了一个刀片服务器的标准,虽然没有成为一个国际的通用标准,但是现在参与的厂商很多。国内厂商曙光公司牵头也做了一个高性能计算的标准,实际上也是刀片服务器的标准。SGI如何看待标准对这个产业的推动?SGI有没有针对行业标准的计划? 吴永琳:刀片服务器的标准主要还是取决于操作系统。目前,SGI只支持Linux操作系统,而且我们支持的也是标准的Linux。我们为了支持Linux的开源工作,贡献了不少具有知识产权的技术。就目前来看,SGI对于Linux操作系统的态度,决定了我们的刀片服务器的标准性和规范性。 记者手记:顺应潮流 人们关注开放大潮下的各种应用,但未必会留意像SGI、Sun这些原本自成体系的系统厂商是如何顺应开放潮流的。 自成一体曾经是高端计算市场的特征。但当以Intel为代表的x86与安腾处理器和以Linux为代表的开放大潮来临时,SGI和Sun都受到了冲击。对用户而言,开放带来的不仅有价格上的实惠,而且还增加了选择的范围。 在开放大潮的冲击下,厂商们也各有各的套路。Sun在硬件上除了保留自己的SPARC架构外,还先后引入了AMD和Intel的处理器;在软件上,Sun则开放了Solaris操作系统和Java的源代码。SGI则在去年宣布放弃MIPS架构,转而采用Intel的至强和安腾;操作系统上并没有开放自己的Unix,而是采用Linux。 在发展方向上,SGI近几年也有了较大的变化。在SGI网站上,2004年SGI对外介绍是“全球高性能计算、可视化技术和复杂数据管理方案的领先供应商”,现如今则变为“全球高性能服务器和储存解决方案的领先供应商”。具体到计算领域,就是用刀片服务器构成集群来主打商用高性能计算市场。 笔者无意、也无法评价缺少了“可视化技术”的这种选择,这里想说的是在竞争激烈的开放市场中,任何厂商都必须术业有专攻,而不可能包打一切。 开放潮流,浩浩荡荡;逆之者肯定亡,但顺之者能否昌?个中涉及到企业战略、产品、技术、市场、用户等诸多因素,正所谓“天地人和”。无论如何,顺应开放,已经是开了个好头。
|