UMDK:革命性内存语义通信框架 - 颠覆传统网络架构的终极指南

📅 2026/6/27 21:56:14
UMDK:革命性内存语义通信框架 - 颠覆传统网络架构的终极指南
UMDK革命性内存语义通信框架 - 颠覆传统网络架构的终极指南【免费下载链接】umdkThe Unified Memory Development Kit(UMDK) is a set of distributed communication software stack with memory semantics as the core. It aims to design a new-generation network architecture through software-hardware collaboration, subvert the traditional communication form, and build a computing native network centered on memory semantic interconnection.项目地址: https://gitcode.com/openeuler/umdk前往项目官网免费下载https://ar.openeuler.org/ar/UMDKUnified Memory Development Kit是一套以内存语义为核心的分布式通信软件栈旨在通过软硬件协同设计新一代网络架构颠覆传统通信形式构建以内存语义互联为中心的计算原生网络。它为数据中心网络、超节点内、服务器内的卡与卡之间提供高性能的通信接口使能和释放灵衢总线的硬件能力。一、UMDK核心组件介绍 UMDK包含五大核心组件共同构建了完整的内存语义通信生态1.1 URMA统一内存语义通信基础URMAUnified Remote Memory Access提供了单边、双边、原子操作等远端内存操作方式是应用之间通信的基础。它提供两类接口北向应用编程接口为应用提供通信API南向驱动编程接口为驱动开发者提供接入UMDK的APIURMA架构概览图展示了内存语义通信的核心框架1.2 CAM超节点通信加速库CAMCommunication Acceleration for Supernode提供灵衢超节点亲和的高性能训推通信加速北向可对接vllm/SGlang/VeRL等主流社区南向亲和昇腾超节点硬件及组网。CAM的调度布局示意图展示了超节点内的高效通信调度机制1.3 URPC统一远程过程调用URPCUnified Remote Procedure Call支持灵衢原生高性能主机间和设备间RPC通信以及RPC加速。它提供了高效的远程过程调用能力使得分布式系统中的不同节点可以像调用本地函数一样进行通信。1.4 ULOCK统一状态同步ULOCKUnified Lock支持灵衢原生高性能状态同步包含分布式锁DLock等加速数据库等分布式应用全局资源分配。这一组件解决了分布式系统中资源竞争的问题提高了系统的整体性能。1.5 USOCKUB通信生态构建USOCKUnified Socket兼容标准Socket编程接口使能TCP应用零修改提升网络通信性能。通过这一组件现有的基于Socket的应用可以无缝迁移到UMDK平台享受更高的通信性能。UMDK组件架构图展示了五大核心组件的关系和整体架构二、快速上手UMDK ‍♂️2.1 环境准备在开始使用UMDK之前需要确保系统满足以下要求内核版本6.6必要依赖包rpm-build、make、cmake、gcc、gcc-c、glibc-devel、openssl-devel、glib2-devel、libnl3-devel、libummu-devel、kernel-devel可以通过以下命令安装所需依赖yum install -y rpm-build make cmake gcc gcc-c glibc-devel openssl-devel glib2-devel libnl3-devel libummu-devel kernel-devel2.2 编译UMDKUMDK提供了灵活的编译选项可以根据需求构建不同的版本。以下是一些常用的编译命令# 构建RPM包 mkdir -p /root/rpmbuild/SOURCES/ tar -czf /root/rpmbuild/SOURCES/umdk-26.06.0.tar.gz --exclude.git ls -A rpmbuild -ba umdk.spec # AArch64 Release包构建包含UDMA和libummu cd src/urma ./urma_bazel.sh compile --configrelease --configarm64 --definebuild_udmatrue # x86_64 Release包构建 ./urma_bazel.sh compile --configrelease --configx86_64 --definebuild_udmatrue # Debug版本启用AddressSanitizer/LeakSanitizer ./urma_bazel.sh compile --configdebug --configasan --definebuild_udmatrue2.3 部署与安装编译完成后可以按照以下步骤部署和安装UMDK加载必要的内核模块cd /lib/modules/$(uname -r)/kernel/drivers insmod ub/ubfi/ubfi.ko.xz cluster1 insmod iommu/ummu-core/ummu-core.ko.xz cd /lib/modules/$(uname -r)/kernel/drivers/ub/hisi-ub/kernelspace insmod ummu/drivers/ummu.ko.xz ipver609 insmod ubus/ubus.ko.xz ipver609 cc_en0 um_entry_size1 insmod ubus/vendor/hisi/hisi_ubus.ko.xz msg_wait2000 fe_msg1 um_entry_size10 cfg_entry_offset512 insmod ubase/ubase.ko.xz insmod unic/unic.ko.xz tx_timeout_reset_bypass1 insmod cdma/cdma.ko.xz安装RPM包rpm -ivh /root/rpmbuild/RPMS/*/umdk*.rpm cp -f /usr/bin/urma_perftest /usr/local/bin/ modprobe ubcore modprobe uburma cd /lib/modules/$(uname -r)/kernel/drivers insmod ub/hisi-ub/kernelspace/udma/udma.ko.xz dfx_switch1 ipver609 fast_destroy_tp0 jfc_arm_mode2 modprobe ubagg # 如果需要使能多路径 modprobe ums # 如果需要使能ums设置权限chmod -R 777 /usr/lib64/urma chmod 777 /dev/ummu/tid chmod 755 /usr/lib64/liburma*2.4 使用Bazel脚本安装除了RPM包安装方式UMDK还提供了Bazel脚本安装方式更加灵活便捷# 在目标环境执行 mkdir -p /tmp/urma-bazel tar -xzf urma-bazel-timestamp.tar.gz -C /tmp/urma-bazel /tmp/urma-bazel/urma_bazel.sh install # 后续卸载URMA/UDMA/TPSA打包安装内容 /tmp/urma-bazel/urma_bazel.sh remove三、UMDK性能优势与应用场景 3.1 性能优势UMDK通过内存语义通信带来了显著的性能提升低延迟内存语义通信绕过了传统网络协议栈的开销大幅降低通信延迟。高带宽充分利用硬件特性提供更高的通信带宽。低CPU占用减少了数据拷贝和协议处理的CPU开销释放更多计算资源。URMA性能测试结果展示体现了其在不同场景下的高性能表现3.2 应用场景UMDK适用于多种高性能计算和分布式应用场景人工智能训练通过CAM组件加速分布式AI训练提高训练效率。大数据处理URMA提供的高效远程内存访问能力加速数据 shuffle 过程。分布式数据库ULOCK组件提供的分布式锁机制优化数据库的并发访问性能。高性能计算集群URPC组件简化了集群节点间的通信提升整体计算效率。UMDK平台架构示意图展示了其在不同应用场景中的部署方式四、参与UMDK社区贡献 UMDK是一个开源项目非常欢迎开发者提交贡献。如果您发现了bug或者有一些想法想要交流欢迎发邮件到dev列表或者提交一个issue。五、许可证信息 UMDK代码使用的许可证详见LICENSESdoc目录下的文档使用许可证详见LICENSE。要开始使用UMDK您可以通过以下命令获取源码git clone https://gitcode.com/openeuler/umdkUMDK正在引领内存语义通信的革命通过颠覆传统网络架构为新一代数据中心和高性能计算提供强大的通信支持。无论您是应用开发者、系统管理员还是研究人员UMDK都能为您的项目带来显著的性能提升和架构优化。立即开始探索UMDK的世界体验革命性的内存语义通信技术【免费下载链接】umdkThe Unified Memory Development Kit(UMDK) is a set of distributed communication software stack with memory semantics as the core. It aims to design a new-generation network architecture through software-hardware collaboration, subvert the traditional communication form, and build a computing native network centered on memory semantic interconnection.项目地址: https://gitcode.com/openeuler/umdk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考