SGI梁岩:寻求高性能计算与大数据的结合点

它曾经以图形计算闻名于世,它是高性能计算领域的技术大亨,它自诩为全球最大的专业做技术计算的解决方案提供商,它就是SGI (Silicon Graphics Inc,硅图公司)—— 一家痴迷于技术,并试图用技术改变世界企业。

“SGI在全球客户心中是一个高性能计算方案的提供商,我们也非常自豪地认为,我们是全球最大的专业做基数计算的解决方案提供商。去年开始,SGI也开始关注大数据带来的一些影响”,SGI中国区总经理梁岩近日接受记者采访时谈到。

SGI中国区总经理梁岩

那么,SGI将如何切入到大数据的市场?又如何借助自身在高性能计算领域的优势在竞争激烈的大数据市场中争夺一席之地? 近日,笔者采访了SGI中国区总经理梁岩。采访中,梁岩分享了他对于高性能计算市场趋势的理解,以及SGI如何将高性能计算领域的优势和积累切入到大数据领域。

高性能计算市场和技术走向

谈到高性能计算,这位高性能计算领域的老兵显得颇为激动,他谈到,随着人们生活、国家安全、自然环境的探索等方面对于计算能力的需求不断增大,高性能计算未来的市场需求是非常大的。

从技术角度而言,梁岩认为,高性能计算未来几年的发展趋势也将表现出一些特点,SGI公司未来也会针对这些方向不断推出自己的产品和方案。梁岩主要介绍了四个方面的技术方向:

首先,单个处理器的核数将会不断增加,最近几年CPU的核数已经从2核、4核到6核到8核,现在也有12核16核的产品,在未来2年左右的时间里,单个处理器的核数可能会超过20核。

第二点,由于核数的增加,每个核分配到的I/O能力以及系统其他的资源,包括网络能力、内存等等,都会受到非常大的制约。因为核数发展太快,I/O能力和其他相关资源的发展没有那么快的时候,就会对机器均衡的能力的产生影响。

第三点,由于系统核数、计算能力的增加,引发的功耗问题,对于一个规模非常大的高性能计算系统,每个机器的功耗上升一点点,整个大的系统功耗就会增加非常多。

还有一点,混合编程的模式,也就是GPGPU的编程方式逐渐会进入到高性能计算领域。今年开始,我们看到Intel公司也推出了一个类似于GPGPU的一个模式加入到混合计算的领域,这样的话,通过NVIDIA、AMD和Intel这三家大的公司积极地推动的混合编程模式肯定是未来比较热的一个方向。

不同类型的应用需要不同的系统架构

SGI在高性能计算领域最牛的一点是它的NUMA架构,基于NUMA架构SGI可以在一个系统中将512个连在CPU连接在一起,相比集群架构而言,这种架构能够大大提升I/O密集型应用的运行效率,这也是许多其他的高性能计算解决方案提供商难以企及的。

梁岩介绍到,大部分高性能计算应用可以分为两类,一类是计算密集型的应用,另一类是I/O密集型应用,也就是通讯密集型的应用。

他举例介绍道,假如要在一堆稻草里面找两根针,这个算法就是要拿起一根稻草看如果不是针就放一边去,直到找到针。我们可以用一个更简单的方法,把稻草分成两堆,让两个人来数,这样可以节省一半的时间,进一步,还有更简单的方法,可以把这两堆稻草中的每一堆再分成两堆,性能就可以提升四倍。当然,这一切的前提都是在数稻草的时候不用和其他数稻草的人说话,每个人只要埋头数好自己的稻草,最后把所有人的加在一起就可以了。这种就是纯粹计算密集型的,这种并行计算非常好,适合今天的集群应用架构,每台机器的处理性能不是很强,但可以用很多机器一起计算。

但还有另外一种可能,做一件事情的时候需要和另外一个人说一句话。例如SGI曾经承接过美国国防的一个项目,要找全世界各个地方10年以内大城市出现的一些恐怖分子的踪迹。如果要搜寻10年的情况,首先会想到按照城市来分和计算,但这里会遇到一个问题,每次算这个城市的时候,他可能在这个城市给另一个城市打电话,这时就要算另一个城市,所以如果划分的越细,所产生的交差通讯就会越多,这就属于I/O密集型的应用。I/O密集型应用在超大集群上实现是一个非常难的事情,而恰恰今天大量的应用都是I/O密集型的计算,机器之间的通讯太多会大幅度降低效率。

梁岩强调,针对IO密集型的应用,采用集群是非常不适合的,SGI的方案是UV系列的产品。UV是一个基于SGI独有的NUMA架构,可以把很多的CPU通过NUMA架构连接到一起,在一个操作系统下去运行,也就是说你可以看到一台超大的机器,一个操作系统,所有的通讯都在内部完成,而不需要通过外面的网络完成,这样整个性能大幅提高,目前,可以做到一台机器中将512个CPU在一起,如果使用Intel的8核CPU的话,一个机器中就可以有4096个核,并且可以放64TB的内存,在一个操纵系统下去跑这个机器,这样的话遍历所有的数据就会非常快。

当然,针对计算密集型的应用,SGI也提供了相应的解决方案——基于SGI的刀片服务器集群。例如全球排名第11位的美国政府的NASA合作的系统,以及今年2月份SGI为法国道达尔石油提供的系统都是基于SGI刀片集群的。

寻求高性能计算与大数据的结合点

梁岩表示,大数据将会带来文件系统的基础架构的改变,以及数据处理方式的改变。SGI相信,未来高性能计算与大数据领域会有一定的融合,SGI将把高性能计算领域的积累和沉淀转化到大数据领域来。

回到稻草里找针这个例子,如果把这个稻草分成分成非常细的小堆的话,那么可能就不需要那么高性能的存储了,因为每台机器的性能都很差的话就没有必要配一个高性能的存储了,在机器里塞几个硬盘就可以了。并且,如果这个机器坏了也不影响,因为它是一个非常小的一堆稻草,我们还可以在其他机器上做一个容错的处理。

这种思想的出现就带来了我们经常谈论的,关于文件系统的基础架构的改变,也就是现在的基于Lustre的高性能文件系统慢慢变成了hadoop的文件系统。

还有一点就是处理数据方面,需要一种处理非结构化和结构化数据在一起的一种方式。比如在做风险分析的时候,像证券行业、金融行业、保险行业等,传统的是看这个人的家庭收入、学历背景、现在有多少贷款等,但是未来会考虑到其他的因素,例如这个人所处的行业、国家的政策、这个行业薪金的发展趋势等,所有这些信息都来自外界的新闻、国家政策、网络消息、微博等,这些信息全是非结构化的,如何把这些数据进行处理并作为判断依据,就需要一种能够处理非结构化和结构化数据在一起的方式。

国内这方面的需求是非常大的,例如电信行业,现在只是一些漫游费、手机费,但未来3G业务、基于微博等对客户行为进行分析等,远远不是一个关系型数据库能处理的,需要一个大数据的方案。

梁岩表示,SGI做的很多高性能计算的应用其实就是一种大数据,只是涉及到的领域都太专业了,例如石油图像勘探方面的应用中大量的地图和油层数据、气象方面的数据、工厂CAD的数据等等。

SGI正在把传统高性能领域的积累转化到大数据领域来。SGI今年基于Hadoop推出了一个StartKit,如果客户想在hadoop上面做一些转变,SGI会给客户提供一整套的软件、硬件安装方案,并且所有的系统安装都在SGI的工厂里完成。与此同时,SGI还提供6个基于hadoop上开发的应用,客户可以利用这些应用做一些开发、测试、评估等工作。

事实上,SGI在全球已经提供了超过2万台hadoop系统,为美国的政府、军方、ebay、amazon等很多客户提供了基于hadoop的系统。

“SGI相信,在高性能计算方面的积累会慢慢进入到大数据领域,从今年到未来的一段时间里大家会看到,SGI公司在大数据方面的方案出现,我们也相信,未来的某个时间高性能计算和大数据会有一定的融合。”