0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DPU和云操作系统

Linux阅码场 来源:Linux阅码场 作者:Linux阅码场 2022-03-17 14:29 次阅读

如果给你30秒钟的时间,如何給投资人说明DPU是什么,可以做什么? 国内外所有的商用DPU公司的CEO、CTO估计都讲不清楚... 因为你无法在现实生活中找到一个恰当的例子说清楚。但实际上一句话就能说清楚:

大领导们(CPU)的时间很宝贵吧,所以一般来说都会有自己的助理,或者是一些大型的机构都有负责Operation的团队,即便是传统的企业也有办公室主任的岗位。而DPU恰恰就是在干这个工作的。而基于这样的视角就会明晰DPU的职责了,什么该做什么不该做点到为止。

可惜国内的很多人都习惯了形容词管理和各种越俎代庖,并且有句口头禅:“我这是为你好啊”,做网络的总喜欢没事就帮你算个路径, 做计算的总喜欢没事就帮你Offload.

而一个好的助理总会把事情拿捏的很好,并把整个组织内其他的成员(GPU/TPU/NPU ...DSA)协调沟通好,关键的决策(Branch)还是要交给领导(CPU).

所以从这个视角来看算力网络就有点意思了,你帮人家调度不收钱图个啥,你帮人家调度了收了钱凭啥?

这里引入到一个机构的运营,那么就不得不谈操作系统这个话题了,曾经画过这样一张图:

cd7986f2-9fc5-11ec-952b-dac502259ad0.jpg

当然还留了一个尾巴,从架构图上来看,类似于底层上的神龙、洛神、盘古都有了,还缺一个飞天。那么这也正是渣今年的想在操作系统上进行的探索.恰逢咱东川路男子技术学院IPad的ppt[1],这场软硬件融合的变革中,不碰到软硬件结合的操作系统都属于划水、摸鱼、耍流氓。

cda67568-9fc5-11ec-952b-dac502259ad0.png

从异构硬件的视角来看对操作系统的需求:

cdbf025e-9fc5-11ec-952b-dac502259ad0.png

但是从指令集上面临挑战:

cdfffeda-9fc5-11ec-952b-dac502259ad0.png

两阶段编译虽然能够解决部分问题,但是需要触碰到用户代码,而且对应用非常不友好:

ce10823c-9fc5-11ec-952b-dac502259ad0.png

另一个问题是缓存一致性和内存管理的问题,所以才有了OSDI18的SplitKernel的方案:

ce2751ec-9fc5-11ec-952b-dac502259ad0.png

也就是说这样,将处理器和内存分离,并将MMU和TLB转移到分离的MMU上

ce5c07ac-9fc5-11ec-952b-dac502259ad0.png

但是另一个问题来了,Latency Hiding如何解决,他们的选择是加Cache

ce897020-9fc5-11ec-952b-dac502259ad0.png

而我们的解决方案是通过存算一体的并行处理来解决指令集不一致和延迟隐藏的问题:

cec5d15a-9fc5-11ec-952b-dac502259ad0.png

另一个问题是寻址的处理, P4来做MMU是不是会很爽,利用IP地址和内存地址一起混合寻址,IP地址做页索引.

ceddf366-9fc5-11ec-952b-dac502259ad0.png

而这样的一套系统因为有了Memory Shim Layer,配合网络本身的ACL能力做页表隔离和inline加解密都可以非常容易的实现Enclave. 而至于多核多处理器同步的语义,基于BRAM的netDAM也可以很容易实现ffwd(SOSP'17)那样的架构, 将所有竞争者的临界区集中到一个高速存算一体器件(NetDAM-SEQ)上.

那么接下来就有一个问题了, 进程切换带来的微秒级延迟和调度。而就操作系统而言,几十年前是为了几十个人共同使用一个电脑构建的进程、线程架构,而现在呢?内核该如何设计,本质上应当把调度交还给用户态,这也符合现在很多编程语言自身构建协程库的发展趋势。另一方面是驱动的问题,内核中大量的驱动带来的问题是否可以通过memory shim layer来解决?答案是肯定的,这也是渣一直要搞memif的原因:

cef289fc-9fc5-11ec-952b-dac502259ad0.png

操作系统的发展在国内有些缓慢,本质上我们对Operating的定义是不精确的,更多的应该有运营和运筹的意义。更广义的谈,字符,语言,文化深刻的影响着我们的思维方式和处事原则。象形文字本身具有更高的信息量,但同时却弱于西方符号系统对于结构的抽象和归纳,例如一个汉字微积分……同样用中文描述抽象代数也是一个非常痛苦的事情,这也是导致整个代数学在国内发展不好的原因。

cf064942-9fc5-11ec-952b-dac502259ad0.jpg

偶然间读到木心[2]一段话,似乎就释然了……

中国的“人”和中国的“自然”,从《诗经》起,历楚汉辞赋唐宋诗词,连绾表现着平等参透的关系,乐其乐亦宣泄于自然,忧其忧亦投诉于自然。在所谓“三百篇”中,几乎都要先称植物动物之名义,才能开诚咏言;说是有内在的联系,更多的是不相干地相干着。学士们只会用“比”、“兴”来囫囵解释,不问问何以中国人就这样不涉卉木虫鸟之类就启不了口作不成诗,楚辞又是统体苍翠馥郁,作者似乎是巢居穴处的,穿的也自愿不是纺织品。汉赋好大喜功,把金、木、水、火边旁的字罗列殆尽,再加上禽兽鳞介的谱系,仿佛是在对“自然”说:“知尔甚深。”到唐代,花溅泪鸟惊心,“人”和“自然”相看两不厌,举杯邀明月,非到蜡炬成灰不可,已岂是“拟人”、“移情”、“咏物”这些说法所能敷衍。宋词是唐诗的“兴尽悲来”,对待“自然”的心态转入颓废,梳剔精致,吐属尖新,尽管吹气若兰,脉息终于微弱了,接下来大概有鉴于“人”与“自然”之间的绝妙好辞已被用竭,懊恼之余,便将花木禽兽幻作妖化了仙,烟魅粉灵,直接与人通款曲共枕席,恩怨悉如世情——中国的“自然”宠幸中国的“人”,中国的“人”阿谀中国的“自然”?孰先孰后?孰主孰宾?从来就分不清说不明。

对于钱学森之问和李约瑟之问,很有可能都和这个问题有关。从1到100做的非常棒,因为你在自然中给国人赋予了型,而从0到1则是非常难的,因为本身的语言文化上并没有很好的抽象能力,所以我们经常的说,让专业的人干专业的事,专业的人是什么?如何评价?或者按照现在集成电路和专用芯片那么火的行情来看,DSA ,Domain 怎么分?Specific 了什么?Architect 了啥?这几个问题回答不清楚前的所有架构都有over engineering 的嫌疑。

所以最终还是需要改变我们自己的思维方式、语言习惯,同时还要多一些文化自信,因为只有自信你才能有提出问题的能力, 否则就还是拿着自主可控玩着抄袭国外的事情,还美其名曰追赶国外先进技术。当然还有一些太过自信的闭关锁国,别人限制什么就自己去另外做一套,最终做一个东西多一个敌人,例如某企业开始造车,本质上前几年各个主机厂都给它们提过:"你都做完了,我们做什么?" "我这些都做了是为你好呀" 这样的事情一直在发生着。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6288

    浏览量

    121896
  • DPU
    DPU
    +关注

    关注

    0

    文章

    294

    浏览量

    23968

原文标题:DPU和云操作系统

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    实时操作系统和分时操作系统的区别

    操作系统能否满足实时性要求来区分,可把操作系统分成分时操作系统和实时操作系统,分时操作系统按照相等的时间片调度进程轮流运行,分时操作系统
    发表于 11-14 17:39 1.2w次阅读

    《数据处理器:DPU编程入门》DPU计算入门书籍测评

    的架构服务,同时它一般不直接面向于数据存储,通信接口等底层应用。也不直接架构顶层的服务。 因此对于DPU系统来说,现在CPU仍然是GPU于DPU架构异构计算中必须存在的内容。 二、学习性开发
    发表于 12-24 10:54

    [分享] 关于windows操作系统平台之中的

    的服务提供商,我们通过这种服务就能很轻松的解决问题。我相信未来windows操作系统之中的一定是会更加的全面也更加的人性化。 文章出处***:http://www.aomenbocai545.com/文章出处***:http://www.bogou4335.com/
    发表于 02-19 10:44

    如何在FreeRTOS操作系统中添加其他模块的教程

    APP原版连接(有如何在FreeRTOS操作系统中添加其他模块的教程,如传感器,LED任务)1.3无操作系统简易版(旧版,有OneNET平台设备创建和应用配置):1.4 开发工具连接2. 具体功能
    发表于 08-03 07:08

    为什么要用操作系统

    何谓操作系统1.什么是操作系统操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在
    发表于 12-14 07:56

    什么是DPU

    安全的、裸性能的、原生计算的下一代上大规模计算至关重要。 DPU:集成到SmartNIC DPU可以用作独立的嵌入式处理器,但通常是被集成到SmartNIC(一种作为下一代服务器中
    发表于 11-03 10:55

    操作系统 ppt

    操作系统课件为PPT电子教案,内容如下: 操作系统的基本概念操作系统的发展操作系统的主要特征操作系统的主要功能进程管理
    发表于 11-07 08:44 0次下载
    <b class='flag-5'>操作系统</b> ppt

    Linux操作系统原理及应用

    Linux操作系统原理及应用 1.1  操作系统的地位 1.2  操作系统的功能 1.3  操作系统的发展过程 1.4 
    发表于 04-28 14:53 0次下载

    什么是操作系统内核

    什么是操作系统内核 操作系统内核是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操
    发表于 06-17 07:23 9647次阅读

    操作系统的种类有哪些?

    操作系统的种类有哪些?  操作系统拥有广泛的系列,根据它们所控制的计
    发表于 12-17 16:52 1.7w次阅读

    操作系统(OS),什么是操作系统(OS)

    操作系统(OS),什么是操作系统(OS) 操作系统(Operating System,简称 OS)的出现、使用和发展是近四十余年来计算机软件的一个重大进展。
    发表于 03-26 15:21 2611次阅读

    RTOS操作系统

    RTOS操作系统RTOS操作系统RTOS操作系统RTOS操作系统RTOS操作系统
    发表于 12-28 15:30 0次下载

    实时操作系统和非实时操作系统的区别

    本文主要阐述了实时操作系统和非实时操作系统的区别。
    发表于 09-02 15:58 9858次阅读

    嵌入式操作系统

    嵌入式操作系统一、嵌入式操作系统概述1.1 嵌入式操作系统的特点1.2 嵌入式操作系统的分类1.2.1 非实时操作系统1.2.1 实时
    发表于 11-03 18:36 46次下载
    嵌入式<b class='flag-5'>操作系统</b>

    聊聊操作系统

    说到操作系统,大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑,使用的是windows和macOS系统;用手机、平板电脑,则是android(安卓)和iOS系统
    的头像 发表于 05-12 11:13 1035次阅读
    聊聊<b class='flag-5'>操作系统</b>