Switches for HIRE: resource scheduling for data center in-network computing

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 问题中

  1. 资源模型设计
    1. HIRE 将 INC 资源抽象为多维资源向量,主要是三个维度:
      • RMT stages

      • SRAM

      • Recirculation capacity

      • 每个交换机节点 M^n 都维护一个可用资源向量 q​,表示其各维度的剩余容量。

    2. 不同型号交换机支持的资源容量和编程模型不同。HIRE 通过在 CompStore 中为每种交换机类型预置能力描述来解决

      • 哪些 INC 服务可在该交换机上运行

      • 各资源维度的上限

      • 支持的 P4 版本或编程模型特性

    3. HIRE 通过 “shareable”标签 + 运行时状态追踪 来处理非线性共享建模

      • resource_demand = {
            "rmt-stages": "2(shareable)",  # 可跨租户共享
            "sram": "5MB"                  # 不可共享,按租户隔离
        }
        
      • shareable 资源:当第一个 INC 任务在交换机上注册某服务时,消耗额外资源建立共享上下文;后续任务只消耗非共享部分(如租户私有存储)。

      • 非 shareable 资源:每个任务独立消耗,简单累加。

  2. 流网络结构设计

    • 共享语义→边的成本
      • 若目标交换机已运行相同 INC 服务,则 Φnew​ 返回 0(成本低),否则返回正值(成本高)
  3. INC应用建模
    1. 复合模板 Composite Template
      • 每个 INC 应用被封装为一个复合模板,存储在 CompStore 中。
    2. 复合资源请求 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"}
            }
        )
        
    3. 多态资源请求,包括Task Group、Flavor 向量、拓扑约束建模、非线性共享建模

API设计

List 1是一个用户提交任务的API展示,展示了两个关键抽象:复合模板(Composite)和有向图(Connections)。

  • 复合模板(Composite):从 CompStore 查找,封装了 INC 服务的多种实现。

  • 有向图(Connections):表达组件间的数据依赖,为后续局部性调度提供依据。

仿真实验的做法

实现

对比基线

  • 包含了对 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服务的编译工具链交换机多租户隔离机制

  • 未来可进一步探索动态资源重配置与网络控制器的深度协同等方向。