论文部分内容阅读
近年来,以Docker为代表的虚拟化容器集群逐渐成为各类软件企业支撑升级大规模业务系统的核心技术。在新型的智能化IT教学实训平台中,为支持大规模异构IT技术的实训和自动化评测,基于虚拟化容器来构建底层评测集群能够有效隔离IT编程语言和技术架构等的差异,从而提供全IT技术栈的教学与实训云服务。与此同时,能够有效提升实训服务的软硬件资源利用率和用户体验。虚拟化容器集群是承载高效自动化评测服务的基础。对于高并发的异构IT技术评测任务集,提供隔离化、定制化、高可用的评测服务会涉及两个方面的问题:首先,针对不同的IT技术架构和编程语言,需要提供包含不同编译评测环境的镜像。IT技术种类和编程语言非常多,因此需要构建的Docker镜像种类和数量很大,如何对大规模的镜像进行有效管理成为需要解决的第一个关键问题;其次,在大规模用户进行在线评测时,需保证在实时响应用户请求的同时提高后台硬件资源利用率。为此,根据用户应用场景等对容器的生命周期进行动态调度和管理是需要解决的第二个关键问题。针对大规模异构镜像管理,论文着重分析了镜像复用率低下以及镜像无序蔓延现象的问题根源,并通过IT教学实训平台线上用户和任务数据分析,探讨解决方法,并对所提出方法进行实验论证。论文提出了基于镜像深度检索策略以提升镜像定位成功率的办法,以及基于镜像相似度分析的镜像去冗及镜像合并算法,并通过服务镜像插件化、分离仓库等策略优化平台镜像组织方式。针对容器集群的调度管理问题,论文重点围绕容器运行期的调度算法和资源分配策略展开。对于容器的各生命周期阶段,论文分析了不同阶段的容器集群应用主要矛盾,并依据问题建模,提出了相关调度算法,解决大规模异构评测任务场景下的容器集群调度和控制问题。相关算法包括:改进的集群节点优选算法、流控算法、自适应的容器运行时状态转换策略以及资源浮动配额方法等。提升在有限资源状态下的平台稳定性和运行效率。评测云平台所针对的任务场景事实上是一种典型的云平台任务场景,而相关容器集群调度和管理方法在类似云平台建设中可有一定借鉴意义。