Skip to content

读组内论文 ​

进组后最先要读的是组内论文:它们和你将来要做的工作最接近,用的模型、数据和代码组里都有,作者就在身边,读不懂可以直接问。这一页讲组内论文的两种常见类型、每一部分怎么读、推荐的阅读顺序,最后给一份精读示例。通用的读论文方法见找论文与读论文,每篇论文的简介见组内论文导读。

两种类型 ​

建模与算法类方法与系统类
常见发表IEEE TMC、TSC、ToN、TC 等期刊ICLR、ICML、ACM MM 等会议
代表论文LDLS(TMC 2023)、ROCS(TMC 2024)、ORR(TSC 2025)、LECU(TMC 2025)BWCache(ICLR 2026)、PrediT 和 SCOPE(ACM MM 2026)、HeraSys 和 SCD(ICML 2026)
主线把调度或资源分配问题写成数学优化问题 → 设计算法(深度强化学习或在线算法)→ 用真实数据做仿真通过测量发现一个现象 → 据此设计方法 → 在公开模型和基准上测速度和质量
最难读的部分系统模型和问题建模(符号多)、理论证明方法细节、实验设置(模型和指标多)
怎么复现多数要自己写仿真器一般有开源代码,难点在环境和算力

也有两者结合的论文,例如 VELO 和 EAT 既有建模和强化学习,又搭了真实系统做实验。

建模与算法类论文怎么读 ​

典型结构 ​

章节内容读的时候回答
Introduction场景 → 现有工作忽略了什么 → 本文的做法,常用“Specifically: 1) … 2) … 3) …”列出三点贡献这篇论文新考虑了什么因素?
Related Work按类别介绍相关工作和最接近的两三篇工作区别在哪里?
System Model and Problem Formulation定义节点、任务、镜像层等实体及其参数,写出时间或成本的计算公式,给出优化目标和约束,分析问题的难度决策变量、目标、约束各是什么?
算法强化学习:状态、动作、奖励、网络结构、训练流程。在线算法:问题怎么分解、每一步做什么算法的每一步对应模型里的哪一部分?
理论分析(在线算法类)竞争比、复杂度的证明定理给出了什么保证?依赖什么假设?
Performance Evaluation数据、参数设置表、对比算法,以及改变节点数、任务数、带宽等参数的一组实验对比公平吗?什么条件下优势最大?

按三遍阅读法,第一遍读引言和贡献列表,第二遍按下面六步读正文。

第一步:整理符号表 ​

组内期刊论文在系统模型一节通常有一张符号表(Notation)。读的时候把它整理到笔记里,按类型分组,每个符号写上中文含义和单位:

类型符号(以 LDLS 为例)含义
已知输入N边缘节点集合,另有一个远端云节点
已知输入f_n、b_n、d_n、C_n节点 n 的 CPU 频率、带宽、存储空间、最多同时运行的容器数
已知输入L_c、d_l容器 c 包含的层;层 l 的大小
已知输入p_k、c_k任务 k 需要的计算量、请求的容器
决策变量u_n^k任务 k 是否调度到节点 n(取 0 或 1)
中间量y_ln(t)、z_ln(t)时刻 t 层 l 是否在节点 n 上;它在节点 n 上的下载完成时刻

分清已知输入、决策变量(算法要决定的)和中间量(由前两者算出来的),后面的公式就好读了。

第二步:画出一个任务的时间线 ​

把模型中的各种时间画成一条时间线。以 LDLS 为例:

text
任务 k 在时刻 t 到达,被调度到节点 n
│
├─ 下载缺失的层 ── 节点上已有的层跳过;正在下载的层等它下完;
│                  没有的层排进下载队列(每个节点同一时刻只下载一层)
│                  下载时间 = 所需层中最晚的下载完成时刻 − t          (式 1)
├─ 计算 ────────── 计算时间 = 计算量 p_k ÷ CPU 频率 f_n                 (式 2)
│
任务完成            完成时间 = 下载时间 + 计算时间                        (式 3)

画出来以后就能看清“层感知”省时间的原因:节点上已经有的层不用再下载。这条时间线也是复现时写仿真器的蓝本,L9 层感知容器调度仿真就是照着它写的。

第三步:看懂问题建模 ​

问题建模(Problem Formulation)一般是这样的形式:

text
min   目标函数(LDLS:所有任务的完成时间之和)
s.t.  约束 1:每个节点同时运行的容器数不超过 C_n
      约束 2:节点上所有层的总大小不超过存储空间 d_n
      约束 3:每个任务只能调度到一个节点
      决策变量的取值范围(0/1 整数、非负实数……)

逐条把约束翻译成中文,想清楚每条约束在现实中对应什么限制。

然后看论文怎么论证这个问题难。组内论文常见的说法是“这个问题是某个经典 NP-hard 问题(装箱、背包、集合覆盖等)的推广,所以也是 NP-hard 的”,有的论文会给出归约证明。初读时记住结论即可:这个问题目前没有已知的多项式时间最优算法(除非 P=NP),所以论文转而设计启发式、强化学习或近似算法。任务逐个到来、不知道未来的输入时,还需要在线算法,这和问题是否 NP-hard 是两回事。

第四步:读强化学习算法 ​

组内很多调度论文用深度强化学习:LDLS、ToN 2024 和 TSC 2024 用 PPO(带 clip 目标的策略梯度),ROCS 用 SAC,VELO 的期刊版和 EAT 用基于扩散模型的策略网络。先填这张表:

要素问自己LDLS 中
状态做决策时能看到哪些信息?各节点的层分布矩阵(每层是否已有、剩余下载时间、层大小)和资源状态(CPU 频率、带宽、剩余下载时间),加上把当前任务放到各节点的估计值(需要下载的层数、下载时间、等待时间、计算时间)和任务信息
动作一次决策选什么?有多少种选择?把当前任务调度到哪个节点(某个边缘节点或云)
奖励优化目标怎么变成每一步的奖励?当前任务完成时间的相反数
一步什么时候做一次决策?每来一个任务决策一次

再看三个细节:

  • 特征提取:输入怎么处理。LDLS 用基于因子分解机(FM)的嵌入提取层之间的依赖关系,ToN 2024 用注意力加 LSTM 提取多用户的层共享信息,TSC 2024 用自注意力提取节点的位置分布。
  • 动作选择的改进:例如提前排除明显不好的动作(调度到存储不够或负载很高的节点)。这在调度问题里几乎是标配,L9 里的动作掩码就是最简单的版本。
  • 训练设置:网络结构、超参数、训练用什么数据、测试用什么数据。

基础知识见强化学习。

第五步:读在线算法和竞争比(选读) ​

OCS(TC 2024)、ORR(TSC 2025)用的是在线算法:请求一个接一个到来,必须马上决策,不知道未来会来什么。评价在线算法用竞争比:在最坏情况下,在线算法的代价不超过“提前知道全部未来的最优解”的多少倍。竞争比为 2,意味着无论输入如何,代价都不超过理想最优的 2 倍。

读这类论文:

  1. 先看算法的整体思路。ORR 用正则化方法把跨时间耦合的成本(容器放置、服务器唤醒)拆开,每个时刻只需要当前信息和过去的决策,再用逐步取整(stepwise rounding)把小数解变成满足约束的整数解。OCS 把问题拆成两个子问题依次求解:容器缓存用随机化策略,请求分配和容器启动用贪心子过程。
  2. 再看定理说了什么:竞争比是多少,和哪些参数有关。
  3. 证明第一遍跳过,准备做这类工作时再和师兄师姐一起推。

需要的数学见数学基础。

第六步:读实验部分 ​

组内期刊论文的实验大多是基于真实数据的仿真,有的还会在真实系统上验证。记下这几项:

项目组内论文中的例子
数据从 Docker Hub 收集的镜像和层信息(LDLS 用了 70 个镜像、378 个层);阿里巴巴集群 trace(ROCS、LECU);出租车移动轨迹(ToN 2024 的车联网容器迁移);oasst1 对话数据(VELO)
参数设置一张表列出各参数的取值,例如 LDLS:节点存储 5~15 GB、带宽 60~90 Mbps、CPU 0.8~1.2 GHz,默认 10 个节点、2000 个任务
对比算法简单启发式(随机、贪心、K8s 默认调度)、同类代表工作(如 Dep、DepSoft)、通用强化学习算法(DQN、PPO、SAC 等)
变化的参数节点数、任务数、带宽、到达率、存储空间,通常一张图改变一个参数
指标平均完成时间、部署代价、能耗、收益、SLA 违约率

看每张图时先自己想:这个参数变大时,我们的方法优势为什么变大(或变小)? 再去读论文的解释。

方法与系统类论文怎么读 ​

以 BWCache(ICLR 2026)为例,这类论文的主线是“观察 → 方法 → 实验”:

  1. 观察:论文先测量视频生成各部分的耗时,发现 DiT 模块占了大部分时间;再用相对 L1 距离衡量每个 DiT 模块的输出特征在相邻去噪步之间的变化,发现变化呈 U 形:开始和结束阶段变化大,中间阶段很小。这组图是整篇论文的出发点,读完要能自己复述出来。
  2. 方法:中间阶段的模块特征几乎不变,就缓存起来复用;用一个相似度指标决定什么时候复用(变化低于阈值才复用),并周期性地重新计算,防止误差累积。读方法时把每个超参数(阈值、复用间隔、最后多少比例的步数必须重新计算)和它的作用列出来。
  3. 实验:模型(Open-Sora、Open-Sora-Plan、Latte、Wan2.1、HunyuanVideo)、质量指标(VBench、LPIPS、SSIM、PSNR)、速度(A800 上的延迟和加速比)、对比方法(Δ-DiT、T-GATE、PAB、TeaCache、FasterCache)。加速比和质量要一起看:加速越多质量一般越差,论文要证明的是相近质量下更快,或者相近速度下质量更好。

同一方向的后续论文对照着读,能看出一个想法是怎么延续的:

  • PrediT(ACM MM 2026):从“复用”变成“预测”。用线性多步法(Adams-Bashforth 预测、Adams-Moulton 校正)根据前几步的输出外推后面的输出,并根据输出变化的大小动态决定跳过几步。
  • SCOPE(ACM MM 2026):对象换成自回归视频生成(MAGI-1、SkyReels-V2),在“复用”和“重新计算”之外加入“预测”,并且只计算当前活跃的帧区间。

读这类论文时,L5 扩散模型推理与加速的第 2 步会带你亲手画出相邻步特征相似度的曲线,读完论文再做一遍,理解会深很多。

推荐阅读顺序 ​

先读综述了解全貌,再按方向由浅入深。每篇的简介和链接见组内论文导读。

方向先读再读
所有人综述 Empowering Edge Intelligence(ACM CSUR 2025)的第 1~4 节综述第 5 节中和自己方向相关的部分
一:云边协同的大模型服务VELO(ICWS 2024)VELO 期刊版(TSC 2025)→ SCD(ICML 2026)
二:端侧复杂应用加速HeraSys(ICML 2026)多模型推理流水线的会议版(HPCC 2024)和期刊版(TSC 2026)
三:生成式 AI 加速BWCache(ICLR 2026)PrediT → SCOPE → EAT(TMC 2026,偏调度)
四:容器调度LRScheduler(MSN 2024,篇幅短、有代码)LDLS(TMC 2023)→ ToN 2024 → TSC 2024 → LECU(TMC 2025);对在线算法感兴趣读 OCS、ORR;对资源超售感兴趣读 ROCS

精读示例 ​

下面用读书笔记模板整理 LRScheduler,作为精读笔记的参考。

markdown
# LRScheduler: A Layer-aware and Resource-adaptive Container Scheduler
# in Edge Computing(MSN 2024,最佳论文奖)

- 链接:arXiv:2506.03694;代码:https://github.com/pwtttttt/Layer-Scheduler
- 一句话总结:在 K8s 调度框架中实现层感知调度,节点上已有的层越多得分越高,
  并按节点负载动态调整这项得分的权重,避免任务都挤到同一个节点上。

## 问题
边缘带宽有限,部署容器时下载镜像的代价很大。已有的层共享调度研究停留在理论和仿真,
没有在真实调度器里实现;而且只看层共享,任务会集中到少数节点上,造成负载不均。

## 方法
1. 下载代价(式 1):所需层中节点上没有的层的总大小。
   层共享得分(式 3):节点上已有的所需层的总大小 ÷ 镜像总大小 × 100。
2. 动态权重(式 11~13):节点上已有的层足够多、CPU 使用率低、CPU 和内存的使用比例
   均衡,三个条件都满足时,层共享得分用较大的权重 ω1,否则用较小的 ω2。
   最终得分 = 权重 × 层共享得分 + K8s 默认插件的得分。
3. 实现:作为 K8s 调度框架的插件(Go 语言),从镜像仓库获取镜像的层信息。

## 实验
真实集群:1 个控制节点 + 4 个工作节点,K8s v1.23.8,容器运行时为 Docker;
私有镜像仓库;镜像包括 WordPress、Ghost、GCC、Redis、Tomcat、MySQL 等。
对比 K8s 默认调度器,比较部署代价(下载量)和负载均衡情况。

## 我的思考
- 阈值和权重 ω1、ω2 是人工设定的,能不能根据负载自动调节?
  (后续的 LR²Scheduler 进一步根据用户需求和剩余资源调整打分。)
- 依赖 Docker 作为容器运行时,而 K8s 从 1.24 起移除了 dockershim。
  在新版本集群上复现,需要改造获取层信息的方式。
- 只在 5 台机器上测试。节点更多、镜像更多时效果如何?可以先用仿真回答(L9)。

## 生词与术语
dockershim、Scheduling Framework、Score 插件、Iverson bracket(条件成立取 1,否则取 0)

每篇组内论文都要回答的问题 ​

读完第二遍后,试着回答下面的问题,答不上来的地方就是第三遍要重点读的:

  1. 用一句话说出这篇论文新考虑了什么。
  2. 系统模型里有哪些实体?画出一个任务(请求)的时间线。
  3. 决策变量、优化目标、约束各是什么?
  4. 如果用强化学习:状态、动作、奖励是什么?为什么这样设计?
  5. 对比了哪些算法?其中哪个最强?本文方法在什么条件下优势最大?
  6. 论文做了哪些假设?例如 LDLS 忽略了任务数据从用户传到基站的时间,理由是镜像有几百 MB,而任务数据只有几百 KB。这些假设在你关心的场景里成立吗?
  7. 如果让你接着做,你会改动哪个假设,或者把方法用到什么新场景?

第 6、7 题是找研究问题的起点,组内很多后续论文就是这样来的,见复现组内论文。

组里怎么一起读 ​

  • 读书会:定期由一位同学主讲一篇论文,按讲论文的结构准备。讲组内论文时,可以请作者到场回答问题。
  • 问作者:读完第二遍后,带着具体问题去问作者,例如“式 5 的存储约束为什么不包括正在下载的层”。问之前先自己想过,问题越具体,收获越大。
  • 共享笔记:精读笔记放到组内共享的位置,后来的同学可以直接参考。

作者:崔涵帅、姚智、王振胜、唐志清 · 边缘智能系统实验室