摘要
容器将应用和支持软件、库文件等封装为镜像,通过发布新版本镜像实现应用升级,导致不同版本之间存在大量相同数据.镜像加载消耗大量时间,使容器启动时间从毫秒级延迟为秒级甚至是分钟级.复用不同版本之间的相同数据,有利于减少容器加载时间.当前,容器镜像采用继承和分层加载机制,有效实现了支持软件、库文件等数据的复用,但对于应用内部数据还没有一种可靠的复用机制.提出一种基于分片复用的多版本容器镜像加载方法,通过复用不同版本镜像之间的相同数据,提升镜像加载效率.方法的核心思想是:利用边界匹配数据块切分方法将容器镜像切分为细粒度数据块,将数据块哈希值作为唯一标识指纹,借助B-树搜索重复指纹判断重复数据块,减少数据传输.实验结果表明,该方法可以提高5.8X以上容器镜像加载速度.
-
单位中国科学院大学; 中国科学院软件研究所; 计算机科学国家重点实验室