挑战
AI 和视频处理工作负载本质上具有突发性和高成本:
- 无论是否处理任务,GPU 实例都成本高昂
- 视频编码、转录和 AI 推理需要不同的资源配置
- 峰谷比为 50:1——高峰时段 200 多个任务,夜间接近零
- 传统自动扩展对于时间敏感的用户请求来说太慢(冷启动 5-10 分钟)
- 为峰值预置的固定基础设施意味着在非高峰时段 80% 以上的浪费
我们的解决方案
我们实施了启停式扩展模式——一种混合架构,其中计算资源为活跃工作负载即时配置,在空闲时完全释放,并为延迟敏感任务设置热池,为批处理任务设置冷池。
架构
- 任务队列:基于数据库的任务队列,带有优先级分类
- 编排器:管理资源生命周期和任务路由的服务
- GPU 工作器 (AI):用于推理(对象检测、转录、说话人检测)的云 GPU Pod
- CPU 工作器 (Video):用于视频编码和渲染的云 VM
- 热池:用于延迟敏感任务的预初始化实例(启动时间 < 30 秒)
- 冷池:用于批处理/批量处理的按需实例(可接受 2-5 分钟启动时间)
启停式模式实现
资源生命周期状态
资源经历一个定义的生命周期:从完全释放(零成本),到配置和预热(模型加载、健康检查),再到就绪和处理状态,然后经过一个冷却窗口后返回到释放状态。
热池策略
对于延迟敏感的处理(用户发起,期望在几分钟内得到结果):
- 在工作时间保持最小数量的热池实例
- 在容器启动时预加载 AI 模型
- 首先将传入任务路由到热实例
- 当队列深度超过阈值时,扩展额外的热实例
- 可配置的冷却计时器使实例在零星任务之间保持活跃
冷池策略
对于批处理(隔夜批量任务、非紧急重新编码):
- 默认情况下零实例运行
- 当提交批处理任务时,任务队列触发配置
- 为吞吐量而非延迟优化的批量实例
- 批处理完成后立即终止
- 使用 spot/preemptible 实例以显著节省成本
任务分类与路由
任务根据优先级和类型自动分类,然后路由到相应的池:
- 高优先级用户发起的 AI 任务路由到热 GPU 池
- 关键实时任务路由到始终运行的专用实例
- 中优先级编码任务路由到热或冷 CPU 池
- 低优先级批处理任务路由到冷 spot/preemptible 实例
编排器逻辑
扩容触发器
- 队列深度超过可配置阈值
- 平均等待时间超过该优先级级别的 SLA
- 在已知高峰时段之前计划性扩容
- 通过 admin API 手动触发以应对预期流量高峰
缩容触发器
- 在冷却窗口期间没有任务被处理
- 高峰时段后计划性缩容
- 所有排队任务完成且没有新的提交
- 达到计费周期的成本阈值
健康与恢复
- 对所有活跃实例进行定期健康探测
- 不健康的实例自动替换
- 失败任务重新排队,带重试计数并路由到不同的实例
- 超出最大重试次数的任务进入死信队列
成本影响
与始终运行的固定基础设施相比,启停式模式通过消除非高峰时段的闲置计算、根据任务类型调整资源规模以及利用 spot 实例处理批处理工作负载,实现了约 70% 的成本降低。
主要特点
- 零闲置成本 — 资源在不处理任务时完全释放
- 热池 — 用于延迟敏感工作负载的预初始化实例
- 冷池 — 以最低成本为批处理任务按需配置
- 任务分类 — 根据优先级、类型和延迟要求自动路由
- 冷却窗口 — 可配置的闲置超时可防止在突发任务之间过早缩容
- Spot/Preemptible 支持 — 批处理任务路由到折扣实例以显著节省成本
- 健康与恢复 — 自动替换不健康的实例并重新排队任务
- 计划性扩展 — 通过基于时间的配置规则预测已知流量模式
成果
技术栈
常见问题
MicrocosmWorks 为具有可预测的 GPU 密集型处理突发,之后是长时间空闲期的工作负载开发了启停式扩展模式。传统自动扩展在空闲期间维持最低容量会浪费资金。该模式并非保持预热实例运行,而是在处理作业到达时按需调配 GPU 基础设施,执行工作负载,并在完成后完全终止基础设施,从而在空闲期间实现接近零的成本。
MicrocosmWorks 通过预构建优化的容器镜像,其中内置所有 AI 模型权重和依赖项,并将这些镜像存储在与计算区域地理位置接近的注册表中,从而将冷启动时间缩短到 60 秒以内。编排层对计划内工作负载使用预测性配置,在预期需求前 2-3 分钟启动基础设施;对于不可预测的工作负载,系统会将作业排队并发送处理开始通知,以便用户知道他们的请求正在处理中。
MicrocosmWorks 记录显示,对于每天运行 2-6 小时的 AI 视频处理工作负载的客户,相比于持续运行 24/7 的 GPU 实例,成本可降低 70-90%。这些节省的成本来自于仅为实际处理时间付费,外加几分钟的启动和关闭开销,这种模式对于夜间批量视频处理、按需转码或事件触发的 AI 分析等利用率本身就是间歇性的工作流尤其有效。
是的,MicrocosmWorks 在 on-off 模式中实现了一种扇出架构,当有大型批处理作业到达时,该架构会并行调配多个 GPU worker,使用作业队列将视频文件分发给各个 worker,并在批处理完成后关闭所有 worker。该系统会跟踪每个视频的进度,并使用重试逻辑处理单个视频故障,而不会阻塞批处理中的其余部分,并将结果整合到一个输出位置,供下游使用。
MicrocosmWorks 以每小时 25-45 美元的开发费率实施开/关伸缩架构,其交付的生产就绪型实施通常在 3-5 周内完成,内容包括作业编排、基础设施调配、监控和故障处理。这项开发投资通常仅通过 GPU 成本节省,就能在 1-2 个月内收回成本,特别是对于目前运行常开型 GPU 实例,且这些实例在一天中超过 50% 的时间处于闲置状态的组织。
