论文部分内容阅读
【摘要】负载均衡调度是容器云仿真平台保证服务质量需要解决的基础问题,本文基于容器云仿真平台架构的分析,针对容器云仿真平台的负载均衡调度问题进行了详细描述,并设计了容器云仿真平台的负载均衡调度系统,为后续针对容器云仿真平台的负载均衡调度优化算法的研究奠定了基础。
关键词:容器云;仿真平台;负载均衡
Research on load balancing scheduling of Container Cloud Simulation Platform
Zhou Long Liang,Xu Li
(SWIEE, CETC, Chengdu. Postcode:610036)
Abstract:Load balancing scheduling is a basic problem that needs to be solved to guarantee the service quality of container cloud simulation platform. This paper is based on the architecture of container cloud simulation platform,The load balancing scheduling problem of container cloud simulation platform is described in detail, and the load balancing scheduling system of container cloud simulation platform is designed,The load balancing system lays a foundation for the subsequent research on load balancing scheduling optimization algorithm for container cloud simulation platform.
Key words: container cloud; simulation platform; load balancing
引言
以Docker為代表的容器虚拟化技术出现,较之于传统的虚拟机虚拟化技术实现了更加轻量化的虚拟化,使云环境的资源利用率具备大幅提升的可能。传统的虚拟机虚拟化技术以操作系统为中心,重点关注硬件自动化管理、人与机器的解耦合,而容器虚拟化技术以应用为中心,重点解决应用的自动化管理,应用与操作系统的解耦;基础设施、应用交付、运维管理的标准化;获得弹性扩展、弹性伸缩、负载均衡、故障迁移、敏捷开发、持续交付、持续集成等问题,提升用户体验。
容器云仿真平台以容器虚拟化技术为基础,在云环境中构建仿真应用系统,遵循微服务架构,将仿真应用系统按功能划分为想定编辑、任务推演、模型调度等多个微服务,并封装形成容器镜像,部署于云环境,持续为多个用户提供仿真验证服务。容器云仿真平台构建了一种用户可按需获取的仿真新模式,用户通过统一的门户访问仿真服务,云管理系统根据访问请求,动态分配资源创建仿真系统,访问完毕后释放相应的资源,提升资源利用效率。
因此,根据用户的访问量,动态调整仿真应用在云环境中的部署,合理调度各个计算节点的资源负荷,实现负载均衡,是保证容器云仿真平台服务质量的关键。
1 容器云仿真平台架构
容器云仿真平台是在私有云环境上搭建的仿真专用平台,用户通过统一的仿真门户登录后访问相应服务。容器云仿真平台为用户提供想定设计、仿真驱动、态势呈现、数据管理等服务,多个用户可同时并发访问仿真服务,为每个用户动态创建专用的仿真应用系统。容器云仿真平台的架构如图 1所示:
当用户提交仿真请求后,容器云仿真平台的管理系统为用户仿真请求分配一套仿真应用系统(包含场景设计、任务推演、模型调度、态势生成等多个服务),并部署到云基础环境中的计算机集群上运行。用户终止仿真后,将仿真应用从计算机集群上卸载。其中,云基础环境中的计算机集群中各个计算机节点在硬件配置可以不同。
2容器云仿真平台负载均衡问题描述
传统的基于虚拟机虚拟化技术构建的云仿真平台存在两个层次上的负载均衡调度。第一个层次是任务调度,将负载过重虚拟机上的子任务动态调度到负载较轻的虚拟机上,使云平台的虚拟机集群整体上负载均衡;第二个层次是虚拟机调度,将负载过重物理主机上的虚拟机迁移到负载较轻的物理主机[1]。
从容器云仿真平台的架构可以看出,容器云仿真平台的负载均衡调度不存在虚拟机调度的问题,可直接面向任务调度。用户的一个仿真任务就对应一套仿真应用系统,一套仿真应用系统的由若干个微服务构成,每个微服务在部署形式上为一个容器,容器是负载均衡调度的最小单位,负载均衡调度要解决的问题就是建立容器与云基础环境中的计算节点的映射关系,并根据该映射关系部署运行。
假设同时有n个用户仿真任务请求,每个仿真应用系统由p个微服务构成,那么就会存在n*p个容器需要调度。假设云环境存在着q个计算节点,负载均衡调度问题等效为:基于一定的条件约束和最优目标构建n*p个容器与q个计算节点的映射关系,其中条件约束通常为计算节点的性能指标,包括CPU、内存和网络的性能,最优目标通常为最大的并发仿真应用系统运行数量。
负载均衡调度的意义在于优化容器云仿真平台的部署关系,有效避免某些计算节点因为负荷过低而浪费资源,或者某些计算节点因为资源超负荷,严重降低运行效率,甚至拒绝服务。
3 容器云仿真平台负载均衡系统设计
为实现容器云仿真平台负载均衡调度,需面向容器云仿真平台负载均衡调度的问题,构建对应的负载均衡调度系统,优化容器云仿真平台的部署关系,提升容器云仿真平台的服务质量。 3.1 仿真应用资源消耗统计
仿真应用的微服务组成相对固定,可通过大量的实验,统计各个服务的资源消耗情况[2],主要是CPU、内存和网络资源,构建每个服务的资源消耗向量,统计每个服务运行的资源消耗典型值,为负载均衡调度算法提供输入数据。
3.2 云仿真平台资源监控
容器云仿真平台的计算机集群中各计算节点的资源使用和资源剩余信息是实现负载均衡的基础[3]。由于云环境中仿真应用的部署和销毁是动态变化的,需要实时监控资源状态,才能为负载均衡调度提供实时的输入数据。周期性采集各計算节点的CPU、内存和网络使用情况,会加大采集系统的工作负载,造成不必要的资源浪费,因此,可采用事件触发的机制采集计算节点的状态信息,收到用户仿真请求或仿真停止事件后,触发采集操作,降低计算节点负载信息采集的频度,提升资源利用率。为保证计算节点的资源负荷信息获取,需在各个计算节点上开发部署资源监控服务。
3.3 负载均衡服务
负载均衡服务部署于容器云仿真平台,专门负责负载均衡调度,加载仿真应用资源消耗的统计值等先验信息,同时采集云仿真平台各个计算节点实时资源负荷信息,进行负载均衡计算,建立仿真应用容器与计算节点的部署映射关系。负载均衡调度计算的实质就是在负载约束条件下的最优化问题,可采用遗传算法、粒子群算法等多种算法[3,4],解算优化部署映射关系,在负载均衡服务的架构设计上需考虑负载均衡调度算法的替换和升级便捷性。
3.3 负载均衡调度流程
容器云仿真平台的负载均衡调度流程如图 2所示:
负载均衡的调度业务依靠负载均衡调度服务实现,在用户提交仿真请求需要重新进行负载均衡计算时,负载均衡调度服务向各个计算节点的资源监控服务请求状态信息,采集计算集群各节点的资源负荷信息,通过负载均衡算法解算,得到仿真应用容器与计算节点的最优部署映射关系,并执行部署。
4 结束语
负载均衡是保证云仿真环境服务质量的重要手段,本文针对容器云仿真平台的负载均衡问题进行了描述,并设计了可灵活置换负载均衡调度算法的容器云仿真平台的负载均衡系统,后续可针对负载均衡调度优化算法进行持续研究,最大限度地提升云仿真平台的资源利用效率。
参考文献:
[1]金鹏. 云仿真平台任务负载均衡优化调度研究[J]. 制造业自动化, 2019, 041(007):40-43.
[2]徐爱萍,吴笛,徐武平,陈军. 实时多任务异构云计算平台负载均衡算法[J]. 中国科学技术大学学报, 2016, 46(3):215-221.
[3]海江. 一种改进云计算虚拟资源负载均衡调度算法[J]. 控制工程, 2017, 24(1):100-105.
[4]石峰. 云环境下资源调度效率优化研究与仿真[J]. 计算机仿真, 2016, 33(5):363-366.
作者简介
周隆亮(1987-),男,硕士,工程师。
徐立(1986-),男,硕士,工程师。
关键词:容器云;仿真平台;负载均衡
Research on load balancing scheduling of Container Cloud Simulation Platform
Zhou Long Liang,Xu Li
(SWIEE, CETC, Chengdu. Postcode:610036)
Abstract:Load balancing scheduling is a basic problem that needs to be solved to guarantee the service quality of container cloud simulation platform. This paper is based on the architecture of container cloud simulation platform,The load balancing scheduling problem of container cloud simulation platform is described in detail, and the load balancing scheduling system of container cloud simulation platform is designed,The load balancing system lays a foundation for the subsequent research on load balancing scheduling optimization algorithm for container cloud simulation platform.
Key words: container cloud; simulation platform; load balancing
引言
以Docker為代表的容器虚拟化技术出现,较之于传统的虚拟机虚拟化技术实现了更加轻量化的虚拟化,使云环境的资源利用率具备大幅提升的可能。传统的虚拟机虚拟化技术以操作系统为中心,重点关注硬件自动化管理、人与机器的解耦合,而容器虚拟化技术以应用为中心,重点解决应用的自动化管理,应用与操作系统的解耦;基础设施、应用交付、运维管理的标准化;获得弹性扩展、弹性伸缩、负载均衡、故障迁移、敏捷开发、持续交付、持续集成等问题,提升用户体验。
容器云仿真平台以容器虚拟化技术为基础,在云环境中构建仿真应用系统,遵循微服务架构,将仿真应用系统按功能划分为想定编辑、任务推演、模型调度等多个微服务,并封装形成容器镜像,部署于云环境,持续为多个用户提供仿真验证服务。容器云仿真平台构建了一种用户可按需获取的仿真新模式,用户通过统一的门户访问仿真服务,云管理系统根据访问请求,动态分配资源创建仿真系统,访问完毕后释放相应的资源,提升资源利用效率。
因此,根据用户的访问量,动态调整仿真应用在云环境中的部署,合理调度各个计算节点的资源负荷,实现负载均衡,是保证容器云仿真平台服务质量的关键。
1 容器云仿真平台架构
容器云仿真平台是在私有云环境上搭建的仿真专用平台,用户通过统一的仿真门户登录后访问相应服务。容器云仿真平台为用户提供想定设计、仿真驱动、态势呈现、数据管理等服务,多个用户可同时并发访问仿真服务,为每个用户动态创建专用的仿真应用系统。容器云仿真平台的架构如图 1所示:
当用户提交仿真请求后,容器云仿真平台的管理系统为用户仿真请求分配一套仿真应用系统(包含场景设计、任务推演、模型调度、态势生成等多个服务),并部署到云基础环境中的计算机集群上运行。用户终止仿真后,将仿真应用从计算机集群上卸载。其中,云基础环境中的计算机集群中各个计算机节点在硬件配置可以不同。
2容器云仿真平台负载均衡问题描述
传统的基于虚拟机虚拟化技术构建的云仿真平台存在两个层次上的负载均衡调度。第一个层次是任务调度,将负载过重虚拟机上的子任务动态调度到负载较轻的虚拟机上,使云平台的虚拟机集群整体上负载均衡;第二个层次是虚拟机调度,将负载过重物理主机上的虚拟机迁移到负载较轻的物理主机[1]。
从容器云仿真平台的架构可以看出,容器云仿真平台的负载均衡调度不存在虚拟机调度的问题,可直接面向任务调度。用户的一个仿真任务就对应一套仿真应用系统,一套仿真应用系统的由若干个微服务构成,每个微服务在部署形式上为一个容器,容器是负载均衡调度的最小单位,负载均衡调度要解决的问题就是建立容器与云基础环境中的计算节点的映射关系,并根据该映射关系部署运行。
假设同时有n个用户仿真任务请求,每个仿真应用系统由p个微服务构成,那么就会存在n*p个容器需要调度。假设云环境存在着q个计算节点,负载均衡调度问题等效为:基于一定的条件约束和最优目标构建n*p个容器与q个计算节点的映射关系,其中条件约束通常为计算节点的性能指标,包括CPU、内存和网络的性能,最优目标通常为最大的并发仿真应用系统运行数量。
负载均衡调度的意义在于优化容器云仿真平台的部署关系,有效避免某些计算节点因为负荷过低而浪费资源,或者某些计算节点因为资源超负荷,严重降低运行效率,甚至拒绝服务。
3 容器云仿真平台负载均衡系统设计
为实现容器云仿真平台负载均衡调度,需面向容器云仿真平台负载均衡调度的问题,构建对应的负载均衡调度系统,优化容器云仿真平台的部署关系,提升容器云仿真平台的服务质量。 3.1 仿真应用资源消耗统计
仿真应用的微服务组成相对固定,可通过大量的实验,统计各个服务的资源消耗情况[2],主要是CPU、内存和网络资源,构建每个服务的资源消耗向量,统计每个服务运行的资源消耗典型值,为负载均衡调度算法提供输入数据。
3.2 云仿真平台资源监控
容器云仿真平台的计算机集群中各计算节点的资源使用和资源剩余信息是实现负载均衡的基础[3]。由于云环境中仿真应用的部署和销毁是动态变化的,需要实时监控资源状态,才能为负载均衡调度提供实时的输入数据。周期性采集各計算节点的CPU、内存和网络使用情况,会加大采集系统的工作负载,造成不必要的资源浪费,因此,可采用事件触发的机制采集计算节点的状态信息,收到用户仿真请求或仿真停止事件后,触发采集操作,降低计算节点负载信息采集的频度,提升资源利用率。为保证计算节点的资源负荷信息获取,需在各个计算节点上开发部署资源监控服务。
3.3 负载均衡服务
负载均衡服务部署于容器云仿真平台,专门负责负载均衡调度,加载仿真应用资源消耗的统计值等先验信息,同时采集云仿真平台各个计算节点实时资源负荷信息,进行负载均衡计算,建立仿真应用容器与计算节点的部署映射关系。负载均衡调度计算的实质就是在负载约束条件下的最优化问题,可采用遗传算法、粒子群算法等多种算法[3,4],解算优化部署映射关系,在负载均衡服务的架构设计上需考虑负载均衡调度算法的替换和升级便捷性。
3.3 负载均衡调度流程
容器云仿真平台的负载均衡调度流程如图 2所示:
负载均衡的调度业务依靠负载均衡调度服务实现,在用户提交仿真请求需要重新进行负载均衡计算时,负载均衡调度服务向各个计算节点的资源监控服务请求状态信息,采集计算集群各节点的资源负荷信息,通过负载均衡算法解算,得到仿真应用容器与计算节点的最优部署映射关系,并执行部署。
4 结束语
负载均衡是保证云仿真环境服务质量的重要手段,本文针对容器云仿真平台的负载均衡问题进行了描述,并设计了可灵活置换负载均衡调度算法的容器云仿真平台的负载均衡系统,后续可针对负载均衡调度优化算法进行持续研究,最大限度地提升云仿真平台的资源利用效率。
参考文献:
[1]金鹏. 云仿真平台任务负载均衡优化调度研究[J]. 制造业自动化, 2019, 041(007):40-43.
[2]徐爱萍,吴笛,徐武平,陈军. 实时多任务异构云计算平台负载均衡算法[J]. 中国科学技术大学学报, 2016, 46(3):215-221.
[3]海江. 一种改进云计算虚拟资源负载均衡调度算法[J]. 控制工程, 2017, 24(1):100-105.
[4]石峰. 云环境下资源调度效率优化研究与仿真[J]. 计算机仿真, 2016, 33(5):363-366.
作者简介
周隆亮(1987-),男,硕士,工程师。
徐立(1986-),男,硕士,工程师。