工业4.0所倡导的工业智能化背后,离不开高性能计算(HPC)、大数据和云计算融合的“大计算”。9月24日,由亚洲超算协会联合浪潮等主办的2015高性能计算用户大会在北京举行,大会围绕目前的新技术趋势提出“大计算”理念。高性能计算可以显著降低工业设计、研发和生产的成本,并大幅度提升效率,是实现工业4.0最重要的创新工具之一。
挑战计算力的黑洞
可以说,“大计算”成为一种趋势,它在技术体现在两个方面:
第一是云计算、大数据和高性能计算等多种计算形式在逐步融合。
互联网技术、遥感技术的快速发展和对其他行业的渗透,带来了数据的爆炸式增长,也带动了人工智能等一批新技术的兴起,复杂的应用使得单一架构的数据中心难以胜任处理工作,需要将不同的计算方式予以融合。
第二是基础架构如计算、网络、存储等的界限也越来越模糊,走向软件定义的趋势。
同时,大计算也代表着一个更大计算力的时代 —— 百亿亿次。数据的爆炸式增长带来的直接结果,就是对计算力的需求更加旺盛。就以深度学习来说,它往往意味着计算力黑洞。
—— 有多黑洞呢?
当今最著名的GoogleBrain使用的并行计算平台使用了16000个CPU,共计10亿的节点,来进行深度学习模型网络的构建。然而人脑大致有1000亿神经元(对应深度学习模型中的CPU),每个神经元有大约5000个神经突触(对应计算网络中的的节点)。曾经有人估算过,如果将一个人的大脑中所有神经突触依次连成一条直线,可以从地球到月亮,再从月亮返回地球。同时,人脑的计算能耗比还非常低,相当于世界上最快的超级计算机天河2号的200万倍。
日本和德国的研究人员曾在“京”(日本最快超级计算机)上进行了历史上规模最大的一次人脑神经模拟计算 —— 使用“京”的82944个处理器+1PB内存模拟人脑的17.3亿神经细胞。结果,京完成1秒的人脑模拟计算需要耗费40分钟,而如果假设完成时间与被模拟神经规模成线性比例的话,那么模拟整个大脑1秒的运作则需耗时2.5天。
在人类社会的数据量以EB级的速度增长的情况下,需要一种新型的低成本、高效率计算架构(主要是芯片、网络技术的颠覆性变革),才能完成数据处理的工作。
过去一年,听到的越来越多的词语就是“深度学习”、“人工智能”。很多人也提出需求:我有大数据的需求,能不能和HPC进行统一的整合给我提供管理?我在深度学习上遇到性能的问题,用HPC的技术能不能更好的解决和实现?
实际上不同的计算方式给我们提出了挑战。比如国内现在很多互联网企业的采购单元已经从原来的单机变成了机柜单元,下一步可以想像他的采购模式可能是要布满传感器。这就代表了在企业集团架构上的融合进化的趋势。最早的时候,在服务器上面,它是节点的耦合,具备自己独立的处理和存储。那么到了Rack的时候,机柜计算单元可以实现池化,它的整个机柜互联,通过无交换机的方式实现整个网络的拓扑和设计,做到整个数据中CPU的共享、存储式的共享、IO的共享并进行全局供应链的管理。
新计算时代的挑战
高性能计算(High Performance Computing)指使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计算资源操作)的计算系统和环境。HPC在若干年前已经成为了一个概念,高性能计算最早期已经具备了相关特性。
不同的计算方式在耦合,计算架构在融合和进化。在这样一个新的计算时代我们会面临什么挑战?
首先是如何用一个大计算解决所有的企业计算架构问题。不同的应用具备不同的计算特征,所以我们需要适合的计算资源提供这样的计算服务。
第二是硬件架构需要面对多样的计算挑战。例如大数据,传统的科学工程计算和深度学习,它对后台的计算架构需求不一样的。
第三是如何在混合的计算产品上保证应用的灵活性。
我们缺少的是适应性的计算环境
“计算+”的策略,其核心理念就是改变原来服务器是服务器,存储是存储,网络是网络的状况,让他们演化会合为一体,通过软件定义的方式实现后台整个计算架构。
这样的趋势在过去几年已经是屡见不鲜,越来越多网络公司把自己卖给服务器公司,越来越多存储公司也想把自己卖给计算公司。这代表着一个明显的信号:未来世界网络可以通过软件来定义,存储也可以通过软件定义,只要基于计算架构,就可以通过软件来定义所有的计算架构。
在这样一个策略下,需要提供一个适应性的计算环境,在硬件架构上面是一个融合的基础架构,在软件设计层面能够实现软件定义HPC。
适应的计算环境
不同的计算中不同应用对于计算特征的需求完全不同,不可能一个环境可以做一切的事情。这样的情况下,需要提供的是一个有更多可能性和选择性的计算环境。
融合基础架构
现在已经很明显的趋势叫计算+,也就是计算、存储、网络正在融合。面向计算的机柜式基础架构,它是在一个机柜里面用相同的物理规格实现不同的计算功能,有两路、四路、交换节点和存储节点,可以通过软件定义的方式实现资源池化和共享。在整个基础设施方面,有全机柜的统一供电和风扇共享,实现全局管理的融合,对于整机柜所有的计算资源实现统一管理。
软件定义的HPC
软件定义这个词非常热,具体到HPC上来说,最核心部分就是软件定义HPC,提供软件的环境。
1、软件定义的数据服务。
在大数据的应用里面,大概70%的时间是消耗到IO(input/output,即信息的输入与输出)上面的,这是应该解决的问题。现在通过软件定义存储的方式,可以让高性能计算、大数据和云计算这样不同的接口支持不同的数据格式,为不同的应用提供统一的存储空间。这样不管前面计算集群上面运行HPC、还是大数据、还是深度学习,在后端存储的数据服务上是统一的存储设备,只是通过不同的软件定义的方式去提供。
2、软件定义的网络服务。
在云、大数据、互联网这个领域大家原来使用习惯是软件定义,这带来IO不那么好。如果通过HPC,用软件定义网络服务的方式,能够实现更加接近于应用的、适合它的网络拓扑。比如可以实现3D的架构,有别于传统的2D架构,它的节点扩展性少了很多制约。在3D上面实现极大规模的网络扩展,基于不同的应用环境,通过软件定义它的不同拓扑,使得通过资源感知的方式,将通讯密集的应用放在网络平台上,这样计算应用的时候保证网络通信延迟更低,带宽更高。
3、软件定义的资源服务。
它可以在不用应用之间实现资源统一分配和调配,能够在物理机和虚拟机之间实现资源分配和迁移,并且实现计算在本地和云端灵活的迁移和调度。
通过软件定义的数据服务,软件定义的网络服务和软件定义的资源服务这三个方面,加上适应性的计算环境、融合的基础架构之上实现软件定义的HPC是目前的思考。HPC在若干年前已经成为了一个概念,在目前的这样一个大计算的趋势和挑战下,可以做到HPC到深度学习,HPC到大数据。
【本文作者刘军,浪潮高性能服务器产品总经理】