谷歌发布GKE Pod快照的基准测试结果。根据这份报告,启动延迟最高可降低89%:一个700亿参数的模型仅需37秒即可加载完毕,而一个80亿参数的模型仅需15秒。该功能可保存工作负载的运行状态(包括CPU和GPU内存)并按需恢复,已于今年5月在运行1.35.3-gke.1234000及更高版本的集群上正式发布。
该快照属于检查点和恢复机制而非缓存。快照保留应用程序运行时的全部内容,包括打开的文件描述符、线程、CPU寄存器、内存,以及容器的根文件系统、EmptyDir卷和tmpfs挂载点。新副本从该状态继续运行,不再执行加载模型的初始化过程,而这正是大型模型启动时最耗时的环节。
实现该功能依赖gVisor,前提是Pod必须在GKE Sandbox中运行。Autopilot集群已预装gVisor,标准集群则需要启用gVisor的节点池。每个节点上的智能代理负责管理快照生命周期,控制平面上的控制器负责清理过期快照,数据存储在Cloud Storage中。配置由PodSnapshotStorageConfig和PodSnapshotPolicy两个自定义资源完成。
谷歌提供的客户案例是Codeway。其Retake平台通过自定义缓存层将启动时间缩短至1分钟,首席DevOps工程师Ahmet Furkan Çomak表示,Pod快照将这一时间进一步缩短至仅8秒,团队现在会为特定任务启动H100实例,并在任务完成后将其关闭。
从业者的关注点更多集中在快照捕获之后。资深DevOps和MLOps工程师Mohana Narasimha G.指出,模型摘要、CUDA与驱动程序版本、GPU类型与拓扑以及运行时配置都是关键兼容性因素,机密信息、DNS和下游连接在恢复后需要显式重新加载。谷歌文档显示,GKE会根据Pod的关键运行时字段生成哈希值并嵌入快照,恢复的Pod必须生成完全相同的哈希值,目标节点须具备相同的机器系列和CPU架构,gVisor内核版本与GPU驱动程序版本也须一致;若无兼容快照,Pod将正常启动。