- 博客(12)
- 收藏
- 关注
原创 基于 Linux 内核 5.10 的 Mellanox(mlx5)网卡驱动架构与关键代码详解
以内核源码为主线:设备初始化 · 固件命令接口 · 事件队列 · 以太网收发 · 流表卸载 · eSwitch/SR-IOV · RDMA/RoCE内核版本 v5.10Table of Contents摘要.... 1第一章 总体架构与设计哲学.... 1第二章 源码目录结构与分层地图.... 1第三章 设备发现与初始化:从 PCI probe 到设备可用.... 1第四章 固件命令接口(cmdif):驱动与固件的对话通道.... 1第五章 事件队列(EQ):中断的第一落点.... 1第六章 核心硬件抽象:
2026-07-16 18:19:58
425
原创 DCQCN:大规模 RDMA 部署中的拥塞控制
本文系统解读了微软提出的DCQCN(数据中心量化拥塞控制协议),这是一种面向大规模RDMA部署的拥塞控制方案。论文针对传统TCP/PFC在数据中心环境中的不足,提出三层改进:1)基于ECN/CNP的端到端速率控制实现逐流公平;2)精确计算缓冲区阈值确保ECN先于PFC触发;3)通过流体模型优化参数配置。实验表明,DCQCN能将PFC触发次数降低3个数量级,在保持40Gbps高吞吐的同时,显著改善多流公平性和尾部延迟。该方案的核心创新在于将PFC的快速保护与DCQCN的精细控制有机结合,复用现有交换机功能,实
2026-07-16 17:49:02
358
原创 5G 网络切片技术综述
摘要: 本文系统梳理了5G网络切片技术,基于3GPP R15-R18标准(涵盖TS23.501/23.502/23.503等核心规范),从架构、流程、管理到安全进行全面解析。网络切片通过S-NSSAI标识逻辑隔离的端到端虚拟网络,支持eMBB、URLLC等差异化场景,关键网元包括NSSF(切片选择)、NSSAAF(切片认证)及NSACF(准入控制)。文章详述了切片在注册、会话绑定、URSP策略及RAN资源管理中的实现机制,并探讨了SA5定义的三层管理模型(CSMF-NSMF-NSSMF)和SLA保障体系。此
2026-07-15 10:05:32
277
原创 Zynq UltraScale+ 构建 CentOS 8 系统
致力于上游驱动程序,因此,被主线接受的驱动程序在提取相应版本时会自动合并到发行版内核源代码中。发行版还提供了一个通常基于包管理器的构建系统来验证源代码、签署二进制文件和自动化构建(获取、修补、配置、构建、打包)。所需的一些关键配置,您可能需要构建引导内核。本文中构建的系统是一个服务器构建,因此它是一个带有串行控制台的系统。内核存储库中提取,其中还包括补丁、内核配置和构建脚本。这会将我们的配置片段与默认内核配置合并。可能和你的内核版本不兼容,所以我推荐使用内核自带的。如果您不需要引导内核,您可以让引导继续。
2026-07-15 09:46:01
176
原创 RDMA - Lustre 文件系统部署
本文详细介绍了在CentOS 8.4环境下部署Lustre文件系统的全过程,包括OFED驱动安装、服务端和客户端的Lustre配置。主要内容涵盖:1. 环境准备,包括系统安装和yum源配置;2. OFED驱动的获取和安装步骤;3. 服务端Lustre的安装、LNet网络配置和文件系统创建;4. 客户端的配置和挂载;5. 通过fio工具和LNet自测进行的性能测试,对比了TCP和RDMA两种网络协议下的性能表现。测试结果显示RDMA网络在4K和1M数据块的读写性能上均显著优于TCP网络。
2026-07-14 14:54:12
190
原创 RDMA verbs介绍
用户传入QP的指针,以及表示要修改的属性的掩码和要修改值。对于Linux系统来说,Verbs的功能由rdma-core和内核中的RDMA子系统提供,分为用户态Verbs接口libibverbs和内核态Verbs接口kernel/driver/infiniband/core,分别用于用户态和内核态的RDMA应用。需要注意的是图中的建链过程是为了交换对端的GID,QPN等信息,可以通过传统的Socket接口实现(一般称之为带外同步),也可以通过本文中介绍的CMA接口实现(带内同步,使用CM接口)。
2026-07-14 14:49:42
238
原创 Mellanox PFC 原理详解
由于 AI 训练是同步的——所有 GPU 要等最慢的那个完成才能进入下一轮——一台 GPU 的问题就能拖垮整个训练集群的吞吐。交换机标记的是具体的报文(打在 IP 头的 ECN 位上),接收端生成的 CNP 带有发送方的 QP 信息,发送端收到后只降低对应 QP 的速率。反过来,如果你把 cable_len 设得远大于实际值,CX6 会预留过大的 headroom,浪费宝贵的片上SRAM 空间——留给数据 buffer 的空间变少,buffer 的有效容量下降,PFC 反而会更频繁地触发。
2026-07-03 17:52:07
229
原创 DCQCN 拥塞控制算法详解
rp_rate_reduce_monitor_period(RNIC 的 rp_p_dec_timer)限制降速的最小间隔,避免短时间内被连续 CNP 砍得过狠;rp_clamp_tgt_rate 决定目标速率的更新时机。论文把若干量当作常数(Kmin/Kmax/Pmax、最大/最小速率、rp_gd 等),厂商为了工程灵活性把它们暴露为可配参数,并额外增加了降速保护类参数(rp_min_dec_fac、rp_clamp_tgt_rate、rp_rate_to_set_on_first_cnp 等)。
2026-07-03 13:05:56
388
原创 Mellanox/NVIDIA ConnectX-6 RoCEv2 中 DCQCN、PFC、ECN
其中当前为主要分析对象。NVIDIA 文档说明,ECN 是 IP 协议扩展,可以在不丢包的情况下通知通信端发生拥塞;该实现针对 RoCEv2,并要求通信路径上的节点都支持 ECN 才能保证可靠工作。
2026-07-01 11:10:57
250
原创 CX6 PFC / DCQCN sysfs 目录文件简述
roce_np描述 priority 到 buffer 的映射关系。描述端口 buffer 大小以及 PFC xoff/xon 水位。描述每个 traffic class / priority 的限速配置。描述当前 traffic class 数量或相关配置状态。0。
2026-07-01 11:09:56
164
原创 Virtio Split Virtqueue 总体结构
本文深入解析Linux 4.18内核中Split Virtqueue的核心机制。主要包含: 基本结构:Split Virtqueue由Descriptor Table、Available Ring和Used Ring三部分组成,分别用于描述缓冲区、发布请求和返回结果。 数据流: 驱动通过填充Descriptor和更新Available Ring提交请求 设备处理完成后通过Used Ring返回结果 驱动通过virtqueue_get_buf()回收资源 关键机制: 通知抑制:通过flags或EVENT_ID
2026-06-04 10:48:49
327
原创 5G网络切片
本文档详细描述了5G核心网的网络架构以及与切片相关的业务流程。并结合free5GC的核心网,进行设计3种应用场景的切片,给出了相应的配置与说明。
2022-11-07 16:51:12
498
虚拟化I/O协议VirtIO深度解析:从PCIe集成到硬件实现的全栈技术指南
2026-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅