基于分片复用的多版本容器镜像加载方法研究

基本信息
批准号:61602454
项目类别:青年科学基金项目
资助金额:20.00
负责人:徐继伟
学科分类:
依托单位:中国科学院软件研究所
批准年份:2016
结题年份:2019
起止时间:2017-01-01 - 2019-12-31
项目状态: 已结题
项目参与者:张文博,王焘,吴悦文,何海,顾泽宇,王子勇
关键词:
基础架构容器镜像虚拟化技术去冗余
结项摘要

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.

容器将应用和支持软件、库文件等封装为镜像,通过发布新版本镜像实现应用升级,导致不同版本之间存在大量相同数据。镜像加载消耗大量时间,使容器启动时间从毫秒级延迟为秒级甚至是分钟级。复用不同版本之间的相同数据有利于减少容器加载时间。当前容器镜像采用继承和分层加载机制,有效实现了支持软件、库文件等数据的复用,但对于应用内部数据还没有一种可靠的复用机制。本课题拟研究一种基于分片复用的多版本容器镜像加载方法,通过复用不同版本之间的相同数据,提升镜像加载效率。研究分为3个方面:1)针对容器镜像数量较多、相同数据查找效率低下的问题,研究一种基于启发式聚类的相似镜像查找方法;2)针对不同版本之间重复数据分布碎片化问题,研究一种基于重写的数据自组织优化方法;3)针对数据复用过程中瓶颈资源不同导致复用效果难以预测的问题,研究一种效用最大化的镜像加载策略决策方法。最后通过原型系统实现,完成对以上方法的检验。

项目摘要

以Docker为代表容器(Container)技术已经成为一种广泛使用的服务器资源共享技术,当前正大规模应用于弹性云平台和自动运维等方面。国内外主流云平台(如亚马逊AWS、阿里云等)全部支持Docker容器部署,各大、中、小型企业数据中心也正致力于采用Docker容器部署应用。Docker容器将应用封装到镜像(Image)中,通过运行镜像创建应用实例。由于镜像在镜像库(Repository)中集中存储,将镜像从集中存储加载到本地的过程需要耗费大量的时间,这将导致镜像实例创建时间由毫秒级延迟为分钟级,严重制约了应用在面对突发高负载时的处理能力,影响应用服务质量。这主要由两方面的原因造成:第一,虽然Docker镜像采用了继承和分级加载的机制,但是由于受到应用版本多样性等因素影响,在不同应用版本镜像之间依然存在重复存储和重复加载的现象;第二,Docker容器镜像在创建过程中可能引入冗余文件,使容器镜像体积变大,从而降低加载效率。.针对以上两个问题,我们分别运用内容寻址、机器学习、静态程序分析、动态程序分析等方法进行研究,提出了基于分片复用的多版本容器镜像加载方法、基于决策树的容器镜像加载策略决策和基于程序分析的临时文件错误检测方法,并采用私有云平台OnceCloud和Docker官方镜像库(Docker Hub)的开源数据对三种方法进行实验验证。实验结果表明:基于分片复用的多版本容器镜像加载方法和基于决策树的容器镜像加载策略决策方法可以提高5.8X以上的镜像加载速度;基于程序分析的临时文件错误检测方法可以100%检测镜像创建过程中的临时文件错误,从而达到减小镜像体积的目标。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

涡度相关技术及其在陆地生态系统通量研究中的应用

涡度相关技术及其在陆地生态系统通量研究中的应用

DOI:10.17521/cjpe.2019.0351
发表时间:2020
2

硬件木马:关键问题研究进展及新动向

硬件木马:关键问题研究进展及新动向

DOI:
发表时间:2018
3

内点最大化与冗余点控制的小型无人机遥感图像配准

内点最大化与冗余点控制的小型无人机遥感图像配准

DOI:10.11834/jrs.20209060
发表时间:2020
4

端壁抽吸控制下攻角对压气机叶栅叶尖 泄漏流动的影响

端壁抽吸控制下攻角对压气机叶栅叶尖 泄漏流动的影响

DOI:
发表时间:2020
5

基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例

基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例

DOI:
发表时间:2022

徐继伟的其他基金

相似国自然基金

1

基于多版本技术的自适应编译优化方法研究

批准号:60873057
批准年份:2008
负责人:吴承勇
学科分类:F0202
资助金额:31.00
项目类别:面上项目
2

基于软件多版本演化的克隆家系提取研究

批准号:61462071
批准年份:2014
负责人:张丽萍
学科分类:F0203
资助金额:44.00
项目类别:地区科学基金项目
3

基于失配耦合多芯光纤光栅的复用/解复用器

批准号:60277013
批准年份:2002
负责人:简水生
学科分类:F0503
资助金额:22.00
项目类别:面上项目
4

基于人声检测及分离的多版本流行音乐检索关键技术研究

批准号:61171128
批准年份:2011
负责人:李伟
学科分类:F0117
资助金额:60.00
项目类别:面上项目