阿里云超算战纪 | 凌云时刻
发布日期:2021-06-30 18:30:50 浏览次数:2 分类:技术文章

本文共 7493 字,大约阅读时间需要 24 分钟。

凌云时刻 · 故事

撰文| 卢晓明

编辑| 猛哥

图源| 受访者及unsplash

楔子

今人不见古时月,今月曾经照古人。

 

人生代代无穷,月下始终有一批批匠人、学者、工程师,举头而思,低头而作,奋斗无穷。

 

他们不是军人,却搏杀在没有硝烟的战场;他们亦非伟人,引致的巨变绝不逊于革命。

 

第一次工业革命,蒸汽机取代了马力;第二次工业革命,电力普惠全世界;第三次工业革命,算力成为信息时代的新能源。

 

唯有技术,才能扣动人类进步的扳机。

 

正文

“你,我认识。阿里,是个电商公司,卖东西的,怎么做好发动机?”

 

2017年春,刚成为阿里云高性能计算负责人的何万青博士,去拜访一家重工业制造商,听到了这么一句话。面前的“潜在客户”,是他的朋友。

 

何万青心里很难受,却哑口无言。

 

其实,曾经的他也如此认为。

 

高性能计算(High Performance Computing),又称超级计算或超算(Super Computing),是位于金字塔顶的高精尖技术,能支持核物理、飞机制造和石油勘探等命脉行业,需要用最强悍的芯片、最高速的网络。

 

云计算诞生10年有余,才可全面支撑电商、游戏等互联网应用;但大型工业仿真等高性能计算领域,鲜有上云。

 

究竟行不行?

 

阿里云用了三年时间来回答。

 

三年后,阿里云与上汽集团、吉利集团等共同创造了国内最大规模的汽车仿真公共云平台。

 

三年前何万青去拜访的那家重工业制造商成为阿里云的客户,而且是业内标杆项目。

 

“我知道愿意做这事,能做成这事的,就是阿里云。”何万青说。

试错

回到2015年,5K纪念碑已然立成(5K,阿里云“飞天”集群正式运营服务器规模达到5000台),阿里云迎来历史高光时刻。

 

彼时,人工智能尚未兴于业界,阿里内部已尝试引入GPU优化业务性能。后来,该团队并入阿里云,相应技术要对外输出。这堆数量庞大的GPU物理机产品化后,名曰HPC 1.0/高性能计算。

 

HPC 1.0的试水,让阿里云2016年收获了汽车仿真、渲染等多位传统行业客户。

 

其中一个重要客户是吉利。阿里云严格按照合同,单独为吉利在杭州青山湖开设机房,采用高主频计算服务器、专用高速网络InfiniBand(简称IB)、Lustre并行文件存储系统。计算、存储、网络,无一不是正正经经的高性能计算。

 

客户很满意,但阿里云工程师却一拨又一拨地离职。

 

HPC 1.0是个孤岛,本质上是物理机租赁,与阿里云“飞天”系统并不相融。

 

历史上,科学家们发明了“集群”来处理这些大算力场景,也就是把很多机器连起来,当成一台机器使,有人管这叫“堆机器”。

 

高性能计算集群,与一般的集群可不一样。

 

既然是一支悍军,单兵自然要求以一敌百,亦即单台机器性能要高。而云服务器基于虚拟技术,具备弹性的同时,也消耗了一部分CPU来做虚拟化。单台性能随之下降,进而整支军队战斗力下降。代价太大,不划算。

 

问题来了:汽车仿真的项目制带来算力需求波动,且传统机房运维压力太大,上云就能享受按量使用的弹性和自动化运维的便捷。超算却上不了云,只能用物理机,无法与阿里云“飞天”系统打通和统一管控,也就不能享受云的便捷和弹性。

 

云服务器,装机时选取镜像即可秒级启动;物理机则需要逐一安装系统与配置。虚拟机可以一键迁移,宕机了都不影响上层业务;但物理机则不然,需要快速奔赴现场,人肉运维、排查,甚至重启。

 

HPC 1.0 没法像云服务一样自动化运维。团队成员都纷纷弃疗——看着同事在追逐飞天梦,自己则做着传统IT。这不是他们想要的未来。

 

这也不是阿里云想要的未来,更不是制造业的未来。

 

人肉超算,此路不通。

 

那,高性能计算还做吗?

 

做,但必须上云。

觅将

2016年秋,时任阿里云虚拟化技术负责人张献涛,接手高性能计算团队。

 

 张献涛

“云计算有非常强的算力,我们更多服务的是互联网等新兴场景,当时还没有AI,所以对算力需求最大的就是高性能计算。让云通过一定的改造,能承接高性能计算场景的需求,这是我们应该具备的能力。”思前想后,张献涛坚信云上高性能计算还是要做。

 

然而,超算不适合在虚拟机上运行,物理机又与云不相融。他已筹划打造一件秘密武器,化解这个矛盾。

 

空前之战,必是苦战,团队中尚缺一名久经沙场的技术大将。可扳指算来,超算人才本就凤毛麟角,去哪里寻觅这么一个牛人?

 

真是踏破铁鞋无觅处,得来全不费工夫,当张献涛正琢磨此事,听闻圈内名将何万青有意投身云计算。他当即飞去北京。

 

何万青,何许人也?

 

 何万青

高性能计算领域技术大拿,曾在英特尔中国领导高性能计算应用优化和MIC众核、Lustre并行存储产品支持等业务达11年多,也是天河2号超级计算机核心团队成员,负责英特尔Xeon Phi众核协处理器的主板集成;2015年底加入奇虎360云公司担任CTO;360战略转型后又应邀加入一家知名IT企业担任超算架构师。

 

见到何万青,张献涛一挑眉,开门见山:“高性能计算上云这事,你怎么看?”

 

何万青,圈内人称何老师。一听就知他有多能讲,处处皆是他的三尺讲堂。

 

“超算上云早就有人提出,但是并不经济。”他讲到超算对计算、存储、网络的高要求,又讲到互联网公司的硬件配置不高,两者之间存在难以弥合的硬件差距。一不小心,何万青又流露出了高精尖的超算圈对互联网圈的鄙视。

 

听话听音,别看他咄咄逼人,实则与张献涛不谋而合。

 

彼时,何万青供职的企业在超算产业链上属OEM厂商,入职后,他很快就发觉,利用通用硬件组装高性能服务器,还不如自己原来做处理器对行业贡献大。

 

他遂起了念头,是否要去云计算行业,创造下一个时代。

 

云超算,他早就想做。只是超算向来是一个不赚钱的行业,除了芯片与软件厂商,其他环节都很难盈利。超算上云成本难题解决不了,超算上的应用又不多。简单说来,技术上有坑,商业上要铺路,所以国内没有云厂商愿意做超算。

 

没承想阿里云主动找他,说要做云超算,他等此日久矣。

 

那时,阿里云已声名鹊起,飞天“5K”功成,筚路蓝缕死磕云计算的故事在江湖传颂。创业路上被虐过的何万青深知,这种死磕和坚持,在云超算路上也少不了。

 

如果真的要做云超算,阿里云可能是最合适的。

 

张献涛和何万青一聊就是一下午。一拍即合。

 

大将披甲,大战在即。

出征

 

2017年年初,何万青正式加入阿里云,担任高性能计算负责人。

 

他有不少老朋友是超算业内人士,听到阿里云要做云超算,认为云厂商不可能成为超算主力,最多不过是现有超算的补充,应急而已。

 

这种观点并非全无道理。如前所及,超算有着极高的硬件要求,而云计算用的都是通用硬件。

 

“咱有这种觉悟,有的是耐心,没有条件差距,找我来干嘛呀?”许久未下场打仗的何万青,准备好打一场酣畅淋漓的仗。

 

三军作战,须有方略。

 

何万青与张献涛一致认为,云超算眼前似乎不现实,但云的服务模式是趋势:

 

l  弹性便捷:药物研发、工业仿真、渲染等超算场景,大多是项目制,有时需要排队,有时可能供过于求,上云了可以随需随用,还能自动化运维。

l  门槛低:原来自建数据中心或物理机租赁,初始成本太高,让高性能计算遥不可及,云能降低门槛。

l  易用:研究人员要学习很多关于超算的调度、部署等知识,明明只是个药学家,想研究药物分子运动,却要先学一大堆IT知识,云则可以直接集成最上层的软件给用户直接用。

 

第一战,产品研发。

 

云超算,上层要有自动调度底层算力资源,以及支撑整个云上并行计算的运行环境,名为E-HPC(Elastic High Performance Computing,弹性高性能计算)。下层要有能提供高性能计算的算力底座,便是后来的SCC(Super Computing Cluster,超级计算集群)。

 

三位云超算团队成员

超算上云待攻克的技术颇多,故兵分四路。

 

一队轻骑,开发E-HPC。

 

两路友军,引入网络与存储新技术。

 

部分超算场景,机器间计算相互依赖,一旦通讯太慢,可能就会成为整个集群的性能瓶颈。普通互联网所用的以太网性能不够,专用的IB网络无法与云虚拟网络统一管控,阿里云网络团队打算引入基于以太网的高速网络技术——RoCE网络(RDMA over Converged Ethernet)。

 

可以想象,当几百台、几千台机器在同时疯狂计算时,对存储的挑战也不小。这个仓库需要源源不断地输入数据,并把结果快速存好——每分每秒都在被读出和写入资料。阿里云存储团队开始研发并行存储文件系统CPFS。

 

还有最难的单机性能问题。

 

好在,张献涛旗下的另一个神秘兵团,也就是第四路军,早已悄悄行动,召唤“神龙”,构筑算力底座。

 

高性能计算之所以在云上部署不经济,是因为有约10%的CPU要用于虚拟化,导致性能损耗。假设在线下机房用9万台能完成的任务,在云上可能就需要10万台,有约1万台机器的算力都“浪费”了。

 

虚拟化损耗,是云与超算之间的基本矛盾。

 

如果能将云服务器虚拟化损耗降为零,拥有物理机一样的性能呢?

 

这个看似不可能的目标,被时任阿里巴巴CTO张建锋在2016年双11复盘会上提出。

 

那时,作为阿里云虚拟化技术负责人,张献涛也一直在思考下一代虚拟化技术。接手HPC 1.0时屡经试错,他更加坚定了这个方向。

 

时任阿里云IaaS研发负责人李津跟张献涛连夜脑暴,制定出软硬协同的方案,名为“神龙”。

 

神秘兵团开始造“神龙”,希望研发出将虚拟化损耗降为零的架构。

 

历时一年,“神龙”铸成。

 

2017年,阿里云自研第一代神龙X-Dragon架构发布,基于神龙架构的弹性裸金属服务器随之面世——拥有物理机的性能,使用体验却与云服务器无异,与飞天无缝连接。

 

横亘在“云超算”路上的虚拟化难题,就此破局。

 

弹性裸金属服务器,加上RDMA高速网络RoCE,云上超级计算集群呼之欲出。

 

如今回想,何万青尚觉惊险万分,“若没有神龙,SCC也做不出来”。

 

他感叹,这就是阿里最神奇的地方:目标看似触不可及,却总给你希望,咬牙挺住。某天突然发现,吹过的牛都实现了。

 

第一场仗曙光初现,第二场仗又来了。

商用

 

阿里做云超算,不是为了秀肌肉,是要给人用的。

 

李津与何万青曾有过一次谈话。“你们搞超算的,做过天河二号,拿了世界第一,那是登珠穆朗玛峰。我们要做的是搭一个青藏高原,让中小企业都能在青藏高原之上成为珠穆朗玛峰。”

 

工业制造,乃商用战场的重镇。

 

2017年云栖大会,阿里云发布神龙之后,向上汽集团分享了基于神龙的超级计算集群的进展。

 

上汽有自建的超算机房,但算力需求波动很大,需要服务商补充波峰时期的算力。他们曾希望用云计算处理汽车仿真,但测试下来虚拟化性能损失高达60%,只能忍痛放弃。

 

如今,神龙将虚拟化损耗降为零,恰好解决了上汽的痛点。

 

产品还没发布,就来了一个“内测”的用户。阿里云高性能计算团队甚是惊喜,先在内部用公开数据集和工业仿真软件跑出初步性能数据,上汽还算满意。

 

接下来,就得用上汽真实数据测试了。

 

SCC商用首站,在上海办公的黄航被指派为支持工程师,跟CBM(Cloud Business Manager)金雪峰及合作伙伴驻场服务上汽。

 

黄航家在浦东,需要横穿上海城到嘉定区,同上汽员工一起上下班;从项目书撰写、环境搭建、大规模测试,到项目验收,他至今还记得每个关键瞬间。

 

这个“内测”真的发现了问题。

 

在测试过程中,某台服务器存储性能骤降。汽车仿真场景,每台机器相互依赖,一台机器出了问题,便如木桶中的短板,拉低了整个集群的性能。

 

当晚,黄航在上汽办公室排查到凌晨5点,还是没能找到原因。此事上报到何万青和张献涛,存储、网络、神龙等几个团队也在马不停蹄地找寻原因。

 

上汽很着急。

 

阿里云抱着“春节前毕其功于一役”的决心,几个团队都派出专家,驻扎上汽办公室,排查故障。

 

数日之后,专家们似乎定位到问题所在,偏偏这故障又迟迟不来。

 

一日,黄航通勤路上,故障复现了!他赶忙在车上启动电脑,并呼叫后方。瞬间,计算、网络、存储、神龙等各路援军和负责人都齐聚网络会议室。

 

车内的黄航突然泪目。POC(Proof of Concept)测试启动以来,研发团队中只有他一人在前线面对客户,顶住压力。这一通电话让他发现,其实兄弟们一直在身后。

 

故障修复,春节后连续两周,SCC集群正常运行。

 

黄航松了一口气。交付之后,他持续保持着对上汽的关注,在客户的授权下,人肉护航了许久。

 

真刀实枪的公测让系统迈过了最重要的一道坎儿。此后,SCC开始展现真正实力。

 

上汽把越来越多的作业都放上来,以致于一周七天,有六天半都是满负载运行。分明是用行动表示“我很满意”啊,后来上汽继续扩容,坚定了在云上业务创新的决心。

 

蒋江伟

2018年9月,又是一年云栖大会,时任阿里云研发总经理蒋江伟在主题演讲中高调阐释了“云超算,工业制造和科学计算的新驱动力”,并现场演示了利用阿里云SCC完成汽车仿真中“空气动力学性能测试”。

 

阿里云超算团队与有荣焉,聚光灯下,鲜花在前方。

大考

 

阿里云超算终于迎来成名之战, 那就是吉利汽车HPC项目。

 

如果说,上汽乘用车仿真集群上云是中国汽车行业仿真领域的一个突破,那么吉利汽车仿真业务的全量上云则是空前的挑战。

 

云超算未诞生之前,随着吉利汽车产品竞争力日益提升,市场占比逐年攀升,吉利仿真业务需求巨大,达数千核,一直使用线下IDC机房。

 

待到云超算羽翼已丰,大风起兮,云可飞扬?

 

2018年春节后,吉利研究院HPC项目组正在规划未来三年建设蓝图,以期实现“吉利汽车跑全球”的愿景。

 

同吉利技术交流几个月后,阿里云汽车与智能出行行业CBM刘德坤脑海里时常强迫性冒出“数万核、所有新车型研发、搞不好影响新车研发周期……如果做传统HPC方案,阿里云价值在哪?”

 

选择传统IT建设方案,还是云上仿真?

 

刘德坤举旗难定,目睹小鹏、上汽等SCC早期用户反馈良好,他最终建议吉利做一次创新性尝试。

 

根据服务上汽的经验,云超算团队成员林沐晖用公开的两车碰撞模型,算出在阿里云上的用时比在已有集群上要少很多。

 

这里插播一下科普,汽车仿真模拟中,除了最底层的基础设施,还有运行在上面的软件。汽车仿真软件按使用时长计费,每年花费往往比硬件还贵。缩短运算时间能同时降低了硬件和软件的成本。

 

吉利技术人员已经习惯了线下机房,也用惯了专用IB网络,对阿里云测出的性能数据表示怀疑。

 

刘德坤、金雪峰和林沐晖便带上网络与存储的同事,一次又一次拜访吉利,逐一解答疑问,如云上集群的特性、RoCE网络与IB网络的区别等。

 

深入沟通后,吉利对上云非常感兴趣。毕竟谁都不喜欢人肉运维,阿里云能在硬件宕机前就把虚拟机迁走,业务却完全无感知。这好比坐着飞机换引擎。爽啊!

 

一旦吉利上云,就是国内最大汽车制造仿真公共云集群。云计算史记和工业信息化史上定会留下一笔。想想就激动!

 

兹事体大。

 

吉利怕。

 

阿里云也怕。

 

从来没有如此大规模的超算集群部署在公共云上,一旦出问题,阿里云就不用在汽车行业混了。

 

大胆创新,小心验证。任何创新突破都离不开科学系统的验证,吉利和阿里云双方超级默契提出,组织2-3次系统性验证测试,

 

项目宁愿不拿,测试一定要做,最坏的测试结果总比车毁人亡的事故现场好。

 

刘德坤跟研发同事一起紧锣密鼓地准备这场测试,把风险应对方案都在心里默念了好几遍。

 

准备妥当后,吉利两位工程师和业务员带着装有专用仿真软件的电脑来到阿里云飞天园区。测试进行了整整三天。

 

双方都在紧张地等待着结果。

 

过程惊心动魄,结果石破天惊:最终的性能比线下机房高13%-30%!

 

团队正在测试

众人折服于技术创新带来的成本红利:“这是公共云对传统HPC集群的胜利。”

 

意外陡生。

 

数天后,傍晚7点。

 

在杭出差的何万青正准备坐高铁回京,出租车距离杭州东站还差300米时,他接到了金雪峰的电话:“你在哪?我们已经谈判两天了,谈不下来。你马上来杭州湾,救火!”

 

宁波杭州湾,吉利总部所在地。

 

原来,前两日,阿里云几位同事来此准备跟吉利签约。

 

吉利极为谨慎,除了技术负责人,商务、财务、法务等部门负责人悉数到场。十几个人将阿里云的技术方案、迁移流程及保障措施等,逐一拆解,反复确认。

 

这阵仗,必须要何万青出马。

何万青听罢,挂上电话,让出租车师傅掉头直奔宁波。

 

车过杭州湾跨海大桥时,已是晚上9点。窗外夜凉如水,何万青心如磐石,志在必得。

 

次日,何万青又展示出他“布道师”的本色,面多众人,侃侃而谈,从技术细节到行业意义。9小时后,协议达成。

 

接下来就是争分夺秒的交付。

 

时值春节,不过阿里云高性能团队已经习惯了,他们从来没有好好欢度过春节。

 

从1月3日开始,历经64个不眠夜,到3月1日深夜,刘德坤终于发出最后一封项目交付日报。

 

种种“不可能”都变为可能。刘德坤说,这是他这辈子都忘不了的项目。“感谢吉利汽车,同邻钱江,共举创新,感谢双方每一个在此项目中参与付出的同路人,哪怕只有一分钟,感谢为创新的坚持!”

 

一战定乾坤!国内最大汽车仿真公共云集群上线!

 

此战过后,阿里云超算在制造业仿真领域势不可挡,接连斩获上汽扩容等项目。

后记

 

2020年春节,阿里云超算团队又迎来一个无眠的春节。

 

新冠肺炎爆发,众多机构与病毒赛跑,用最先进的技术与算力加快药物研发。超算算力成为“急需品”。

 

1月29日,阿里云总裁张建锋宣布:对全球开放高性能AI计算算力,支持各大医疗机构抗击疫情。

 

渲染、气象、芯片仿真、石油、制药……阿里云超算服务越来越多的行业。

 

阿里云超算,从零开始,今天业界领先。

 

将镜头拉远,阿里云不过在人类雄心勃勃的巴别塔上,又添上了一块砖。

 

千年前,砂糖乃权贵禁脔;百年前,电灯能羡煞百姓;数十年前,超算资源是奢侈品。

 

上世纪,中国人重金买回超级计算机,只得隔着玻璃房子看美国工程师操作;近十年,天河二号、太湖之光等中国超算拿下了世界第一,大型国企用上了超算,但仍供不应求。

 

如今,云超算飞入寻常百姓家。

 

高性能计算是创新的燃料。何万青相信,通过阿里云超算的普惠,超算会让人类的生活更美好。

 

盛世繁华无不起于荒芜,全赖无数人在耕耘、搬砖、敲代码。蓦然回首,才惊叹世界已变。

 

参考资料:

1. 《超算简史:练飞天之技,登峰一战后,终有落地日》

2.《阿里云超算揭秘:虚拟机的心脏,物理机的肌肉》

3.《黑科技揭秘:如何通过阿里云超算,使得汽车仿真效率提升25%》

4.《异构计算与高性能计算,是打开未来的两把钥匙》

END

往期精彩文章回顾

长按扫描二维码关注凌云时刻

每日收获前沿技术与科技洞见

 

转载地址:https://lingyun.blog.csdn.net/article/details/107036596 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:斥资57亿美金,Facebook 入局印度 | 凌云时刻
下一篇:阿里云云安全中心入选 Gartner CWPP 全球市场指南 | 凌云时刻

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月28日 23时38分36秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

POJ - 3517 And Then There Was One (约瑟夫环变式) 2019-04-30
HDU - 2068 RPG的错排 (错排+组合数) 2019-04-30
CodeForces 591C Median Smoothing(思维 模拟) 2019-04-30
升级yosemite后java出错的解决 2019-04-30
Spring Cloud Spring Boot b2b2c 微服务 多商家入驻直播商城之Maven 项目模板 2019-04-30
mac || Linux 命令行下实现批量重命名 2019-04-30
java常用类 String面试题 2019-04-30
Windows10下的powershell美化教程 2019-04-30
利用ffmpeg合并音频和视频 2019-04-30
刷好老毛子系统进不了老毛子系统后台的解决办法 2019-04-30
Parallels Desktop 16 不能联网的解决办法 2019-04-30
ERROR 1292 (22007): Incorrect datetime value: ‘2002‘ for column ‘出版日期‘ at row 1 2019-04-30
SLAM中TUM数据集更改图片名字 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第1章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第2章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第3章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第4章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第5章 2019-04-30
synchronized和CAS锁的区别【图文教程】 2019-04-30
【java】属性别名:@JsonProperty和@JSONField的区别?【图文教程】 2019-04-30