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

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

3天内不再提示

基于openEuler构建的DPU-OS解决 DPU 厂商及客户之间的适配问题

openEuler 来源:openEuler 2023-11-02 10:03 次阅读

在数据中心及云场景下,摩尔定律失效,通用处理单元 CPU 算力增长速率放缓,而网络 IO 类速率及性能不断攀升,二者增长速率差异形成剪刀差,即当前通用处理器的处理能力无法跟上网络、磁盘等 IO 处理的需求。传统数据中心下越来越多的通用 CPU 算力被 IO 及管理面等处理占用,这部分资源损耗称之为数据中心税(Datacenter Tax)。据 AWS 和 Google Cloud 统计,数据中心税可能占据数据中心算力的 30% 以上,部分场景下甚至可能更多[1][2]。

DPU (Data Processing Unit) 的出现就是为了将这部分算力资源从主机 CPU上解放出来,通过将管理面、网络、存储、安全等能力卸载到专有的处理器芯片上进行处理加速,达成降本增效的结果。目前主流云厂商如 AWS 、阿里云、华为云都通过自研芯片完成管理面及相关数据面的卸载,实现数据中心计算资源 100% 售卖给客户。

DPU 发展非常火热。云厂商及大数据在相关场景下对 DPU 存在较强烈的需求,国内也有很多 DPU 初创公司推出不同的 DPU 产品。在这一背景下,云和大数据等厂商需要考虑如何整合使用不同 DPU 产品,而 DPU 厂商也面临对不同客户交付时设备驱动适配客户指定操作系统的问题。

openEuler 作为国内领先的开源开放操作系统,通过基于 openEuler 构建的 DPU-OS ,解决 DPU 厂商及客户之间的适配问题。除此之外, DPU 上 OS 用于承载部分业务加速的需求,需要对 DPU-OS 进行性能优化加速,可以基于 openEuler 构建 DPU 相关加速能力,内置在 DPU-OS 中,构建 DPU 相关软件生态。

DPU现状
DPU 普遍具有以下特点及问题:

1. DPU 通用处理能力资源受限

当前 DPU 仍处在发展早期阶段,硬件上仍在不断演进,而且由于 DPU 供电限制,当前硬件规格普遍较低。主流 DPU 中通用处理器 CPU 核数较少,约 8-24 CPU ,且单核处理能力弱。内存大小受限,普遍在 16-32GB 。DPU 本地存储空间为几十到几百 GB 不等。运行于 DPU 之上的操作系统也需要考虑这些限制。

2.DPU-OS 安装方式多样

当前 DPU 厂商及产品多种多样,对应操作系统的安装部署方式也不尽相同,包括 PXE 网络安装、U盘安装或其他自定义安装方式(由 HOST 下发安装镜像)。

3.DPU 性能需求

DPU 的应用场景决定其对性能有强烈需求。相比于通用服务器操作系统,DPU-OS 可能对内核特性或功能组件有特殊要求,比如用于设备直通热迁移的 vDPA 特性、厂商特定驱动适配支持、DPU 进程的无感卸载特性、定制优化的用户态数据面加速工具如 DPDK/SPDK/OVS、DPU 管理监控相关的工具类组件。

DPU-OS 需求
针对以上 DPU 现状,提出对 DPU-OS 的需求如下:

1.极致轻量的 DPU-OS 安装包

通过裁剪 openEuler 系统镜像,减少非必要安装包的空间占用;通过优化系统服务,减少资源底噪开销。

2.裁剪配置及工具支持

提供裁剪配置及裁剪工具支持,客户或 DPU 厂商可根据各自需求进行定制;openEuler 提供 ISO 参考实现。

3.定制化内核及系统,提供极致性能

通过定制内核及相关驱动,提供 DPU 竞争力内核特性;定制化加速类组件,使能 DPU 硬件加速能力;优化系统配置提供更优性能;通过 DPU 相关管理控制工具,方便用户统一管理。

DPU-OS设计

62ca15e6-78a0-11ee-939d-92fbcf53809c.png

图1 DPU-OS 整体设计

如图所示,DPU-OS 分为五层设计:

内核层:通过定制内核 config ,裁剪非必需内核特性及模块,达成内核轻量级效果;使能特定内核特性提供高性能 DPU 内核能力。

驱动层:对 openEuler 原生驱动进行裁剪定制,选择最小集合;DPU 厂商相关底层驱动集成,原生支持部分 DPU 硬件产品。

系统配置层:通过对系统 sysctl 、proc 进行配置,为 DPU 相关业务提供最优性能。

外围包层:对 openEuler 外围包进行裁剪定制,选择最小集合;提供 DPU 相关的定制工具集合。

系统服务层:通过优化系统原生服务启动项,减少非必要系统服务运行,保证系统运行时底噪最小化。

通过上述五层设计达成轻量化、极致性能 DPU-OS 的目标。该方案为相对长期设计,且对 DPU 相关软硬件生态有较强的依赖。

当前对 DPU-OS 的实现还处于第一阶段,专注于通过 openEuler imageTailor 工具进行进项裁剪,提供最小化的 DPU-OS 实现。后续规划通过对内核及 DPU 相关组件的定制化修改、配置提供专用 DPU-OS 能力,提供高性能 DPU-OS 。

说明:

1. 当前阶段的 DPU-OS 先基于 openEuler 现有内核及外围包,使用镜像裁剪工具 imageTailor 进行裁剪,提供轻量化 OS 安装镜像。后续可根据实际诉求,进行相关内核及外围包特性的开发及集成。

2. DPU-OS 的裁剪步骤可参考社区文档 DPU-OS 裁剪指导[3],验证与部署可参考 DPU-OS 部署验证[4]。

客户案例

天翼云

作为 openEuler 的重要合作伙伴,天翼云自身的 CTyunOS 系统脱胎于 openEuler,CTyunOS 目前在 DPU-OS 方面也进行了一些前期的构建与试验工作。包括:

1. 基于 CTyunOS3 系统和 sig-DPU 发布的 DPU-OS 组件,构建 x86_64 和 aarch64 架构的 DPU-OS 镜像。

2. 针对 kernel 包根据 DPU 实际要求进行定制(剔除 builtin 的 virtio-pci、virtio-ring 模块等)。

3. 镜像中增加定制外围包,如 bash 命令补全、自定义工具、DPU 驱动包等。

4. DPU-OS 配置相关组件及服务,联网情况下支持 yum 方式进行包更新升级。

天翼云 DPU 团队在后续的 DPU 2.0 规划里,将全面采用自身的 CTyunOS 系统,主推使用基于 CTyunOS3 构建的 DPU-OS 。相关需求与特性反馈给社区,与 openEuler 协作共建 DPU 软件生态。

中科驭数

openEuler 为 DPU 应用发展落地提供良好的土壤,DPU 作为新生事物快速发展。DPU 往往会包含通用 CPU 架构的芯片来处理复杂的控制面逻辑。例如在虚拟化网络体系中,需要 CPU 来运行复杂的网络控制面程序;在网络安全领域,众多不同的安全框架也依赖 CPU 提供基础算力。

而在 CPU 的具体选型上,DPU 产品面临在不同应用场景、不同算力需求下的选择问题。如 x86 可以提供强劲的性能,但是无法和 DPU 芯片做到较好融合;ARM 可以解决上述难题,但是在重应用卸载的场景存在性能问题;RISC-V 在成本与灵活性上能提供最优方案,但是代价是应用场景的适配性不高。总之,在 CPU 的选型上目前还没有最优解。在这种背景下,操作系统的选型至关重要。DPU 厂商在自己的操作系统选型中,往往会优先考虑下面几个问题:

* 稳定与安全性

* 对底层不同架构的适配性

* 可裁剪与灵活性

经过充分的调研论证与测试,中科驭数为自己的 DPU 产品选择 openEuler 作为底层基础操作系统。首先 openEuler 操作系统已经过充分的落地实践考验,在系统稳定性上具有明显优势。其次 openEuler 可以提供完善的工具链支撑,不管是进行业务开发还是系统裁剪,都可以快速高效地完成。最后 openEuler 系统设计之初便考虑到对多样性设备的支持,能够与现有硬件生态紧密融合,极大降低了 DPU 厂家的研发成本。

得益于 openEuler 系统的出色的工具链支持,中科驭数已经完成第一代 DPU-OS 的裁剪定制开发并在众多客户业务中落地应用。后面中科驭数也将继续深入探索 openEuler 系统,一方面继续深化定制,打造最符合 DPU 应用场景的操作系统。另一方面也将持续为 openEuler 社区贡献自身的力量,助力整个 openEuler 社区繁荣发展。

加入我们

sig-DPU 致力于以 openEuler 生态作为底座,打造轻量化、极致性能的 DPU-OS,助力客户及 DPU厂商解决不同板卡与服务之间的兼容性问题。sig-DPU 依托 openEuler 生态,统一 DPU 与 HOST 操作系统底座,提供 DPU 场景定制化特性及组件,打造 DPU 软件生态,更好地发挥其硬件卸载加速能力,进一步释放 DPU 的商业价值。openEuler DPU-OS 已经联合包括天翼云及中科驭数在内多家企业进行验证。

审核编辑:彭菁

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

    关注

    12

    文章

    8129

    浏览量

    82565
  • 操作系统
    +关注

    关注

    37

    文章

    6293

    浏览量

    121904
  • DPU
    DPU
    +关注

    关注

    0

    文章

    297

    浏览量

    23968
  • 大数据
    +关注

    关注

    64

    文章

    8660

    浏览量

    136608
  • openEuler
    +关注

    关注

    2

    文章

    289

    浏览量

    5661

原文标题:基于 openEuler 构建轻量、极致性能的 DPU-OS ,打造 DPU 软件生态底座

文章出处:【微信号:openEulercommunity,微信公众号:openEuler】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    DPU技术赋能下一代AI算力基础设施

    4月19日,在以“重构世界 奔赴未来”为主题的2024中国生成式AI大会上,中科驭数作为DPU新型算力基础设施代表,受邀出席了中国智算中心创新论坛,发表了题为《以网络为中心的AI算力底座构建之路》主题演讲,勾勒出在通往AGI之路上,DP
    的头像 发表于 04-20 11:31 391次阅读

    明天线上见!DPU构建高性能云算力底座——DPU技术开放日最新议程公布!

    技术在不同行业中的应用解决方案有哪些?能带来怎样的业务效果? 3月29日本周五,中科驭数集结产品大咖及解决方案专家团,诚邀您参加以“DPU构建高性能云算力底座”为主题的线上DPU技术开放日! 他们将逐一与您分享中科驭数系列
    的头像 发表于 04-03 18:12 733次阅读

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

    一、DPU计算框架 通过一周多的时间翻阅这本书,基本上这本书是一本比较全面的,面向架构的新手指导数据。它在书中详尽介绍了关于DPU在计算机架构中的应用。 对于DPU来说,是一种平行于CPU和GPU
    发表于 12-24 10:54

    《数据处理器:DPU编程入门》读书笔记

    首先感谢电子发烧友论坛提供的试读机会。 第一周先阅读了DPU的技术发展背景,了解到DPU是结合了高性能及软件可编程的多核CPU、高性能网络接口,以及各种灵活和可编程的加速引擎。DPU的主要作用是卸载
    发表于 12-21 10:47

    《数据处理器:DPU编程入门》+初步熟悉这本书的结构和主要内容

    dpu:推出的主要意义是为了减轻CPU的数据处理负担,使得cpu可以更具专注自己的通用计算处理运算。 1、DPU数据处理器,演进的核心驱动力是什么? 计算工作负载的不断增长是DPU演进的核心驱动力
    发表于 12-08 18:03

    什么是DPU

    的网卡)中。 例如某些供应商所使用的专用处理器无法用到广泛的Arm CPU生态系统所提供的丰富的开发和应用环境。 还有些其他声称拥有DPU厂商错误地将注意力只集中在使用嵌入式CPU来执行数据路径处理
    发表于 11-03 10:55

    解码 DPU 编程,投稿赢取好礼!

    NVIDIA 发布首部 DPU 和 DOCA 编程入门书籍 前不久 NVIDIA 推出了备受业界好评的首部 DPU 处理器编程入门书籍 —— 《数据处理器:DPU 编程入门》 ,许多读者纷纷留言
    的头像 发表于 11-01 20:25 234次阅读
    解码 <b class='flag-5'>DPU</b> 编程,投稿赢取好礼!

    【书籍评测活动NO.23】数据处理器:DPU编程入门

    资格! “DPU将是未来计算的三大支柱之一。CPU用于通用计算,GPU用于加速计算,而DPU在数据中心移动数据,进行数据处理。” ——NVIDIA 创始人兼首席执行官黄仁勋于 GTC 2020
    发表于 10-24 15:21

    【KV260视觉入门套件试用体验】部署DPU镜像并开发一个图像识别程序

    一.部署DPU镜像到KV260 DPU镜像有关介绍:DPU(Data Processing Unit)镜像是一个包含特定配置和预安装软件的虚拟化环境,用于运行数据处理任务。它可以帮助工程师快速部署
    发表于 09-18 14:15

    【KV260视觉入门套件试用体验】部署DPU镜像并运行Vitis AI图像分类示例程序

    的预构建目标映像(以下简称“DPU镜像”) Vitis AI Docker容器:模型开发工具 Vitis AI github 存储库:模型部署库、设置脚本、示例和参考设计 二、部署DPU镜像到
    发表于 09-10 23:01

    在不同应用场景下DPU不同的性能要求阐述

    DPU本质上是通过DPU卡上资源,解耦计算、控制、存储,利用CPU、GPU、FPGA加速器等异构处理单元,通过以智能卡为接口的网络实现高效的数据分发和调度。市面上流行的DPU产品基本上都实现了3类功能卸载,包括网络功能卸载、存储
    的头像 发表于 08-09 16:40 1688次阅读
    在不同应用场景下<b class='flag-5'>DPU</b>不同的性能要求阐述

    2023 DPU厂商大盘点(先锋版)

    2022 年,AMD以19亿美元收购了Pensando,进入DPU赛道。AMD Pensando 平台的核心是完全可编程 P4 数据处理单元 (DPU),采用与超大规模服务系统相同的底层技术。经过
    的头像 发表于 06-28 16:58 2468次阅读
    2023 <b class='flag-5'>DPU</b><b class='flag-5'>厂商</b>大盘点(先锋版)

    《揭秘 NVIDIA DPU &amp; DOCA》 第二讲上线!

    由 NVIDIA 专家主讲的 《揭秘 NVIDIA DPU DOCA》 系列视频在知乎重磅推出! 在总共八期的视频中,专家将带您深度了解 NVIDIA BlueField DPU 及其灵魂伴侣
    的头像 发表于 06-16 11:45 348次阅读
    《揭秘 NVIDIA <b class='flag-5'>DPU</b> &amp; DOCA》 第二讲上线!

    《揭秘 NVIDIA DPU &amp; DOCA》 开讲啦!

    由 NVIDIA 专家主讲的 《揭秘 NVIDIA DPU DOCA》 系列视频在知乎 重磅推出 ! 在总共八期的视频中,专家将带您深度了解 NVIDIA BlueField DPU 及其灵魂伴侣
    的头像 发表于 06-08 20:55 364次阅读
    《揭秘 NVIDIA <b class='flag-5'>DPU</b> &amp; DOCA》 开讲啦!

    DPU,云厂商的节约成本的王牌

    ,各种架构的CPU不仅降低了功耗,还提升了效率,完美符合当下对绿色计算的追求。   DPU 真的能省钱吗 ?   虽然依据各大DPU厂商的说法,大规模使用DPU可以降低总成本,不过这一
    的头像 发表于 06-08 09:19 1706次阅读