ASPLOS ’21:Switches for HIRE: resource scheduling for data center in-network computing
总览
核心贡献在于建模(资源抽象),而后将调度问题转化为标准的 MCMF 问题,跟[23]使用类似求解器
[23] Ionel Gog, Malte Schwarzkopf, Adam Gleave, Robert NM Watson, and Steven Hand. 2016. Firmament: fast, centralized cluster scheduling at scale. In USENIX Symposium on Operating Systems Design and Implementation (OSDI). 99.
建模
那么,如何将 INC 调度中的复杂约束(异构性、替代性、局部性、非线性共享)编码到 MCMF 问题中?
- 资源模型设计
- HIRE 将 INC 资源抽象为多维资源向量,主要是三个维度:
- RMT stages
-
SRAM
-
Recirculation capacity
-
每个交换机节点 M^n 都维护一个可用资源向量 q,表示其各维度的剩余容量。
-
不同型号交换机支持的资源容量和编程模型不同。HIRE 通过在 CompStore 中为每种交换机类型预置能力描述来解决
- 哪些 INC 服务可在该交换机上运行
-
各资源维度的上限
-
支持的 P4 版本或编程模型特性
-
HIRE 通过 “shareable”标签 + 运行时状态追踪 来处理非线性共享建模
-
resource_demand = { "rmt-stages": "2(shareable)", # 可跨租户共享 "sram": "5MB" # 不可共享,按租户隔离 } - shareable 资源:当第一个 INC 任务在交换机上注册某服务时,消耗额外资源建立共享上下文;后续任务只消耗非共享部分(如租户私有存储)。
-
非 shareable 资源:每个任务独立消耗,简单累加。
-
- HIRE 将 INC 资源抽象为多维资源向量,主要是三个维度:
-
流网络结构设计
- 共享语义→边的成本
- 若目标交换机已运行相同 INC 服务,则 Φnew 返回 0(成本低),否则返回正值(成本高)
- 共享语义→边的成本
- INC应用建模
- 复合模板 Composite Template
- 每个 INC 应用被封装为一个复合模板,存储在 CompStore 中。
- 复合资源请求 CompReq
- 用户通过 API 提交 CompReq,这是一个有向图,节点是复合模板实例,边表示数据依赖和通信关系。
-
# 代码片段示例(§4.2) coordinator = composite( template="Coordinator", implementations={ "netchain": {"p4v": 14, "tp": "50MQPS", "ft": 2, "locality": "tor"}, "server": {"containers": 6, "cpu": 16, "mem": "32GB"} } )
-
多态资源请求,包括Task Group、Flavor 向量、拓扑约束建模、非线性共享建模
- 复合模板 Composite Template
API设计
List 1是一个用户提交任务的API展示,展示了两个关键抽象:复合模板(Composite)和有向图(Connections)。
- 复合模板(Composite):从 CompStore 查找,封装了 INC 服务的多种实现。
-
有向图(Connections):表达组件间的数据依赖,为后续局部性调度提供依据。
仿真实验的做法
实现
- 写了HIRE 仿真器,离散事件仿真器( Scala 编写),https://github.com/mblo/hire-cluster-simulator 实现了论文中描述的核心调度逻辑
对比基线
- 包含了对 Kubernetes 、Yarn、Sparrow和 CoCo等现有调度器的改造实现,用于性能对比。
输入负载
- 使用 Alibaba 2018 年公开的集群 trace,约 4000 台服务器,36 小时,包含作业到达时间、资源需求(CPU/内存)、优先级、运行时长等 https://github.com/alibaba/clusterdata
-
对trace有一些改造:因为原始trace中没有 INC 请求,因为生产环境尚未大规模部署 INC。因此通过随机选择一部分作业,将其部分任务组“增强”为 INC 版本。参数 μ 控制“请求 INC 资源的作业比例”(从 5% 到 100%)
网络拓扑:Fat-Tree,服务器数量 4394,交换机845 台。
INC交换机
- 资源配额:RMT stages 48 级,SRAM 22MB,Recirculation capacity 40%。
-
异构性配置:运行了两种实验配置
-
Homogeneous(同构):所有交换机支持全部 9 种 INC 服务,资源容量相同
-
Heterogeneous(异构):每个交换机随机支持 2 种 INC 服务,模拟不同厂商/型号的硬件差异
-
局限
-
HIRE依赖对INC服务的预先建模(在Composite Template中),新服务需人工接入。
-
实际部署需结合INC服务的编译工具链和交换机多租户隔离机制。
-
未来可进一步探索动态资源重配置、与网络控制器的深度协同等方向。