如果给你30秒钟的时间,如何給投资人说明DPU是什么,可以做什么? 国内外所有的商用DPU公司的CEO、CTO估计都讲不清楚... 因为你无法在现实生活中找到一个恰当的例子说清楚。但实际上一句话就能说清楚:
大领导们(CPU)的时间很宝贵吧,所以一般来说都会有自己的助理,或者是一些大型的机构都有负责Operation的团队,即便是传统的企业也有办公室主任的岗位。而DPU恰恰就是在干这个工作的。而基于这样的视角就会明晰DPU的职责了,什么该做什么不该做点到为止。
可惜国内的很多人都习惯了形容词管理和各种越俎代庖,并且有句口头禅:“我这是为你好啊”,做网络的总喜欢没事就帮你算个路径, 做计算的总喜欢没事就帮你Offload.
而一个好的助理总会把事情拿捏的很好,并把整个组织内其他的成员(GPU/TPU/NPU ...DSA)协调沟通好,关键的决策(Branch)还是要交给领导(CPU).
所以从这个视角来看算力网络就有点意思了,你帮人家调度不收钱图个啥,你帮人家调度了收了钱凭啥?
这里引入到一个机构的运营,那么就不得不谈操作系统这个话题了,曾经画过这样一张图:
当然还留了一个尾巴,从架构图上来看,类似于底层上的神龙、洛神、盘古都有了,还缺一个飞天。那么这也正是渣今年的想在操作系统上进行的探索.恰逢咱东川路男子技术学院IPad的ppt[1],这场软硬件融合的变革中,不碰到软硬件结合的操作系统都属于划水、摸鱼、耍流氓。
从异构硬件的视角来看对操作系统的需求:
但是从指令集上面临挑战:
两阶段编译虽然能够解决部分问题,但是需要触碰到用户代码,而且对应用非常不友好:
另一个问题是缓存一致性和内存管理的问题,所以才有了OSDI18的SplitKernel的方案:
也就是说这样,将处理器和内存分离,并将MMU和TLB转移到分离的MMU上
但是另一个问题来了,Latency Hiding如何解决,他们的选择是加Cache
而我们的解决方案是通过存算一体的并行处理来解决指令集不一致和延迟隐藏的问题:
另一个问题是寻址的处理, P4来做MMU是不是会很爽,利用IP地址和内存地址一起混合寻址,IP地址做页索引.
而这样的一套系统因为有了Memory Shim Layer,配合网络本身的ACL能力做页表隔离和inline加解密都可以非常容易的实现Enclave. 而至于多核多处理器同步的语义,基于BRAM的netDAM也可以很容易实现ffwd(SOSP'17)那样的架构, 将所有竞争者的临界区集中到一个高速存算一体器件(NetDAM-SEQ)上.
那么接下来就有一个问题了, 进程切换带来的微秒级延迟和调度。而就操作系统而言,几十年前是为了几十个人共同使用一个电脑构建的进程、线程架构,而现在呢?内核该如何设计,本质上应当把调度交还给用户态,这也符合现在很多编程语言自身构建协程库的发展趋势。另一方面是驱动的问题,内核中大量的驱动带来的问题是否可以通过memory shim layer来解决?答案是肯定的,这也是渣一直要搞memif的原因:
操作系统的发展在国内有些缓慢,本质上我们对Operating的定义是不精确的,更多的应该有运营和运筹的意义。更广义的谈,字符,语言,文化深刻的影响着我们的思维方式和处事原则。象形文字本身具有更高的信息量,但同时却弱于西方符号系统对于结构的抽象和归纳,例如一个汉字微积分……同样用中文描述抽象代数也是一个非常痛苦的事情,这也是导致整个代数学在国内发展不好的原因。
偶然间读到木心[2]一段话,似乎就释然了……
中国的“人”和中国的“自然”,从《诗经》起,历楚汉辞赋唐宋诗词,连绾表现着平等参透的关系,乐其乐亦宣泄于自然,忧其忧亦投诉于自然。在所谓“三百篇”中,几乎都要先称植物动物之名义,才能开诚咏言;说是有内在的联系,更多的是不相干地相干着。学士们只会用“比”、“兴”来囫囵解释,不问问何以中国人就这样不涉卉木虫鸟之类就启不了口作不成诗,楚辞又是统体苍翠馥郁,作者似乎是巢居穴处的,穿的也自愿不是纺织品。汉赋好大喜功,把金、木、水、火边旁的字罗列殆尽,再加上禽兽鳞介的谱系,仿佛是在对“自然”说:“知尔甚深。”到唐代,花溅泪鸟惊心,“人”和“自然”相看两不厌,举杯邀明月,非到蜡炬成灰不可,已岂是“拟人”、“移情”、“咏物”这些说法所能敷衍。宋词是唐诗的“兴尽悲来”,对待“自然”的心态转入颓废,梳剔精致,吐属尖新,尽管吹气若兰,脉息终于微弱了,接下来大概有鉴于“人”与“自然”之间的绝妙好辞已被用竭,懊恼之余,便将花木禽兽幻作妖化了仙,烟魅粉灵,直接与人通款曲共枕席,恩怨悉如世情——中国的“自然”宠幸中国的“人”,中国的“人”阿谀中国的“自然”?孰先孰后?孰主孰宾?从来就分不清说不明。
对于钱学森之问和李约瑟之问,很有可能都和这个问题有关。从1到100做的非常棒,因为你在自然中给国人赋予了型,而从0到1则是非常难的,因为本身的语言文化上并没有很好的抽象能力,所以我们经常的说,让专业的人干专业的事,专业的人是什么?如何评价?或者按照现在集成电路和专用芯片那么火的行情来看,DSA ,Domain 怎么分?Specific 了什么?Architect 了啥?这几个问题回答不清楚前的所有架构都有over engineering 的嫌疑。
所以最终还是需要改变我们自己的思维方式、语言习惯,同时还要多一些文化自信,因为只有自信你才能有提出问题的能力, 否则就还是拿着自主可控玩着抄袭国外的事情,还美其名曰追赶国外先进技术。当然还有一些太过自信的闭关锁国,别人限制什么就自己去另外做一套,最终做一个东西多一个敌人,例如某企业开始造车,本质上前几年各个主机厂都给它们提过:"你都做完了,我们做什么?" "我这些都做了是为你好呀" 这样的事情一直在发生着。
审核编辑 :李倩
-
操作系统
+关注
关注
37文章
6737浏览量
123188 -
DPU
+关注
关注
0文章
354浏览量
24127
原文标题:DPU和云操作系统
文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论