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