<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Home on Zhenguo Chen</title>
    <link>https://zgchen2000.github.io/</link>
    <description>Recent content in Home on Zhenguo Chen</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 17 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://zgchen2000.github.io/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>RL基础学习</title>
      <link>https://zgchen2000.github.io/posts/algorithm/rl-basic/</link>
      <pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://zgchen2000.github.io/posts/algorithm/rl-basic/</guid>
      <description>&lt;h2 id=&#34;强化学习基本概念&#34;&gt;强化学习基本概念&lt;/h2&gt;&#xA;&lt;h3 id=&#34;概念&#34;&gt;概念&lt;/h3&gt;&#xA;&lt;h2 id=&#34;结构&#34;&gt;结构&lt;/h2&gt;&#xA;&lt;h2 id=&#34;常见强化学习算法&#34;&gt;常见强化学习算法&lt;/h2&gt;&#xA;&lt;h3 id=&#34;dqn&#34;&gt;DQN&lt;/h3&gt;&#xA;&lt;h3 id=&#34;ac&#34;&gt;AC&lt;/h3&gt;&#xA;&lt;h3 id=&#34;a2c&#34;&gt;A2C&lt;/h3&gt;&#xA;&lt;h3 id=&#34;ppo&#34;&gt;PPO&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;graph LR&#xA;    A[Agent] --&amp;gt;|action| B[Environment]&#xA;    B --&amp;gt;|observation| A&#xA;    B --&amp;gt;|reward| A&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>使用推测解码对LLM推理进行加速</title>
      <link>https://zgchen2000.github.io/posts/llm/specdecoding/</link>
      <pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://zgchen2000.github.io/posts/llm/specdecoding/</guid>
      <description>&lt;h2 id=&#34;简介&#34;&gt;简介&lt;/h2&gt;&#xA;&lt;p&gt;LLM推理的自回归机制导致了其推理效率低下的问题，这种机制需要频繁的从HBM中加载参数/上下文进行计算。推测解码（Speculative Decoding，SD）针对自回归特性进行了加速优化，其通过一个更小更快的草稿模型（Draft Model，DM）进行推测，将推测的结果交给目标模型（Target Model，TM）进行并行验证。这种并行机制能极大提高并行计算单元的利用率，提高模型推理速度。&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;推测解码相关工作划分&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;当前推测解码相关工作可以分为三类&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;&#xA;&lt;sup style=&#34;font-size: 0.75em; font-weight: normal;&#34;&gt;&lt;a href=&#34;#ref-xia2024unlocking&#34; style=&#34;text-decoration: none;&#34;&gt;[1]&lt;/a&gt;&lt;/sup&gt;&#xA; &#xA; &#xA; &#xA; &#xA; &#xA;   &#xA;   &#xA; &#xA; &#xA; &#xA;   &#xA; &#xA; &#xA; &#xA; &#xA; &lt;sup style=&#34;font-size: 0.75em; font-weight: normal;&#34;&gt;&lt;a href=&#34;#ref-hu2025specsurvey&#34; style=&#34;text-decoration: none;&#34;&gt;[2]&lt;/a&gt;&lt;/sup&gt;&#xA;：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;草稿生成的优化。&lt;/li&gt;&#xA;&lt;li&gt;草稿验证流程的优化。&lt;/li&gt;&#xA;&lt;li&gt;系统层面的优化, 包括在流水线、硬件和分布式协同上改进。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;接下来我们从学术和项目两个方向解读各个工作。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;拒绝采样&lt;/strong&gt;&#xA;有建议分布$q(x)$和目标分布$p(x)$，对于$u \sim U(0,1)$，$u&amp;lt;\frac{p(x)}{M \cdot q(x)}$为接受样本的标准，那么获得的样本和直接从$p(x)$采样概率相同&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;学术研究&#34;&gt;学术研究&lt;/h2&gt;&#xA;&lt;h3 id=&#34;specinfer&#34;&gt;SpecInfer&lt;/h3&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;  &#xA;    &#xA;  &#xA;  &#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;  &lt;figure class=&#34;image-container&#34; style=&#34;clear: both;&#34;&gt;&#xA;    &lt;img src=&#34;index.assets/image-20260122143340310.png&#34; alt=&#34;image-20260122143340310&#34; title=&#34;An overview of SpecInfer’s tree-based speculative inference and verification mechanism.&#34; &#xA;          /&gt;&#xA;    &#xA;    &lt;figcaption&gt;An overview of SpecInfer’s tree-based speculative inference and verification mechanism.&lt;/figcaption&gt;&#xA;    &#xA;  &lt;/figure&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;SpecInfer&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;  &#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;&#xA;&lt;sup style=&#34;font-size: 0.75em; font-weight: normal;&#34;&gt;&lt;a href=&#34;#ref-miao2024specinfer&#34; style=&#34;text-decoration: none;&#34;&gt;[3]&lt;/a&gt;&lt;/sup&gt;&#xA;提出了基于树的推测推理，通过提高单次验证吞吐有效降低了内存访问和端到端延迟。其设计实现了&lt;em&gt;Learning-based Speculator&lt;/em&gt;和&lt;em&gt;Token Tree Verifier&lt;/em&gt;两个组件来完成Token Tree的生成和验证。&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Learning-based Speculator&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;  &#xA;    &#xA;  &#xA;  &#xA;    &#xA;  &#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;  &#xA;  &lt;figure class=&#34;image-float&#34; style=&#34;width: 50%; float: left; margin: 0 20px 10px 0;&#34;&gt;&#xA;    &lt;img src=&#34;index.assets/image-20260122152835475.png&#34; alt=&#34;image-20260122152835475&#34; title=&#34;Illustration of token tree expansion.&#34; &#xA;         style=&#34;width: 100%; display: block;&#34; /&gt;&#xA;    &#xA;    &lt;figcaption&gt;Illustration of token tree expansion.&lt;/figcaption&gt;&#xA;    &#xA;  &lt;/figure&gt;&#xA;&#xA;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kubernetes拓展调度器</title>
      <link>https://zgchen2000.github.io/posts/kubernetes/schedulers/</link>
      <pubDate>Wed, 16 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://zgchen2000.github.io/posts/kubernetes/schedulers/</guid>
      <description>&lt;p&gt;现实中复杂的业务场景kubernetes原生调度功能并不能完全Cover，如缺少的Job调度、重调度等功能。为了增强Kubernetes功能，实现对各种业务场景的适配，许多的拓展调度框架应运而生，接下来本文将分析这些调度器并比较它们的异同。&lt;/p&gt;&#xA;&lt;h2 id=&#34;kubernetes-default-scheduler&#34;&gt;Kubernetes Default Scheduler&lt;/h2&gt;&#xA;&lt;p&gt;kube-scheduler是kubernetes集群默认调度器，其会对每个尚未被调度的Pod执行调度，选择一个最优的节点运行这个Pod。由于不同Pod对计算要求不同，所以要考虑诸多不同的因素。&lt;/p&gt;&#xA;&lt;h3 id=&#34;调度框架&#34;&gt;调度框架&lt;/h3&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;  &#xA;    &#xA;  &#xA;  &#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;  &lt;figure class=&#34;image-container&#34; style=&#34;clear: both;&#34;&gt;&#xA;    &lt;img src=&#34;index.assets/scheduling-framework-extensions.png&#34; alt=&#34;img&#34; title=&#34;Schedule Framework&#34; &#xA;          /&gt;&#xA;    &#xA;    &lt;figcaption&gt;Schedule Framework&lt;/figcaption&gt;&#xA;    &#xA;  &lt;/figure&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;K8s调度框架支持如上拓展点，可以使用默认或者自定义插件实现对一个或多个拓展点的支持，通过配置文件将调度插件组合起来形成调度器。如下创建了一个默认调度器和一个禁用所有打分插件的调度器。可以在Pod中声明调度器来指定调度策略。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e0def4;background-color:#232136;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ea9a97&#34;&gt;apiVersion&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#f6c177&#34;&gt;kubescheduler.config.k8s.io/v1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ea9a97&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#f6c177&#34;&gt;KubeSchedulerConfiguration&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ea9a97&#34;&gt;profiles&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &lt;span style=&#34;color:#ea9a97&#34;&gt;schedulerName&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#f6c177&#34;&gt;default-scheduler&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &lt;span style=&#34;color:#ea9a97&#34;&gt;schedulerName&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#3e8fb0&#34;&gt;no&lt;/span&gt;-&lt;span style=&#34;color:#f6c177&#34;&gt;scoring-scheduler&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ea9a97&#34;&gt;plugins&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#ea9a97&#34;&gt;preScore&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#ea9a97&#34;&gt;disabled&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        - &lt;span style=&#34;color:#ea9a97&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#f6c177&#34;&gt;&amp;#39;*&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#ea9a97&#34;&gt;score&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#ea9a97&#34;&gt;disabled&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        - &lt;span style=&#34;color:#ea9a97&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#908caa&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#f6c177&#34;&gt;&amp;#39;*&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;默认调度功能&#34;&gt;默认调度功能&lt;/h3&gt;&#xA;&lt;p&gt;K8s默认调度插件如下:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;调度插件名称&lt;/th&gt;&#xA;          &lt;th&gt;实现的扩展点&lt;/th&gt;&#xA;          &lt;th&gt;功能说明&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;ImageLocality&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;score&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;优先选择已缓存 Pod 所需容器镜像的节点&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;TaintToleration&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;filter&lt;/code&gt;, &lt;code&gt;preScore&lt;/code&gt;, &lt;code&gt;score&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;实现污点和容忍机制，过滤不容忍的节点并影响打分&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;NodeName&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;filter&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;检查 Pod 指定的节点名称是否与当前节点匹配&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;NodePorts&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;preFilter&lt;/code&gt;, &lt;code&gt;filter&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;检查 Pod 请求的端口在节点上是否可用&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;NodeAffinity&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;filter&lt;/code&gt;, &lt;code&gt;score&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;实现节点选择器 (&lt;code&gt;nodeSelector&lt;/code&gt;) 和节点亲和性 (&lt;code&gt;nodeAffinity&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;PodTopologySpread&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;preFilter&lt;/code&gt;, &lt;code&gt;filter&lt;/code&gt;, &lt;code&gt;preScore&lt;/code&gt;, &lt;code&gt;score&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;实现 Pod 拓扑分布约束（如跨可用区/机架调度）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;NodeUnschedulable&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;filter&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;过滤 &lt;code&gt;.spec.unschedulable=true&lt;/code&gt; 的节点&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;NodeResourcesFit&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;preFilter&lt;/code&gt;, &lt;code&gt;filter&lt;/code&gt;, &lt;code&gt;score&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;检查节点资源是否满足 Pod 请求，支持多种打分策略（如 &lt;code&gt;LeastAllocated&lt;/code&gt;）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;NodeResourcesBalancedAllocation&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;score&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;优先选择 CPU/内存等资源使用更均衡的节点&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;VolumeBinding&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;preFilter&lt;/code&gt;, &lt;code&gt;filter&lt;/code&gt;, &lt;code&gt;reserve&lt;/code&gt;, &lt;code&gt;preBind&lt;/code&gt;, &lt;code&gt;score&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;检查卷绑定状态，启用 &lt;code&gt;StorageCapacityScoring&lt;/code&gt; 时优先选择有足够存储的节点&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;VolumeRestrictions&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;filter&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;检查卷挂载是否符合提供商的限制（如只读卷）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;VolumeZone&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;filter&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;检查请求的卷是否满足区域拓扑约束&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;NodeVolumeLimits&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;filter&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;检查节点是否满足 CSI 卷的数量限制&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;EBSLimits&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;filter&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;检查节点是否满足 AWS EBS 卷限制&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;GCEPDLimits&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;filter&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;检查节点是否满足 GCP Persistent Disk 卷限制&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;AzureDiskLimits&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;filter&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;检查节点是否满足 Azure Disk 卷限制&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;InterPodAffinity&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;preFilter&lt;/code&gt;, &lt;code&gt;filter&lt;/code&gt;, &lt;code&gt;preScore&lt;/code&gt;, &lt;code&gt;score&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;实现 Pod 间亲和性与反亲和性（如共置或隔离）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;PrioritySort&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;queueSort&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;提供默认的基于优先级的 Pod 排序（高优先级优先调度）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;DefaultBinder&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;bind&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;提供默认的 Pod-Node 绑定机制&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;DefaultPreemption&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;postFilter&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;实现抢占逻辑，为高优先级 Pod 腾出资源&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;volcano&#34;&gt;Volcano&lt;/h2&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;  &#xA;    &#xA;  &#xA;  &#xA;    &#xA;  &#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;  &#xA;  &lt;figure class=&#34;image-float&#34; style=&#34;width: 60%; float: left; margin: 0 20px 10px 0;&#34;&gt;&#xA;    &lt;img src=&#34;index.assets/image-20250717095154872.png&#34; alt=&#34;image-20250717095154872&#34; title=&#34;Volcano的系统架构&#34; &#xA;         style=&#34;width: 100%; display: block;&#34; /&gt;&#xA;    &#xA;    &lt;figcaption&gt;Volcano的系统架构&lt;/figcaption&gt;&#xA;    &#xA;  &lt;/figure&gt;&#xA;&#xA;&lt;/p&gt;</description>
    </item>
    <item>
      <title>在裸金属集群上部署Kubernetes</title>
      <link>https://zgchen2000.github.io/posts/kubernetes/deploy/</link>
      <pubDate>Tue, 08 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://zgchen2000.github.io/posts/kubernetes/deploy/</guid>
      <description>&lt;h2 id=&#34;容器运行时&#34;&gt;容器运行时&lt;/h2&gt;&#xA;&lt;h3 id=&#34;使用docker作为容器运行时&#34;&gt;使用docker作为容器运行时&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;安装docker&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e0def4;background-color:#232136;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#6e6a86&#34;&gt;# Add Docker&amp;#39;s official GPG key:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get install ca-certificates curl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo install -m &lt;span style=&#34;color:#f6c177&#34;&gt;0755&lt;/span&gt; -d /etc/apt/keyrings&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo chmod a+r /etc/apt/keyrings/docker.asc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#6e6a86&#34;&gt;# Add the repository to Apt sources:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ea9a97&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#3e8fb0&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f6c177&#34;&gt;&amp;#34;deb [arch=&lt;/span&gt;&lt;span style=&#34;color:#3e8fb0&#34;&gt;$(&lt;/span&gt;dpkg --print-architecture&lt;span style=&#34;color:#3e8fb0&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#f6c177&#34;&gt; signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f6c177&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#3e8fb0&#34;&gt;$(&lt;/span&gt;. /etc/os-release &lt;span style=&#34;color:#908caa&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#ea9a97&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#f6c177&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f6c177&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#ea9a97&#34;&gt;UBUNTU_CODENAME&lt;/span&gt;&lt;span style=&#34;color:#3e8fb0&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#ea9a97&#34;&gt;$VERSION_CODENAME&lt;/span&gt;&lt;span style=&#34;color:#f6c177&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#f6c177&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#3e8fb0&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#f6c177&#34;&gt; stable&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#908caa&#34;&gt;|&lt;/span&gt; &lt;span style=&#34;color:#3e8fb0&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;由于当前国内无法拉取镜像，需配置代理，有两种方式&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zhenguo Chen</title>
      <link>https://zgchen2000.github.io/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://zgchen2000.github.io/about/</guid>
      <description>&lt;p&gt;I am a Master&amp;rsquo;s candidate at Beijing University of Posts and Telecommunications (BUPT), specializing in distributed computing systems and large language model inference optimization.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
