英特尔|永远不要投资DPU?( 七 )


2016年左右,张献涛博士,天天都在思考同一个问题:什么样的虚拟化技术,才适合云计算?
得从根本上解决传统虚拟化应用到数据中心里面存在的缺陷(也就是性能、资源、隔离方面所有的问题)。
他脑中的“神龙系统”慢慢清晰。
那一年里,张献涛博士密集、低调往返于北京和杭州两地,意在劝说多位大咖级芯片主架构师加入阿里云。
有这样一句话,很打动人心,日后实现的时候,更激动人心:
“外界无法理解互联网公司要做DPU的决心,这件事情绝对是前人没有做过的,它可以改变云计算里面最核心的技术。”
神龙芯片给阿里云带来什么技术价值?
张献涛认为,第一,解决CPU和内存完全隔离的问题。这里的隔离有两个层面意思,一个是安全方面的隔离,一个是性能的隔离。
第二,IO链路上最容易出安全漏洞。QEMU这个模拟器是从传统的虚拟化带过来的,在神龙芯片第一代的那个时间点上,它是完完全全过时了。
所谓的过时了,包括两点。其一,代码是开源的,人人皆可见。其次,安全漏洞多,常发生一些虚拟机逃逸的情况。
在公共云的世界里,“虚拟机逃逸”五个字,还没有说出口,就有一群人扑上去,捂住你的嘴。
虚拟机逃逸=绝对不允许。
DPU解决了性能,同时也解决了安全方面的问题。
神龙芯片一开始就想好了,多张卡解决问题,强调多合一,多种功能在一张卡上实现,复杂度下降,稳定性增强。
两架马车,解决的问题一样,实现的思路不同。
佛山无影脚,神龙无影刀。
DPU的一个关键就是,“从哪里切”与“切到何处”,答案充满玄机和禅意。
这让人想起庖丁解牛,若要回答:骨在哪,肉在哪,骨肉相连又在哪;
恐怕要稔知全牛结构,全凭手感,刀法在脑海里,在肌肉里。
这还不够,难题在于,每一家云厂商的软件是不一样的。
怎样处理分布式存储和分布式网络的软件接口?
哪些应该放在控制路径?
哪些放在数据路径?
如果不懂虚拟化,你就不知道怎么切,或者切完后性能也不好。
DPU团队表面生气,心里憋闷,谁出的破题?
再或者,有的DPU团队,还没有看到牛在哪里。
DPU这个东西,光有硬件思路,或光有软件思路,一定会出大问题。
当故事讲到这里,虚拟化的知识就不够用了,要细聊张献涛在英特尔的另一段经历。
上海虹桥作为著名的交通枢纽,周边房价,一直看涨。
2005年的时候,张献涛刚到英特尔实习,工资不高,钱包不鼓,在大虹桥地段找房子住,选来选去,选了仙霞路附近的茅台路,一个叫做天山五村的老式小区。
大虹桥的房价,逼得张献涛和师兄合租了一个单间,逼仄的房间里,摆了两张单人床,已经够局促了。没想到,更局促的在后面。
一进英特尔,张献涛的压力值就爆表了。
为什么?他发现,六年的计算机专业白读了,妈耶,英特尔大牛们说的话,居然听不太懂。原因是他们讲的那些东西,都牵涉到芯片内部的专业知识。
能主宰一个时代的门派,半导体产业链的顶端,还是有很多秘籍的。
脑袋混沌了几天之后,张献涛那股子不服输的劲儿,上头了。
经高人指点,他冲到藏经阁就找宝典。
《英特尔系统编程手册》(System Development Manual)是这样一种存在,你看第一遍,包你根本看不懂。
照理说,计算机的操作系统,是按此写出来的。比如,英特尔的64位处理器用的是IA 64,配套的《手册》有好几卷。
《手册》也诚不我欺,卷卷厚如板砖,就不信你能读完。