收到一封小伙伴的私信,让我说说高性能计算的发展历史。工作以来,一直在从事高性能计算行业打转,也见证了这些年,国内高性能计算从弱到强的发展历程。虽然和当下热门的手机、个人计算机行业相比,高性能计算是个冷僻的行业,知道的人不多,各种事件更是很少见诸报端,但是它在我们看不到的地方,很多新兴产业和科研生产背后,都有高性能计算的身影,发挥着极为关键的作用。即然今天有人喜欢这个话题,那么我就来谈谈高性能计算的发展过程。
先说硬件,如果按照时间来划代,现在大家对高性能计算硬件的普遍划分,旁支不算,大致分为这样四个阶段:向量机、SMP、MPP、集群。
上世纪七十年代,克雷机开启了高性能计算的先河。这家伙是那个时代的超级计算机,一经推出就大受追捧,先后被美国能源部、国防部、波音、美孚石油采购。到了八十年代,我国也推出了自己的向量机:银河1号,用来计算核爆、高速流体、油气开采等一些亟待解决又高度保密的课题。现在银河1号向量机已经退役,曾经在北京的军事博物馆展出,本人还曾经坐1号线跑去参观过,不知道现在怎么样了。如果有知道的小伙伴,欢迎下方留言。
向量机虽然计算性能强大,但是它的缺点也十分明显,就是所有软硬件都需要专门设计定制,和市场上销售的大量软硬件不兼容,使得向量机的硬件价格非常昂贵,软件设计研发成本高昂,只有政府和大公司这种不在乎成本的部门才用得起,很难做到普及。这个缺点严重制约了向量机的发展,所以当时有人们为了降低成本,把目标转向通用的软硬件设备,于是就有SMP的诞生。
SMP中文翻译是”对称多处理(Symmetrical Multi Processing)”。它是在计算机里安装多块处理器,共享内存和数据总线来提高计算性能。我们现在的手机、平板、PC的多核CPU其实也是SMP架构。二者的区别是以前的处理器会安装在主板的多个基座上,由总线连接;现在是把多块处理器在生产时就封装到一起,做为多核处理器插在一个基座上。
由于SMP架构技术难度低、计算性能提升明显、性价比高、市场需求大,特别关键的是能够兼容当时绝大多数软件,所以当年很多个人电脑厂商,也加入了SMP架构服务器生产队伍,比如当年的Compaq、HP、IBM等一众行业大佬,都是生产SMP服务器的主力军。
SMP架构通过增加处理器数量,再结合软件提升计算性能,但是SMP架构需要共享内存和数据总线,运行过程中存在竞用物理资源的问题,属于“并行计算+串行IO”的方案,限制了多核处理器发挥性能,而且SMP架构能够增加的处理器数量也很有限,制约了继续向上发展。所以当时人们为了追求更加强大的计算能力,于是MPP架构便应运而生。
MPP中文名称是”大规模并行处理(Massively Parallel Processing)”。这种架构相比SMP,取消了共享内存和数据总线,把每台计算机做一个单独的节点单元来对待,节点之间使用高速网络连接,并通过修改软件设计,实现多机协同运行来完成计算工作。MPP是纯粹的无共享架构(Share Nothing),一般都是IT巨头们的定制机,它的硬件代表是刀片机,软件代表是分布式数据库,比如GreenPlum、Teradata都属于MPP架构。
MPP架构相比SMP架构,性能虽然获得大幅提升,但是缺点更多,比如对硬件设备要求高,产品价格贵,扩展能力不足,需要专用软件来支持(开发MPP架构的软件,是远比MPP硬件更难的事情)。所以它至今仍然是那些不在乎成本的IT巨头和垄断部门的专属玩物。实际这些年来,MPP产业生态之所以没有太大发展,这些缺点是主要的制约原因。
但是人们对高性能计算的追求是无止境的,为了获得更加强大的计算效果,现在高性能计算已经进入到第四个阶段:计算机集群。
当前的计算机集群可以说是ICT产业技术和市场多年发展的综合成果和集大成者。它除了沿用MPP架构的一些概念,还大量借鉴采用互联网衍生出来的各种基础技术。比如普遍采用通用硬件来降低设计和采购成本;采取“软件定义硬件”策略,把原本属于硬件的功能转移到软件来解决,同时也更方便软件升级。在系统底层,使用统一的基础界面、统一的协议支持异构计算平台,允许动态增加或者减少计算节点,通过”硬件冗余+软件容错“解决硬件运行过程中出现的各种故障。在诸多新技术新设计理念加持下,现在的集群架构即获得了近乎无限的扩展能力和计算能力,在成本上,又具备了很强的经济性。
另外,和前几次高性能计算架构只面向专业领域不同的是,当前集群的发展方向已经转向了商用领域,最典型应用场就是云计算。云计算面向商业用户,它融合了虚拟化技术,把一台物理计算机虚拟成多台逻辑计算机,更强调经济性和使用成本,普遍采用按时或者按流量的支付模式,支持多租户共享资源,按照用户需求弹性分配计算资源。集群架构另一个主要应用领域是超级计算机。当前世界上主要的超级计算机,比如我国的“神威”、“天河3”,美国的“泰坦”、“Summit”、“Frontier”,日本的“京”,都属于集群架构。而且云计算和超级计算机也在快速融合中,一种叫“云超算”的按时付费的共享计算模式正在各大云平台中形成。
说完了硬件,咱们再说软件。按照贝尔定律的说法,计算机领域每隔10年左右,就要产业新平台、新网络、新接口,并且成本更低,由此形成新产业。
集群架构很好地佐证了这一点。由于建立在集群架构之上的业务需求、市场生态已经发生了根本变化,如果继续使用旧的软件平台,将无法发生发挥集群架构强大的处理能力,所以需要新一代的基础软件平台来支持这个能力和应用业务。这就象2007年苹果推出IPhone手机,同步推出iOS操作系统来适配IPhone手机一样,现在多家ICT巨头已经看到计算机集群带来的各种商机,正在纷纷投入巨资研发通用型的集群系统软件。同时,超级计算机做为国家综合科技实力的体现,是科研技术大国在世界上一张亮丽的名片,现在各大国都在加大对超算和超算软件的研发投入。无论是企业还是国家,都希望取得在计算机集群基础软件上的领导地位,拿到下一场技术革命的门票。
在这方面,Laxcus分布式操作系统无疑是走在了前面,它是纯粹分布运行的操作系统,完全基于计算机集群和云端环境设计开发。相比Windows、Linux一套系统管理一台计算机,Laxcus一套系统管理N多计算机,还支持大量新兴技术,比如云原生、Massive MIMO通信网络,处理的是大规模、超大规模的存储计算工作。这种巨量的存储计算工作,在单机系统很难实现,但是在Laxcus分布式操作系统上,通过硬件庞大的算力和系统软件强大的组织管理能力,却可以瞬间完成。说几个指标,大家感受一下Laxcus分布式操作系统。
1、集成了云端业务所有刚需:集群虚拟化、全域安全管理、大数据、智能集群模型、容器、分布式应用软件。
2、对于分布式处理,能够将云端、边缘端、终端链接起来,无缝处理,实现一体化分布协同工作。
3、对于计算机节点,可以是最少一台服务器到百万级服务器的支持。
4、对于在线的用户人数,可以是几个人到亿级用户的支持。
5、对于数据处理,支持HTAP,数据存储规模,可以从几个G到EB级别。
6、对于应用软件,可以从几个软件到几百万级应用软件在云端运行。
7、对于软件开发,提供分布式编程工具包(DSDK)。从图形界面到网络接口、分布模型的各种基础功能,一应俱全,并且还在不断扩展中。开发者可以象开发单机软件一样开发分布式软件,非常灵活方便高效。
最后说几句,目前云计算、超级计算机、基础集群软件,仍然是美国最强,我国处于追赶地位。由于集群架构的硬件构型已经完成,现在各国发力竞争的主要是基础软件,尤其是像Laxcus分布式操作系统这样的基础软件,是竞争的最重点。就象美国当年通过PC操作系统、手机操作系统统治了个人电脑、手机市场,取得了决对优势一样,基于集群架构的分布式操作系统也将决定蓝星各大国,在未来二三十年,在云计算、大数据、人工智能、工业4.0的领导地位和产业应用生态。
对于中国,这是一场不能输的战争。
在此与各位同行共勉努力!
Laxcus是一个开源、容错、高扩展、多人共享、多机协同分布运行的操作系统,通过分布式应用软件,聚合数据、算力、机器算法,处理大规模、超大规模的存储和计算工作。企业版支持百万级节点规模的计算机集群、亿级用户在线。
了解更多Laxcus分布式操作系统安装使用部署,图形设计、网络通信、分布式存储、大数据、分布式计算、边缘计算、人工智能、云原生、安全管理、开发分布式应用软件和其它前沿技术,请关注公众号“Laxcus分布式操作系统”,或者联系小编微信,加入产品技术群,让我们一起讨论最新的产品技术知识。