公司动态

如何通过dpu-core与openEuler深度集成打造国产化DPU软件生态

📅 2026/7/14 9:28:33
如何通过dpu-core与openEuler深度集成打造国产化DPU软件生态
如何通过dpu-core与openEuler深度集成打造国产化DPU软件生态【免费下载链接】dpu-coredpu-core is DPU customized software utility based on openEuler项目地址: https://gitcode.com/openeuler/dpu-core前往项目官网免费下载https://ar.openeuler.org/ar/随着数据中心算力需求的快速增长DPUData Processing Unit作为新型可编程处理器正在成为云数据中心的关键组件。dpu-core作为openEuler社区中基于openEuler构建的DPU定制化软件工具集为国产化DPU软件生态的构建提供了完整解决方案。本文将深入探讨dpu-core与openEuler的深度集成实践帮助您快速掌握打造高性能DPU软件生态的关键技术。为什么需要DPU与操作系统的深度集成在传统数据中心架构中通用CPU需要处理大量网络、存储、安全等IO密集型任务这部分资源消耗被称为数据中心税。据AWS统计数据中心税可能占据数据中心算力的30%以上。DPU的出现正是为了将这部分算力从主机CPU上解放出来通过专用处理器芯片进行卸载加速。然而多样化的DPU硬件需要专用定制化的操作系统及上层统一接口来发挥硬件的极致性能。openEuler作为国内领先的开源操作系统通过与dpu-core的深度集成为DPU厂商和用户提供了统一的软件框架解决了DPU硬件与软件生态的适配难题。dpu-core的核心架构设计dpu-core项目采用五层架构设计确保DPU操作系统既轻量又高性能1. 内核层优化通过定制内核配置裁剪非必需内核特性及模块实现内核轻量化。同时使能特定内核特性为DPU提供高性能内核能力。在documents/基于openEuler的DPU-OS裁剪发布.md中详细描述了内核裁剪的具体方法。2. 驱动层适配对openEuler原生驱动进行裁剪定制选择最小集合驱动。同时集成DPU厂商的底层驱动原生支持多种DPU硬件产品。这种设计确保了硬件兼容性的同时保持了系统的精简。3. 系统配置优化通过对系统sysctl、proc等参数进行针对性配置为DPU相关业务提供最优性能。dpu-core提供了标准化的配置模板用户可以根据具体DPU硬件特性进行调整。4. 外围包裁剪对openEuler外围包进行裁剪定制选择最小集合。同时提供DPU相关的定制工具集合如透明卸载工具、性能监控工具等这些工具位于tools/目录中。5. 系统服务精简通过优化系统原生服务启动项减少非必要系统服务的运行保证系统运行时底噪最小化。这对于资源受限的DPU环境尤为重要。图1DPU-OS五层架构设计从内核到应用层全面优化DPU与平台的整体通信架构在云计算场景中DPU需要与云平台进行深度集成。dpu-core提供了完整的通信架构设计支持裸金属BM和虚拟机VM两种主要场景。图2DPU在云计算平台中的整体集成架构支持BM和VM两种场景裸金属场景下的DPU集成在裸金属场景中DPU作为独立的管理单元运行节点注册DPU启动nova-compute服务通过bm_driver获取宿主机硬件信息并上报给云平台实例创建云平台调度到DPU节点后DPU为裸金属实例创建存储和网络设备动态资源管理支持网卡和云盘的动态添加与删除控制台访问通过BMC接口提供裸金属控制台访问能力虚拟机场景下的DPU集成在虚拟机场景中DPU与主机协同工作资源上报DPU通过host_man组件获取主机资源信息并上报云平台虚拟机创建DPU为虚拟机创建透传设备包括存储PF和网络PF设备管理支持虚拟机的动态设备管理和迁移操作透明卸载技术的实现dpu-core中的透明卸载功能是其核心特性之一通过qtfs共享文件系统实现高效的IO卸载。图3透明卸载架构示意图展示DPU如何卸载主机IO任务qtfs共享文件系统qtfs是一个高性能共享文件系统专门为host-DPU架构设计核心特性支持挂载点传播和特殊文件系统共享支持远程文件读写和远程挂载支持特殊文件的定制化处理基于PCIe协议底层通信性能优于传统网络内核模块形式开发无需内核侵入式修改安装配置qtfs的详细安装步骤可在documents/transparent-offload/qtfs共享文件系统架构及使用手册.md中找到。系统支持VSOCK通信模式可以在有DPU硬件支持的环境或通过host-vm模拟环境中部署。图4qtfs共享文件系统的软件架构支持客户端-服务器模式工作快速开始构建定制化DPU-OS环境准备要开始使用dpu-core构建DPU操作系统您需要基础环境安装openEuler 22.03 LTS或更高版本工具准备安装imageTailor镜像裁剪工具资源获取准备openEuler安装镜像作为RPM包源裁剪步骤dpu-core提供了完整的DPU-OS裁剪指南主要步骤包括1. 配置文件准备将dpuos的配置文件拷贝到imageTailor工具目录cp -rf custom/cfg_dpuos /opt/imageTailor/custom cp -rf kiwi/minios/cfg_dpuos /opt/imageTailor/kiwi/minios/cfg_dpuos2. 配置修改修改相关配置文件添加dpuos产品配置修改kiwi/eulerkiwi/product.conf修改kiwi/eulerkiwi/minios.conf修改repos/RepositoryRule.conf3. 密码设置在三个关键配置文件中设置初始密码确保系统安全。4. 执行裁剪运行裁剪命令生成定制化的DPU-OS镜像cd /opt/imageTailor ./mkdliso -p dpuos -c custom/cfg_dpuos --sec --minios force生成的ISO镜像将保存在/opt/imageTailor/result目录中可直接用于DPU设备的安装部署。DPU通信与管理组件接口设计dpu-core定义了完整的组件接口规范确保DPU与云平台的无缝集成。这些接口设计文档位于documents/DPU通信及管理组件接口设计.md中。关键接口组件nova-compute接口负责节点状态上报、实例创建与管理snic-controller接口提供PF/VF创建、删除和查询功能OVS接口管理网络端口的添加和删除BMC接口提供裸金属的电源管理和硬件信息获取网络数据面能力dpu-core支持丰富的网络数据面功能QoS控制支持实例网卡的流量控制隧道支持支持VXLAN、Geneve等隧道协议连接跟踪支持conntrack功能实际部署与验证虚拟机验证环境即使没有实际的DPU硬件也可以通过VirtualBox创建虚拟机来验证DPU-OS创建虚拟机步骤配置虚拟机资源建议2CPU4GB内存以上创建虚拟机磁盘建议60GB以上空间启用EFI启动支持加载DPU-OS ISO作为启动介质完成自动安装过程启动验证安装完成后选择Boot From Local Disk启动DPU-OS使用制作时设置的密码登录系统。通过这种方式开发者可以在标准服务器环境中测试DPU-OS的功能和性能。实际DPU硬件部署在实际DPU硬件上部署时需要考虑硬件特定的安装方式如PXE网络安装、U盘安装或由Host下发的自定义安装方式。dpu-core的模块化设计确保了与多种DPU硬件的兼容性。项目贡献与社区参与dpu-core作为openEuler社区的一部分欢迎开发者和用户的积极参与贡献方式提交Issue报告使用问题、软件BUG或特性需求技术讨论通过邮件列表、微信群、在线例会参与讨论代码贡献参与方案设计、特性开发和文档撰写联合创新以开源方式开发DPU相关软件技术项目结构dpu-core项目采用清晰的目录结构documents/项目相关指导文档及手册quicklystart/新手入门指导projects/孵化项目仓库tools/非项目仓库的使用工具weeklyreport/双周工作总结归档未来展望与路线图dpu-core项目正在不断演进未来将重点关注以下方向技术演进性能优化进一步优化DPU-OS的性能减少资源开销硬件兼容扩展对更多DPU硬件的原生支持功能丰富增加更多DPU特性和加速能力生态建设标准化接口推动DPU软件接口的标准化社区协作加强DPU厂商、开发者和用户的协作应用生态构建基于DPU的应用生态系统结语dpu-core与openEuler的深度集成为国产化DPU软件生态的建设提供了坚实的技术基础。通过统一的软件框架、标准化的接口设计和优化的操作系统dpu-core不仅解决了DPU硬件与软件生态的适配难题更为DPU在云计算、大数据等场景的应用提供了完整解决方案。随着DPU技术的不断发展dpu-core将继续演进为构建更加开放、高效的DPU软件生态贡献力量。无论是DPU厂商、云服务提供商还是最终用户都可以通过参与dpu-core项目共同推动DPU技术的创新与应用。想要了解更多技术细节或参与项目贡献请参考项目文档或加入openEuler DPU SIG的技术讨论。让我们一起打造更加完善的国产化DPU软件生态【免费下载链接】dpu-coredpu-core is DPU customized software utility based on openEuler项目地址: https://gitcode.com/openeuler/dpu-core创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考