挑战
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% 的时间处于闲置状态的组织。
