不同于网格 云计算中超算设计方案出台

20世纪后半期,全世界范围掀起第三次产业革命的浪潮,人类开始迈入后工业社会–信息社会。在信息经济时代,其先进生产力及科技发展的标志就是计算技术。时至今日,计算科学,尤其是以超级计算机(或高性能计算机)为基础的计算科学已经与理论研究、实验科学相并列,成为现代科学的三大支柱之一。

现代超级计算基于先进的集群技术构建,即常说的网格计算技术(GridComputing)。网格计算是伴随着互联网发展起来的,专门针对复杂科学计算的新型计算模式。这种计算模式利用互联网把分散在不同地理位置的电脑组织成一个虚拟的"超级计算机",其中每一台参与计算的计算机就是一个"节点",而整个计算是由成千上万个"节点"组成的"一张网格",所以称之为网格计算。这种"超级计算机"有两个优势,一个是数据处理能力超强,另一个是能充分利用网上的闲置处理能力。实际上,网格计算是分布式计算(DistributedComputing)的一种。需要说明的是,网格计算是一种传统的、更加专业化的定义方式,而超级计算则是更加通俗化的概念。两者从本质上是一致的。

超级计算中心(即超算中心)是指基于超级计算机系统对外提供计算资源、存储资源以及技术咨询等服务的机构或单位。超级计算在一个国家的发展中,特别是一些尖端科技的发展中,发挥着不可替代的作用,生物科技、石油勘探、气象预报、国防技术、工业设计、城市规划等经济、社会发展的关键领域都离不开超级计算。各个国家,尤其是经济、科技水平比较发达的国家,都把促进超级计算的发展作为重要的规划内容。

超级计算与云计算

如本刊前文所述,云计算是一种将全球范畴、高度可扩展、灵活的服务通过互联网进行发布与消费,采取按需求和实际使用付费的商业模式。云计算代表着全新的价值:它可以让企业获得高度可扩展和灵活的互联网服务;SaaS的瘦客户端应用减轻了软件的采购和维护成本;所有的功能都以服务的方式提供给用户。

云计算是从网格计算演化而来,能够随需应变地提供资源。网格计算可以在云中,也可能不在,这取决于什么样的用户在使用它。如果用户是系统管理员和集成商,他们就会关心如何维护云,如升级、安装和虚拟化服务器与应用程序等;如果用户是消费者,就不必关心系统是如何运行的。

网格计算与云计算有很多相似之处,两者都能够被看成是分布式计算所衍生出来的概念,都是为了让IT资源能够对用户透明,为了让IT资源能够达到更好的使用率。从这个提高资源利用率的角度出发,逐渐诞生了WEB服务的概念。网络公司通过部署数以万计的服务器构成庞大的计算资源,得以提供此前无法完成的新服务。企业或者个人能够通过互联网利用那些大网络公司所释放出来的计算资源,进行应用部署或者向外提供服务。这就是从网格计算到云计算的历史过程。网格计算和云计算的意义就在于:无论是用户还是企业开发者,都能够通过互联网来获得数据或者进行计算,尽管本地资源有限,但是能够通过网络进行复杂的运算,其数据的计算过程对于用户来说就像互联网网络对于本地网络用户一样。

1.超级计算与云计算的相同点

从定义上来说,网格计算和云计算都试图将各种IT资源看成一个可以对外提供相应服务的虚拟资源池。云计算试图让"用户透明地使用资源",而网格计算诞生的初衷就是"使用IT资源像使用水电一样简单"。

云计算是一种宽泛的概念,它允许用户通过互联网访问各种基于IT资源的服务,并且用户无需了解底层IT基础设施架构就能够享受到作为服务的"IT相关资源"。而网格的内涵包括两个方面,一方面是所谓的效用计算或者随需计算,在这一点上,网格计算跟云计算是非常相似的,都是通过资源池或者分布式的计算资源来提供在线的计算、存储等服务;另外一方面就是所谓的"虚拟超级计算机",以松耦合的方式将大量的计算资源连接在一起,提供单个计算资源所无法完成的超级计算能力。从对外提供服务这一角度来看,网格计算跟云计算是非常类似的。

2.超级计算与云计算的不同点

可以看出,网格计算和云计算有相似之处,特别是计算的并行与合作的特点。但他们之间的区别也是明显的。主要有以下几点:
网格计算的思路是聚合分布资源、支持虚拟组织、提供高层次的服务,例如分布协同科学研究等。而云计算的资源相对集中,主要以数据中心的形式提供底层资源的使用,并不强调虚拟组织(VO)的概念;

网格计算的初衷是用聚合资源来支持挑战性的应用,因为高性能计算的资源不够用,需要把分散的资源聚合起来。2004年以后,适应普遍的信息化应用被逐渐强调。而云计算从一开始就支持广泛企业计算、WEB应用,普适性更强;

在对待异构性方面,二者的理念有所不同。网格计算用中间件屏蔽异构系统,力图使用户面向同样的环境,把处理异构部件的困难留给中间件来完成。而云计算实际上承认异构,用镜像执行,或者提供服务的机制来解决异构性问题。当然不同的云计算系统会存在差别,如Google一般用自己内部的专用平台来支持。

总之,云计算是以相对集中的资源,运行分散的应用(大量分散的应用在若干大的中心执行);而网格计算则是聚合分散的资源,支持大型集中式应用(一个大的应用分到多处执行)。但从根本上来说,从应对Internet应用的特征来说,他们是一致的:为了完成在Internet情况下支持应用、解决异构性、资源共享等问题。

超级计算的分类

随着超级计算的不断发展,逐渐出现了新的应用。新应用在丰富了传统的网格计算种类的同时,也给网格计算带来了新的挑战。从网络的角度,将超级计算分为三大类:并行信息处理、分布式I/O处理和并行文件处理。

1.并行信息处理

并行信息处理指的是在所有计算节点并行执行应用,主节点管理各计算节点的输入处理,节点之间信息高速交互,通过"等-停"机制保证信息交互时序的正确性。通常是在追求最高计算性能的定制计算环境。这类应用就是通常所说的科学计算,包括:气候模型,材料科学,生物系统模型,核模拟和人工智能等等。

这类应用的共同特点是对信息交互时延极敏感。对网络的要求是高带宽、低时延(Top500高端计算应用IPC时延<10us)。

2.分布式I/O处理

分布式I/O处理指的是客户端请求通过主节点发送到所有计算节点进行并行处理,各节点的结果直接返回主节点,由主节点响应给客户端。时延要求不苛刻,但是所有计算节点以最快速度响应主节点,使得主节点网络位置短时会产生较大突发流量。这类计算的典型应用就是网站搜索引擎。有信息显示:Google 每天需要提供1.5亿次查询服务,平均每毫秒发生1.736次查询。举例来说,搜索"高性能计算",得到3,250,000结果,用时0.20秒(第二次再搜0.05秒)。

这类应用的共同特点是对网络丢包敏感。对网络的要求是高带宽、不丢包。对设备带宽、包缓存大小及分配方式有要求,与应用的具体规模(服务器数量等) 相关。

3.并行文件处理

并行文件处理指的是将庞大的源数据文件通过主节点分割成多个小文件后,分发到各计算节点并行处理,处理完毕后返回主节点进行文件组装。这类计算的典型应用就是动漫渲染和影视动画制作。将影视文件有机分割,分发到集群内相应服务器进行渲染等工作,各部分完成后返回组合成新的文件。

这类应用的特点是节点之间信息交互少,但都是以大文件的形式完成。网络流量很大,且存在很强的并发性。对网络的要求是高带宽互联。

超级计算中心网络安全解决方案

1.超级计算在云计算中的部署方案

超级计算可以作为云计算的一种业务对Internet用户提供便捷的服务。从这个角度来看,超算中心可以作为云计算数据中心的一个部分。但是超级计算与云计算仍有较大区别,因此需要看作是特殊的云计算服务。超级计算作为"聚合"业务,是一种特殊的服务器集群应用。这种应用要求服务器自成系统,具体表现在:

集群系统不能出现异构现象;

集群内部的通信服务质量要求非常高,因此不能与其他业务共享业务通道;

集群系统的安全级别很高,从接入区开始一直到超算区,要求与其他系统保持物理或逻辑隔离;

集群节点的计算性能要求较高,一般不会出现虚拟机。因此,集群内部的通信流量并不会很大。

综合各种需求,可以将超级计算中心和云计算数据中心的网络进行融合,进而对外提供统一的解决方案。如图1所示,将超级计算服务作为云计算一个独立的区,保证超级计算端到端的安全隔离,并在超级计算区内实现统一交换架构。该方案重点强调性能、安全、可靠和易用性设计。

图1超级计算中心网络安全解决方案组网

2.超级计算组网方案的高性能设计

由于Infiniband具有高带宽、低时延转发的特点(通常可以低于10us,甚至达到纳秒级),传统的超级计算网络通常采用其进行组网。随着以太网的发展,以太网已在超级计算中心的网络中广泛应用。在高性能计算区域(HPC)TOP500集群中,采用千兆以太网的用户数量是采用 InfiniBand集群用户数量的两倍。

千兆以太网计算集群的优势是成本较低,但万兆以太网计算集群的性能远高于千兆。新一代万兆以太网网卡可以将服务器之间延迟降低到千兆网络延迟的八分之一,同时带宽获得更高的提升,几乎与InfiniBand速度不相上下。以H3C数据中心级交换机S12500为例,根据最新的Spirent测试报告显示,其万兆端口转发时延6~14us(盒式万兆交换机的转发时延更低)。除了转发时延有大幅度降低之外,数据中心级交换机还能够提供超高密度的万兆接入端口,可以实现大量计算节点的高密度接入,有效的降低成本。

近年来随着万兆以太网成本逐渐降低,高性能集群升级到万兆以太网将会有效的提高计算集群的性价比。另外,万兆以太网每Gb的端口功耗比千兆以太网的要低,使得用户获得10倍带宽的同时又降低了能耗。

3.超级计算组网方案的高安全设计

安全设计方案可以分为安全分区规划以及端到端的安全部署两部分。如图2所示。

在超算中心网络中,存在不同业务种类的设备且易受攻击程度不同。根据这些业务种类和设备情况可制定不同的安全策略和信任模型,将超算网络划分成不同区域,区域之间实现逻辑隔离,重点保证高性能计算区域(HPC)的数据安全和流量服务。

针对不同级别、不同业务的用户实施端到端的安全部署,从接入终端一直到超算中心最终的服务器,都能一直保持逻辑隔离的状态。通过端到端的安全隔离进一步加强超算中心核心业务的数据中心安全性和服务质量。

图2超级计算组网方案的端到端安全设计

4.超级计算组网方案的高可靠设计

采用网络虚拟化技术将实现高可靠性要求,可实现分布式设备管理、分布式路由和跨设备链路聚合,部署虚拟化除了提高超算中心网络的可用性,减少单点故障影响,同时无需再考虑MSTP、VRRP等协议,解决了传统设备和链路只能工作在主/备模式和利用率低于50%的性能瓶颈。

因此,通过部署网络虚拟化技术,可以有效地将超算业务的网络可靠性提高一个级数,极大的保证用户业务的连续性。同时,超算中心网络的性能将以倍数级别灵活扩展,增强可靠性,简化配置,降低投入和维护成本。

5.超级计算组网方案的易用性设计

传统的超算中心网络结构异构复杂,接口不统一:前端网和管理网采用以太网;存储网采用FC;计算网用Infiniband。这导致超算中心运行时协议转换开销大、速率不匹配、存在性能瓶颈、开发与部署周期长、无法满足业务快速灵活部署和性能需求的问题。

图3超算中心一体化网络

超算中心网络易用性解决方案就是一体化网络设计方案,通过CEE(增强以太网)技术和标准IP协议融合前端、计算、存储和管理四张网络,消除网络技术割裂所来的种种弊端。可以有效的简化网络层次、轻松部署、降低TCO。

结束语

云计算是从网格计算演化来的,但并不等同于网格计算。网格计算(尤其是大规模的网格计算)对于网络的要求很高。超算中心网络设计方案需要满足不同类型的超级计算的需求,必须能极大的提高超级计算的性能、可靠性、易用性和安全等方面的指标。