<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Network on QSysArch - Quantum Computer System Architecture</title><link>https://qsysarch.com/zh-cn/categories/network/</link><description>Recent content in Network on QSysArch - Quantum Computer System Architecture</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 28 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://qsysarch.com/zh-cn/categories/network/index.xml" rel="self" type="application/rss+xml"/><item><title>NVQLink：英伟达的GPU-量子统一系统架构</title><link>https://qsysarch.com/zh-cn/posts/nvqlink-system-architecture/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><guid>https://qsysarch.com/zh-cn/posts/nvqlink-system-architecture/</guid><description>&lt;p&gt;我非常高兴能成为 &lt;a href="https://qblox.com/newsroom/qblox-accelerates-utility-scale-quantum-computing-with-nvidia" class="external-link" target="_blank" rel="noopener"&gt;Qblox&lt;/a&gt; 团队的一员，该团队一直以来都在积极与 &lt;a href="https://www.nvidia.com/en-us/solutions/quantum-computing/nvqlink/" class="external-link" target="_blank" rel="noopener"&gt;Nvidia&lt;/a&gt; 合作，以推广 &lt;a href="https://nvidianews.nvidia.com/news/nvidia-nvqlink-quantum-gpu-computing" class="external-link" target="_blank" rel="noopener"&gt;NVQLink&lt;/a&gt; 标准，以此作为连接在 GPU、CPU 和 QPU（量子处理器，包括 Qblox 正在开发的前端量子控制器）上计算的异构系统的一种方式。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src='https://qsysarch.com/images/nvqlink/nvqlink1.webp' style='width:50%;margin:0;padding:0;'&gt;&lt;img src='https://qsysarch.com/images/nvqlink/nvqlink2.webp' style='width:50%;margin:0;padding:0;'&gt;&lt;/p&gt;&#10;&lt;h1 id="nvqlink概览"&gt;&#10; NVQLink概览&#10; &lt;a class="heading-link" href="#nvqlink%e6%a6%82%e8%a7%88"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h1&gt;&#10;&lt;p&gt;NVQLink 不是连接 GPU 和量子处理器的又一条“电缆”，而是一个完整的框架，允许互连从网络到软件堆栈的异构设备：&lt;/p&gt;&#10;&lt;p&gt;&#10;&lt;img class="glightbox" src="https://qsysarch.com/images/nvqlink/connect-quantum-processing-units-qpus-with-gpus.webp" alt="NVQLink 高级系统架构" /&gt; 图片来源：&lt;a href="https://www.naddod.com/blog/nvidia-nvqlink-introduction-connecting-quantum-and-gpu-computing" class="external-link" target="_blank" rel="noopener"&gt;Nandod&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="性能规格"&gt;&#10; 性能规格&#10; &lt;a class="heading-link" href="#%e6%80%a7%e8%83%bd%e8%a7%84%e6%a0%bc"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;关键的“硬件”规格侧重于网络和计算资源的性能：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;网络吞吐量：从 GPU 到 QPU 最高可达 400 Gb/s。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;网络延迟：往返延迟（FPGA → GPU → FPGA）小于 4.0 微秒。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GPU 硬件：基于 NVIDIA GB200 Grace Blackwell 超级芯片构建的实时主机，具有大量的 TFLOPS。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="为什么需要-nvqlink"&gt;&#10; 为什么需要 NVQLink&#10; &lt;a class="heading-link" href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e9%9c%80%e8%a6%81-nvqlink"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;你可能会问：“这为什么重要？”&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;它创建了一个开放标准，将量子硬件与加速的 GPU 计算紧密集成。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;它支持混合工作流程：神经网络校准、量子纠错（QEC）等。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;它提供了一个将软件和硬件集成在一起的开放平台，使任何人都能与量子计算机进行交互，而无需淹没在浩瀚的知识海洋中，这要归功于&lt;a href="https://developer.nvidia.com/cuda-q" class="external-link" target="_blank" rel="noopener"&gt;Cuda-Q&lt;/a&gt;。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h1 id="nvqlink-规范架构设计"&gt;&#10; NVQLink 规范：架构设计&#10; &lt;a class="heading-link" href="#nvqlink-%e8%a7%84%e8%8c%83%e6%9e%b6%e6%9e%84%e8%ae%be%e8%ae%a1"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h1&gt;&#10;&lt;p&gt;NVQLink 白皮书现已发布在 &lt;a href="https://arxiv.org/abs/2510.25213" class="external-link" target="_blank" rel="noopener"&gt;https://arxiv.org/abs/2510.25213&lt;/a&gt;，让我们深入了解一下所提出的架构的细节：&lt;/p&gt;</description></item><item><title>GPUDirect RDMA：RoCE 数据包的生命周期</title><link>https://qsysarch.com/zh-cn/posts/gpu-direct-from-rdma-from-pcie-to-using-doca/</link><pubDate>Sat, 18 Oct 2025 00:00:00 +0000</pubDate><guid>https://qsysarch.com/zh-cn/posts/gpu-direct-from-rdma-from-pcie-to-using-doca/</guid><description>&lt;style&gt;&#10;img[src$='#center']&#10;{&#10;display: block;&#10;margin: 0.7rem auto;&#10;}&#10;img[src$='#right']&#10;{&#10;width: 50%;&#10;float: right;&#10;padding-left: 10px;&#10;}&#10;&lt;/style&gt;&#10;&lt;p&gt;&#10;&lt;img class="glightbox" src="https://qsysarch.com/images/gpudirect-rdma-pcie/nvidia-dgx-spark.webp#right" alt="" style="width: 100%; max-width: 200px;"/&gt;&lt;/p&gt;&#10;&lt;p&gt;本备忘录旨在了解 RDMA 的内部原理，特别是创建与 PCIe 子系统互连的“符合 RDMA 标准的网卡”所需的技术，例如与 &lt;a href="https://nvidianews.nvidia.com/news/nvidia-dgx-spark-arrives-for-worlds-ai-developers" class="external-link" target="_blank" rel="noopener"&gt;DGX Spark&lt;/a&gt; 集成的 200Gb connectX-7（右图）。&lt;/p&gt;&#10;&lt;h1 id="rdma-作为客户端服务器协议"&gt;&#10; RDMA 作为“客户端/服务器”协议&#10; &lt;a class="heading-link" href="#rdma-%e4%bd%9c%e4%b8%ba%e5%ae%a2%e6%88%b7%e7%ab%af%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%8d%8f%e8%ae%ae"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h1&gt;&#10;&lt;p&gt;让我们首先概述一下 RDMA 协议。&lt;/p&gt;&#10;&lt;h2 id="rdma-设置"&gt;&#10; RDMA 设置&#10; &lt;a class="heading-link" href="#rdma-%e8%ae%be%e7%bd%ae"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;设置 RDMA 数据通道时，需要先将内存缓冲区注册到网卡才能使用。注册过程包括以下步骤：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;固定内存，使其无法被操作系统交换。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;将地址转换信息存储在网卡中。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;设置内存区域的权限。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;创建远程密钥+本地密钥，供网卡在执行 RDMA 动词时使用。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="rdma-队列对"&gt;&#10; RDMA 队列对&#10; &lt;a class="heading-link" href="#rdma-%e9%98%9f%e5%88%97%e5%af%b9"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;RDMA 通信基于一组三个队列。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;SQ&lt;/code&gt;：发送队列&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;RQ&lt;/code&gt;：接收队列&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;CQ&lt;/code&gt;：完成队列&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;RDMA 队列对，或称 &lt;code&gt;QP&lt;/code&gt;，指的是发送队列 + 接收队列。&lt;/p&gt;</description></item><item><title>RoCEv2：InfiniBand传输协议</title><link>https://qsysarch.com/zh-cn/posts/the-infiniband-transport-protocol-of-rocev2/</link><pubDate>Mon, 22 Sep 2025 00:00:00 +0000</pubDate><guid>https://qsysarch.com/zh-cn/posts/the-infiniband-transport-protocol-of-rocev2/</guid><description>&lt;p&gt;我曾在Spirent公司工作，这是一家测试测量公司，专门开发高性能网络测试系统。我们的产品名为&lt;a href="https://www.spirent.com/products/testcenter-hardware" class="external-link" target="_blank" rel="noopener"&gt;Test Center&lt;/a&gt;，当时我们与一支才华横溢的团队一起开发用于测试RoCEv2系统的系统。我的工作重点是优先级流控制（PFC），以及如何将其应用于基于800Gbps FPGA的“数据包分析器和生成器”（也称为PGA）。&lt;/p&gt;&#10;&lt;p&gt;然而，我从未真正了解过第 4 层，这份备忘录试图通过阐述 InfiniBand 传输层 (L4) 的关键要素并用一些图表将其可视化来弥合这一差距。&lt;/p&gt;&#10;&lt;h1 id="rocev2框架"&gt;&#10; RoCEv2框架&#10; &lt;a class="heading-link" href="#rocev2%e6%a1%86%e6%9e%b6"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h1&gt;&#10;&lt;p&gt;让我们从实际的 RoCEv2 帧开始：&lt;/p&gt;&#10;&lt;p&gt;&#10;&lt;img class="glightbox" src="https://qsysarch.com/images/rocev2-frame-format.webp" alt="RoCEv2 帧" /&gt;&lt;/p&gt;&#10;&lt;h2 id="基本传输头-bth"&gt;&#10; 基本传输头 (BTH)&#10; &lt;a class="heading-link" href="#%e5%9f%ba%e6%9c%ac%e4%bc%a0%e8%be%93%e5%a4%b4-bth"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;BTH 标头中包含的关键字段：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;操作码：用于指定 RDMA 操作的类型，例如 RDMA_WRITE、RDMA_READ 等。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;目标队列对：用于区分数据包的不同目标队列对。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;确认请求：指示接收端是否需要对此数据包返回 ACK。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;数据包序列号 (PSN)：用于数据包序列跟踪，以确保可靠交付。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;由于UDP协议不可靠，帧可能会丢失、乱序或重复，因此使用PSN来确保帧的正确传输。然而，这也意味着IBTL需要有一种方法来请求帧重传。这可以通过AETH头部来实现，具体内容将在下文描述。&lt;/p&gt;&#10;&lt;h2 id="扩展传输头-eth"&gt;&#10; 扩展传输头 (ETH)&#10; &lt;a class="heading-link" href="#%e6%89%a9%e5%b1%95%e4%bc%a0%e8%be%93%e5%a4%b4-eth"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;InfiniBand传输层包含多个扩展头部，用于特定功能。对于RDMA而言，最值得关注的两个扩展头部是RETH和AETH。&lt;/p&gt;&#10;&lt;h5 id="rdma-扩展传输头-reth"&gt;&#10; RDMA 扩展传输头 (RETH)&#10; &lt;a class="heading-link" href="#rdma-%e6%89%a9%e5%b1%95%e4%bc%a0%e8%be%93%e5%a4%b4-reth"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h5&gt;&#10;&lt;img src='https://qsysarch.com/images/RoCEv2-IBTH-RETH-frame.webp' style="width:320px;max-width:100%;float:right;padding-left:20px;"&gt;&#10;&lt;p&gt;RDMA_WRITE 操作需要多个元素，这些元素在 RETH 扩展报头的各个字段中表示。该报头会将写入操作的详细信息告知接收硬件，包括：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;虚拟地址：数据将写入的目标内存地址&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;远程密钥 (R_Key)：用于验证内存区域权限的访问密钥&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;长度：要传输的数据的大小&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h5 id="ack-扩展传输标头-aeth"&gt;&#10; ACK 扩展传输标头 (AETH)&#10; &lt;a class="heading-link" href="#ack-%e6%89%a9%e5%b1%95%e4%bc%a0%e8%be%93%e6%a0%87%e5%a4%b4-aeth"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h5&gt;&#10;&lt;p&gt;如前所述，IBTL 需要在传输不可靠时通知发送方。这是通过 EATH 扩展实现的，该扩展包含以下字段：&lt;/p&gt;</description></item><item><title>RDMA 和 InfiniBand 的复杂世界</title><link>https://qsysarch.com/zh-cn/posts/the-confusing-world-of-rdma-and-infiniband/</link><pubDate>Tue, 16 Sep 2025 00:00:00 +0000</pubDate><guid>https://qsysarch.com/zh-cn/posts/the-confusing-world-of-rdma-and-infiniband/</guid><description>&lt;img src='https://qsysarch.com/images/gpu-infiniband-nvlink.webp' style="width:380px;max-width:100%;float:right;padding-left:20px;"&gt;&#10;&lt;p&gt;在GPU领域，与RDMA相关的术语层出不穷：GPU-direct、NvLink、NVLink Fusion、InfiniBand、Quantum InfiniBand、GPUNetIO和DOCA。这令人眼花缭乱，但或许不必如此？&lt;/p&gt;&#10;&lt;p&gt;本文以个人备忘录的形式写成，试图阐述各种技术，并用一些图表将其可视化。&lt;/p&gt;&#10;&lt;h1 id="gpu-direct-和-rdma市场营销与技术"&gt;&#10; GPU Direct 和 RDMA：市场营销与技术。&#10; &lt;a class="heading-link" href="#gpu-direct-%e5%92%8c-rdma%e5%b8%82%e5%9c%ba%e8%90%a5%e9%94%80%e4%b8%8e%e6%8a%80%e6%9c%af"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="链接到标题"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;链接到标题&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h1&gt;&#10;&lt;p&gt;让我们从官方 Nvidia 文档中令人困惑的 &lt;a href="https://developer.nvidia.com/blog/unlocking-gpu-accelerated-rdma-with-nvidia-doca-gpunetio/" class="external-link" target="_blank" rel="noopener"&gt;GPUNetIO&lt;/a&gt; 页面开始：&lt;/p&gt;&#10;&lt;p&gt;请注意，RDMA 是远程直接内存访问协议的缩写，该协议允许从一台计算机的内存向另一台计算机的内存进行远程直接内存访问，而无需任何一台计算机的操作系统参与。……请勿将其与 GPUDirect RDMA 混淆，后者与 RDMA 协议无关。&lt;/p&gt;&#10;&lt;p&gt;明白了，GPUDirect RDMA 和 RDMA 协议并不相同！但是，GPUDirect RDMA 至少使用了 RDMA 协议吗？我希望如此；否则，那就太令人困惑了。&lt;/p&gt;&#10;&lt;p&gt;GPUDirect RDMA 是 NVIDIA GPUDirect 技术家族中的一项技术。它使网卡能够直接访问 GPU 内存，绕过 CPU 内存复制和操作系统例程，从而实现数据的收发。任何支持以太网、InfiniBand 或 RoCE 的网络框架都可以启用 GPUDirect RDMA。&lt;/p&gt;&#10;&lt;p&gt;好的，至少有一点很明确：GPUDirect RDMA 可以实现在任何传输层上，无论是以太网 (ETH) 还是 InfiniBand (IB)。但是，GPUNetIO 是什么？它与 RDMA 又有什么关系呢？答案很简单。顾名思义，GPUNetIO 是基于网络的 GPU Direct RDMA 实现，通过网卡实现。这并不意味着 GPU Direct 必须由网卡驱动，而只是说 GPUNetIO 是针对特定网卡类型的专用版本。&lt;/p&gt;&#10;&lt;p&gt;&#10;&lt;img class="glightbox" src="https://qsysarch.com/images/gpunetio-packet-xfer.webp" alt="GPUNetIO：以 GPU 为中心的数据传输" /&gt;&lt;/p&gt;</description></item></channel></rss>