<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>传输调度 on Hellokitty&#39;s Blog</title>
    <link>https://yangyang233333.github.io/tags/%E4%BC%A0%E8%BE%93%E8%B0%83%E5%BA%A6/</link>
    <description>Recent content in 传输调度 on Hellokitty&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <lastBuildDate>Fri, 21 Aug 2026 11:18:00 +0800</lastBuildDate>
    <atom:link href="https://yangyang233333.github.io/tags/%E4%BC%A0%E8%BE%93%E8%B0%83%E5%BA%A6/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Mooncake Transfer Engine 源码阅读（四）：TENT 下一代架构如何重构传输引擎</title>
      <link>https://yangyang233333.github.io/posts/mooncake-transfer-engine-source-reading-tent/</link>
      <pubDate>Fri, 21 Aug 2026 11:18:00 +0800</pubDate>
      <guid>https://yangyang233333.github.io/posts/mooncake-transfer-engine-source-reading-tent/</guid>
      <description>&lt;p&gt;Mooncake 仓库同时存在经典 Transfer Engine 和 &lt;strong&gt;TENT（Transfer Engine Next）&lt;/strong&gt;。TENT 不是简单增加一种 Transport，而是重构了 Segment 生命周期、运行时调度、拓扑选择、QoS、故障转移和插件体系。&lt;/p&gt;
&lt;p&gt;阅读版本：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Mooncake commit: 777cc7782417b6e554cf7c2d53210d0d8f89f5cc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;一为什么需要下一代引擎&#34;&gt;一、为什么需要下一代引擎&lt;/h2&gt;
&lt;p&gt;经典 TE 已经支持 RDMA、TCP、NVLink 和多种硬件，但随着后端增加，&lt;code&gt;TransferEngineImpl + MultiTransport + 各 Transport&lt;/code&gt; 容易出现几个问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Segment 生命周期分散在元数据和后端注册逻辑中；&lt;/li&gt;
&lt;li&gt;传输选择主要依赖静态协议与局部规则；&lt;/li&gt;
&lt;li&gt;多 rail、拥塞、故障和 QoS 难以统一调度；&lt;/li&gt;
&lt;li&gt;不同后端各自维护进度线程和资源模型；&lt;/li&gt;
&lt;li&gt;新硬件接入需要理解大量经典内部约定；&lt;/li&gt;
&lt;li&gt;请求取消、deadline 和 failover 缺少统一运行时。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;TENT 将这些能力上移到 Runtime 层。&lt;/p&gt;
&lt;h2 id=&#34;二目录结构&#34;&gt;二、目录结构&lt;/h2&gt;
&lt;p&gt;TENT 核心位于：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tent/src/runtime/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── transfer_engine_impl.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── segment.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── segment_manager.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── segment_registry.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── segment_tracker.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── transport_loader.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── transport_selector.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── progress_worker.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── admission_queue.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── qos_contract.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── receiver_credit.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── topology.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── control_plane.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;└── proxy_manager.cpp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;外围包括：&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
