使用 SOCI 加快容器启动速度 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 SOCI 加快容器启动速度

SOCI(Seekable 开放容器计划)索引允许在我们的 亚马逊 SageMaker Studio A ma SageMaker zon Unified Studio 中延迟加载自定义容器镜像。SOCI 将您的自定义自带映像(BYOI)容器的启动时间显著缩短了大约 30-70%。延迟改善因镜像大小、托管实例可用性和其他应用程序依赖关系而异。SOCI 创建了一个索引,该索引允许仅使用必要的组件启动容器,并根据需要按需获取其他文件。

SOCI 解决了容器启动时间缓慢的问题,这种启动时间会中断自定义映像的迭代机器学习 (ML) 开发工作流程。随着机器学习工作负载变得越来越复杂,容器镜像越来越大,从而造成启动延迟,阻碍了开发周期。

主要优势

  • 更快的迭代周期:根据镜像和实例类型,减少容器启动时间

  • 通用优化:将性能优势扩展到 Studio 中的所有自定义 BYOI 容器

SOCI 索引的工作原理

SOCI 会创建专门的元数据索引,用于映射容器镜像的内部文件结构。该索引允许访问单个文件,而无需下载整个图像。SOCI 索引作为符合 OCI(开放容器倡议)的构件存储在 A mazon ECR 中,并链接到您的原始容器映像,从而保留图像摘要和签名有效性。

在 Studio 中启动容器时,系统会使用 SOCI 索引来识别和下载启动所需的基本文件。其他组件可根据您的应用程序需要并行获取。

架构组件

  • 原始容器图片:您的基本容器存储在 Amazon ECR 中

  • SOCI 索引工件:映射图像文件结构的元数据

  • OCI 图像索引清单:链接您的原始图像和 SOCI 索引

  • Finch 容器运行时:启用与 Studio 的延迟加载集成

支持的工具

工具 集成
nerdctl 需要安装 containerd
Finch CLI 原生 SOCI 支持
Docker + SOCI CLI 需要其他工具