# OpenCloudOS容器镜像按需加载和去重挑战赛 **Repository Path**: OpenCloudOS/OC-Challenge-3rd-OpenAtom-Competition ## Basic Information - **Project Name**: OpenCloudOS容器镜像按需加载和去重挑战赛 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2025-12-22 - **Last Updated**: 2025-12-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenCloudOS容器镜像按需加载和去重挑战赛优秀作品 ### 赛事介绍 OpenCloudOS 社区关注到容器镜像的OCIv1标准采用分层和tar格式存储存在显著缺陷,讨论已久的OCIv2标准将延迟加载和减少数据重复列为核心挑战 **1.数据重复** (1)存储冗余:层内文件重复、跨层冗余、跨镜像相同文件因哈希差异无法去重,导致镜像仓库存储疯狂膨胀 (2)内存低效:宿主机多容器重复映射相同文件(如动态库),内存资源利用率显著降低 **2.延迟加载** 全量下载阻塞:传统镜像需完整下载解压,据数据统计76%启动时间消耗在镜像拉取,全量下载会影响启动速度 业界已有的按需加载方案,如containerd社区子项目stargz-snapshotter,依赖fuse,存在性能和可靠性问题,其他方案也存在不同的问题,不满足业务需求 需要参赛者设计并实现一个不依赖fuse、保留层、数据去重的按需加载方案 ### 优秀作品介绍 **1. LazyBlock(贡献团队:一撇一捺)** LazyBlock是一款专为云原生及AI场景打造的高性能容器镜像按需加载方案。针对传统OCI镜像全量下载慢、存储冗余大的痛点,项目创新性地采用ublk内核态块设备拦截与EROFS只读文件系统技术。LazyBlock彻底摒弃FUSE依赖,基于内容寻址构建Chunk级去重池,实现全链路零拷贝I/O。经测试,冷启动速度较OverlayFS提升4.3倍,跨版本镜像存储增量减少95%。 **2. ThunderSnap(贡献团队:雷海科技)** ThunderSnap 是一种新型的 containerd Snapshotter 插件,基于 ublk 用户态块设备机制与 stargz 可寻址镜像格式,实现了块级按需加载与去重,并支持预取加速,兼容 OCI v1 镜像,运行时开销极低。系统利用 ublk 的 user-recovery 机制,在 Snapshotter 崩溃后可实现无中断的快速恢复,避免了传统 FUSE 方案中因组件崩溃而导致容器整体崩溃的问题,显著提升了系统稳定性。依托上述特性,ThunderSnap 能够实现更快的容器启动、更低的内存与存储占用,以及更高的运行时性能,适用于边缘资源受限设备和云平台等多种应用场景。 **3. CAOCI(贡献团队:竞界智能)** CAOCI是基于内容寻址的容器镜像按需加载与去重系统,针对OCI v1容器镜像的数据重复和全量下载问题,提出了创新的解决方案。 核心技术创新: • 无FUSE的overlayfs按需加载:利用硬链接实现零用户态开销的懒加载 • 文件+块级混合去重:CAS内容寻址存储,实测去重率达66% • 三层智能预取:默认列表+历史学习+运行时学习,命中率98% • 多层降级保障:同步阻塞下载确保100%可靠性 • 完全OCI兼容:通过annotation扩展,零迁移成本 • 性能提升:容器启动加速66%,存储节省69%,传输减少80% 项目采用Go语言实现,包含完整的单元测试(覆盖率72.8%)、集成测试和containerd插件支持,可直接用于生产环境 **4. CORA(贡献团队:蒟蒻也有春天)** CORA 是一款高性能容器镜像加速方案,旨在解决云原生场景下的冷启动与存储痛点。CORA 摒弃传统文件级模式,采用虚拟块设备抽象与块级细粒度按需加载技术。通过将镜像切分为数据块并建立全局索引,实现容器启动时仅需秒级拉取元数据,数据随用随取,极大缩短启动时间。同时,CORA 内置基于 ZFile 的内容定义分块的高效去重与压缩机制。在显著降低传输带宽与存储占用的同时,提供接近本地盘的性能。并在 OpencloudsOS 系统完全兼容 OCI 标准,确保了存量生态的平滑演进。 **5. Dedup-Snapshotter(贡献团队:国科杭高队)** Dedup-Snapshotter 是一个高性能的容器镜像服务,旨在解决大规模容器集群中冷启动慢和存储冗余的核心痛点。通过结合 eBPF内核级监控、内容寻址去重(CAS)和 按需加载(Lazy Loading)技术,它实现了毫秒级的容器启动速度和极致的存储效率,同时保持对现有 OCIv1镜像生态的兼容。在测试中表现良好,详情请看演示。