资讯 业界
此为临时链接,仅用于文章预览,将在时失效

跑在纯国产处理器上的麒麟云,有哪些不为人知的故事?

作者:史中
2017/05/26 11:52

两只手握在了一起,主席笑容可掬,川普春风满面。然而,聚光灯之外,画风并不温暖。棱镜计划掀起海底光缆、美国对中国禁运 Intel “至强”芯片的往事历历在目。坐在牌桌上,如果说我们手中有底牌,一定来自于中国人在赛博世界中的代码厮杀。

一个从头到脚,从底层芯片到上层代码都烙着自主可控的云计算系统,是一张值得我们骄傲的底牌。

这正是谭郁松的梦想。

跑在纯国产处理器上的麒麟云,有哪些不为人知的故事?

▲谭郁松

文 | 史中(微信:Fungungun),雷锋网主笔

采访对象 | 谭郁松,国防科大计算机学院 研究员

天河往事

世界第一的中国超算

天河二号,可以算是超算界的网红。

中国的科学家们,用特有的超算技术,帮助天河二号在世界超算排名中连续三年六次蝉联冠军。国防科大计算机学院研究员谭郁松便是其中一员。

天河二号上运行着中国人自主研发的银河麒麟系统,在它最辉煌的日子里,也饱受外界吐槽,因为这个世界上最快的“超级大脑”虽然代表了中国,使用的却是 Intel 的芯片。有人说,Intel 芯片的超强算力才是天河的成功秘诀。

很多人认为超算就是把一堆芯片拼凑起来,但这不太正确。举个例子,如果资金充足,你可以用钱堆出一辆很豪华的车,但未必能堆出 F1赛车。芯片运算速度固然重要,但超算技术,最核心的部分在于如何对系统进行软硬协同的优化设计。天河二号在超高速互联、异构计算加速、编译优化以及对资源高效调度等方面,都有着世界领先的技术。

谭郁松说。

跑在纯国产处理器上的麒麟云,有哪些不为人知的故事?

▲天河二号

从超算到云计算 

手握“超算”,谭郁松却并不满意。

正如他所说,超算的精髓在于对计算资源的精确且高效地调配。而这种精确调配的能力,仅仅用于高精尖的超算显得有些浪费,它还有一个巨大的应用方向:云计算。这正是麒麟云诞生的原因。

很多人会困惑,超算和云计算的区别在于哪里呢?

如果把超算比作F1,那么云计算就是公共汽车。一个追求顶尖的速度,一个追求弹性的空间。换言之:超算追求的是计算力并行的紧耦合,把一个任务做到极致;云计算追求的是计算力分布的松耦合,把池化资源的平均利用率做到最高。

谭郁松和团队的科研背景,让他们成为了中国较早对云计算技术钻研的团队。

技术大牛的乌托邦

故事要追溯到2006年。

彼时他从学术角度来看,计算机在资源管理方面的核心就是在做抽象和调度,普通集群如此,超算也是如此。如果能把超算直接变形成云服务,就像构建一幢没有内部没有承重墙的大厦,里面的隔板可以随时打掉重组,会是一件很酷的事情。

这样一幢大厦,面临什么技术难度呢?

跑在纯国产处理器上的麒麟云,有哪些不为人知的故事?

▲用超算构建的云计算,如同构建一个没有内部承重墙的大厦

在2013年,云计算大多还停留在一个集群几百个节点的时候,谭郁松和团队选择了在天河二号上挑战用6400个节点做云,这就是麒麟云(KYLINCLOUD)的最初形态。 

上辈子是超算的麒麟云(KYLINCLOUD),遇到过什么坑?

麒麟云面临的第一个大问题,仍然是算力的调度和协调。

一个控制节点相当于一个头领,下面一堆兄弟。但是在云的情况下,一个节点既要管理开销,又要维护状态,这时一个头领就忙不过来了。此时可能需要多个头领,但问题又来了,管理节点之间要做状态同步,且不能发生管理冲突。类似这样的问题数不胜数,如果解决不了,就会出现“集群规模增加, 管理成本增加更快”的问题。因此,如何进行高效能的算力调度和协调,支持资源的弹性伸缩是关键。经过努力,做到了单云规模达到6400节点,这应是当时规模最大的单云。

谭郁松对雷锋网说。 

麒麟云面临的第二个问题,是软硬件可靠性的问题。

任何硬件和软件都有发生故障的概率。在一个简单系统里,组件发生问题的概率相对较低。从理论上说,系统越复杂,出问题的可能性越大。

解决这个问题有两个方向,一个是让部件可靠,让组成简单。另一个方向就是不断完善高可用方案来应对故障。我们在第二个方向上有更多的发挥空间。我们采用了多级、多类的高可用保障机制,结合故障定位及恢复策略,使得系统的可用性得到显著提升。

一开始的时候,系统每天都在“冒火”,我们解决一个问题,就试着把这种解决方案固化下来,变成自动运维库。到现在,我们的系统已经可以处理绝大多数日常故障,并且可以根据局部资源使用情况预先做出平衡计算压力的智能调整。

他说。 

回忆起麒麟云的往事,谭郁松感慨良多。和诸多国产芯片、国产系统一样,麒麟云也经历了难忘的起步艰辛。

跑在纯国产处理器上的麒麟云,有哪些不为人知的故事?

▲麒麟云界面

万节点的云计算

做6400节点的云计算,其实源于麒麟云这群技术大牛的“理想国”。

IBM 曾经断言,世界上只需要五台计算机就够了,实际上现在五亿台计算机都远远不够。但是如果用云的方法来理解计算机,也许全世界只需要五朵云就真的够了。

在我的理想中,一朵云应该是一台机器的形态,反之亦然。

就是这样简单粗暴的乌托邦理念,最终让这群大牛完成了6400节点的云计算系统。

谭郁松说,这么多节点处于一个集群中,可以自由地分配算力,可以更灵活地满足用户对资源的动态、弹性的需求。经过特定优化,对于需要各个节点高度协作的任务,处在同一个业务集群在信息交互、资源调度和执行性能上几乎无折损。

云计算的特种兵

从2015年开始,兼容ARM指令集的飞腾芯片成为了一匹黑马,在同样是自主研发的芯片龙芯和申威的迭代空档期,发力占领了大量安全可靠计算机市场。“飞腾芯片+银河麒麟系统”成为了安全可靠计算机标配之一。

跑在纯国产处理器上的麒麟云,有哪些不为人知的故事?

▲飞腾芯片

由于支持“飞腾芯片+麒麟系统”的自主可控架构,麒麟云受到了关键行业用户的偏爱。这些机构使用云计算,往往有着和一般商业公司不同的目的,所以绝大多数情况下,天津麒麟都会为他们定制开发云计算系统。

这些定制化,经常要挑战云计算的技术极限。

谭郁松讲了一个故事。

某特殊领域需要定制一个云计算系统。

虽然系统规模不是很大,但是对技术要求却很高。由于涉及到精密的控制操作,需要我们的系统保证极低的延时。对于一般的云计算系统来说,实时性一般不是他们考虑的问题。

这其中,涉及到优先级的调度,包括可剥夺的策略;还涉及到对事件响应的确认机制。

当时有很多大的友商也参与前期测试,但是最终很多企业做到的延时都在毫秒以上,只有我们成功把延时控制在了120多μs。

这种对延时的控制,需要从面向处理器、网络以及软件系统的全栈优化,要对从上到下的系统有深刻的了解才能做到。我们能够做到,感觉很骄傲。

从种种表现来看,麒麟云更像是一个云计算的特种兵。一些云行业的友商在其它方面很优秀,但是却不适合完成这些技术要求过高或者投入产出比不尽如人意的关键行业项目。

跑在纯国产处理器上的麒麟云,有哪些不为人知的故事?

▲麒麟云为某机关办公开发的云计算架构

对于谭郁松和麒麟团队来说,关键行业的云计算项目需要耗费巨大的心力,但是这些关系国计民生的系统却更需要有人来做。这就是他们的使命感。

我的团队,不少都是开源领域的资深贡献者,有四个甚至是 OpenStack 开源社区的 core reviewer,他们如果离开麒麟云,身价会远比现在拿到的年薪更高。但是他们都选择在麒麟云为关键行业用户提供定制服务,一方面因为他们的使命感,另一方面也是因为,他们在这里能够遇到的项目,在其他地方无论如何都碰不到。

挑战,对于工程师来说,是非常重要的。我们的感受是:从科学探索中多获得的兴奋是更强烈和持续的。

他对雷锋网说。

后记

云计算,更多地以商业的面目出现在我们的认知中,但是它显然有更多的形象。

在庞大的基因数据面前,它为我们寻找答案;在浩渺的宇宙探索面前,它为我们赢得时间;在残酷的国家战争面前,它为我们驱动武器。

如果你也相信,每个人都有与生俱来的使命。那么你也许会理解,安全可靠的云计算系统麒麟云,对谭郁松来说有多重要。

本文作者史中(微信:Fungungun),雷锋网主笔

长按图片保存图片,分享给好友或朋友圈

跑在纯国产处理器上的麒麟云,有哪些不为人知的故事?

扫码查看文章

正在生成分享图...

取消
相关文章