基于分片复用的多版本容器镜像加载方法研究
结题报告
批准号:
61602454
项目类别:
青年科学基金项目
资助金额:
20.0 万元
负责人:
徐继伟
学科分类:
F0204.计算机系统结构与硬件技术
结题年份:
2019
批准年份:
2016
项目状态:
已结题
项目参与者:
张文博、王焘、吴悦文、何海、顾泽宇、王子勇
国基评审专家1V1指导 中标率高出同行96.8%
结合最新热点,提供专业选题建议
深度指导申报书撰写,确保创新可行
指导项目中标800+,快速提高中标率
客服二维码
微信扫码咨询
中文摘要
容器将应用和支持软件、库文件等封装为镜像,通过发布新版本镜像实现应用升级,导致不同版本之间存在大量相同数据。镜像加载消耗大量时间,使容器启动时间从毫秒级延迟为秒级甚至是分钟级。复用不同版本之间的相同数据有利于减少容器加载时间。当前容器镜像采用继承和分层加载机制,有效实现了支持软件、库文件等数据的复用,但对于应用内部数据还没有一种可靠的复用机制。本课题拟研究一种基于分片复用的多版本容器镜像加载方法,通过复用不同版本之间的相同数据,提升镜像加载效率。研究分为3个方面:1)针对容器镜像数量较多、相同数据查找效率低下的问题,研究一种基于启发式聚类的相似镜像查找方法;2)针对不同版本之间重复数据分布碎片化问题,研究一种基于重写的数据自组织优化方法;3)针对数据复用过程中瓶颈资源不同导致复用效果难以预测的问题,研究一种效用最大化的镜像加载策略决策方法。最后通过原型系统实现,完成对以上方法的检验。
英文摘要
Container encapsulates the application, the supporting software and the operating system libraries as an image. The application is updated through publishing a newer image version. That would lead a certain degree of duplications between the neighboring versions. The loading process of container image is time-consuming and delays the starting time of a container from milliseconds to seconds or minutes. Reusing the same data of previous versions can help to reduce the loading time. The layered loading and inheritance features adopted by docker can help to reuse the supporting software and the operating system libraries effectively in image loading. However, reusing the application data is currently not supported. This study will make a research on container image loading methodology based on chunking reuse of older versions to improve the image loading performance. There are three key points: 1) A large number images coexisting in a runtime host cause a large same data search space which could lower the lookup performance. To address this issue, we will propose a clustering based image lookup method. 2) To address the data fragment problem, we will study a self-organized optimization method based on data rewritten. 3) To resolve the utility unpredictable problem caused by the bottleneck changing, we will study a maximum utility based strategy decision method. All the proposed methods will be tested in a prototype system implementation.
以Docker为代表容器(Container)技术已经成为一种广泛使用的服务器资源共享技术,当前正大规模应用于弹性云平台和自动运维等方面。国内外主流云平台(如亚马逊AWS、阿里云等)全部支持Docker容器部署,各大、中、小型企业数据中心也正致力于采用Docker容器部署应用。Docker容器将应用封装到镜像(Image)中,通过运行镜像创建应用实例。由于镜像在镜像库(Repository)中集中存储,将镜像从集中存储加载到本地的过程需要耗费大量的时间,这将导致镜像实例创建时间由毫秒级延迟为分钟级,严重制约了应用在面对突发高负载时的处理能力,影响应用服务质量。这主要由两方面的原因造成:第一,虽然Docker镜像采用了继承和分级加载的机制,但是由于受到应用版本多样性等因素影响,在不同应用版本镜像之间依然存在重复存储和重复加载的现象;第二,Docker容器镜像在创建过程中可能引入冗余文件,使容器镜像体积变大,从而降低加载效率。.针对以上两个问题,我们分别运用内容寻址、机器学习、静态程序分析、动态程序分析等方法进行研究,提出了基于分片复用的多版本容器镜像加载方法、基于决策树的容器镜像加载策略决策和基于程序分析的临时文件错误检测方法,并采用私有云平台OnceCloud和Docker官方镜像库(Docker Hub)的开源数据对三种方法进行实验验证。实验结果表明:基于分片复用的多版本容器镜像加载方法和基于决策树的容器镜像加载策略决策方法可以提高5.8X以上的镜像加载速度;基于程序分析的临时文件错误检测方法可以100%检测镜像创建过程中的临时文件错误,从而达到减小镜像体积的目标。
期刊论文列表
专著列表
科研奖励列表
会议论文列表
专利列表
DOI:--
发表时间:--
期刊:软件学报
影响因子:--
作者:陆志刚;徐继伟;黄涛
通讯作者:黄涛
An Empirical Case Study on the Temporary File Smell in Dockerfiles
Dockerfile 中临时文件气味的实证案例研究
DOI:10.1109/access.2019.2905424
发表时间:2019
期刊:IEEE Access
影响因子:3.9
作者:Lu Zhigang;Xu Jiwei;Wu Yuewen;Wang Tao;Huang Tao
通讯作者:Huang Tao
Efficient image restoration of virtual machines with reference count based rewriting and caching
通过基于引用计数的重写和缓存实现虚拟机的高效映像恢复
DOI:10.1016/j.future.2017.06.026
发表时间:2017-12
期刊:Future Generation Computer Systems
影响因子:--
作者:Jiwei Xu;Tao Wang;Xiaozhao Xing;Wenbo Zhang;Hua Zhong
通讯作者:Hua Zhong
国内基金
海外基金