论文部分内容阅读
摘 要:为适应当前海量的信息处理能力需求和与日俱增的计算能力要求,云计算的规模不断扩大,数据中心作为云计算的基础设施也随之迅速发展。大规模的数据中心将产生巨大的能耗,然而当前数据中心的资源调度算法却无法满足新形势下对异地多中心应用和资源的批量管理、实时管理、自动管理的要求。因此,资源调度算法成为了当前的研究热点和难点。本文重點研究了异地多中心间资源调度需求,,并提出了相应的调度算法,最大程度的满足用户需求。
关键词:云计算,多中心,资源调度
Research on Resource Scheduling Algorithms among Multi-Centers in Different Places
Abstract: In order to adapt to the current massive information processing capacity requirements and increasing computing power requirements, the scale of cloud computing continues to expand, and the data center as a cloud computing infrastructure has also developed rapidly. Large-scale data centers will generate huge energy consumption. However, the resource scheduling algorithms of current data centers cannot meet the requirements of batch management, real-time management, and automatic management of multi-center applications and resources in different places under the new situation. Therefore, resource scheduling algorithms have become the current research hotspots and difficulties. This paper focuses on the resource scheduling requirements of multi-center between different places, and proposes a corresponding scheduling algorithm to meet the needs of users to the greatest extent.
Keywords: Cloud Computing, Multicenter, Resource Scheduling
1.引言
异地多中心云平台包含大量异构云计算节点,具有规模大、异构性强、可用性高等特点,且云服务资源类型多种多样,各个云服务资源的计算能力、存储能力、传输能力也存在很大的差异,针对异构云应用动态调度高性能的服务资源需求,需要研究资源调度问题[1] [2]。
目前建设的异地多中心主要采用了华为云、阿里云、浪潮云、openstack等平台,这些云平台服务资源各种各样,云资源管理接口不同,加大了资源调度的难度,已建的统一云管理平台没有关于异构多中心资源调度的功能,无法满足新形势下对异地多中心应用和资源的批量管理、实时管理、自动管理的要求[3]。
综上,开展面向异地多中心间资源调度算法研究,构建自动化编排模型,实现敏捷高效、可视化、高性能的资源调度是异地多中心架构中急需解决的关键问题[4]。
2.异地多中心资源调度需求分析
2.1 基于全生命周期管理的异地多中心资源调度策略
异地多中心调度面向的资源来自多粒度、多维度和多平台,这种变化对资源的高效识别和调度提出了挑战。另外,以集群应用为典型代表的应用需要各种资源之间通过组合和协作的方式共同完成,也给异地多中心环境下的应用部署带来了难题。同时,异地多中心应用运行以后,其广泛分布的特征使得现有的调度策略和资源管理策略难以适应。因此,需要研究异地多中心资源的整个生命周期管理方法,实现资源的高效管理、调度任务的正确执行以及调度目标的顺利实现。主要包括:
(1)异地多中心应用的自动化部署:支持异地多中心的分布式多级调度算法,提高大规模调度场景下的性能;基于系统效能评价的异地多中心平台资源自动化分配技术,确保应用获取匹配最高系统效能的资源;通过异地多中心服务调度的异步和批处理机制,提高异地多中心服务调度系统的性能;基于异地多中心服务调度的容错方法,提高调度系统的健壮性;基于异地多中心的资源弹性伸缩技术,结合异地多中心的运维监控技术,支持异地多中心应用按照多个维度性能指标进行资源的自动扩缩容。
(2)异地多中心应用运行周期调度策略:基于面向异地多中心应用运行阶段的应用弹性负载调度策略,通过小云扩展到大云的方式快速满足业务调峰的需求;基于异地多中心的应用灾难恢复调度策略,通过主备应用分开的方式快速实现数据灾难恢复,保证应用的服务连续性;基于面向异地多中心应用的应用更新技术,支持异地多中心应用的维护和灰度发布模式;研究异地多中心资源回收跟踪技术,解决异地多中心应用消亡带来的资源浪费问题。
2.2 异地多中心的服务接入和管理
由于其异构性和动态性,高层次服务元素对底层次服务元素存在嵌套调用关系,已编排服务也可成为服务元素,因此,需要研究一种灵活的服务服务接入和管理方法。主要包括: (1)服务元素接入与管理技术:基于异地多中心服务的状态跟踪监控技术,解决服务目录动态变化导致的调度失败问题;基于服务元素的注册机制,支持服务元素的增删;
(2)多中心异构服务接入技术:基于面向多平台多层次云服务的快速适配框架,提供灵活定制的云服务接入机制;基于多中心异构服务的接入版本管理机制,提高调度系统的成功率。
3.异地多中心调度算法研究
3.1 基于资源域的异地多中心分级调度技术
调度作业按计算量和通讯量的大小,分成计算密集型、通讯密集型、计算秘密-通讯密集型和一般型4大类。多中心的资源也按计算能力和通讯能力的大小不同组成不同的资源域,同一域中的资源类型相同。调度的原则是尽量使提交作业的作业类型与资源类型相匹配调度模型的结构。
调度模型的结构由4个主要组件组成:
Server:是用户与系统交互的唯一接口。负责接收用户提交的作业,将作业入队,给提交的作业分配一个作业号返回给用户。作业号可以唯一标识每个作业,以备提交者用来查询作业的运行情况。然后计算作业优先级,根据作业类型查找资源域列表,找到最佳匹配的资源域,将其发送给局部调度器。Server还负责接收运行结果并将结果返回给用户。
局部调度器Local-Scheduler:每个资源域有一个Local-Scheduler,负责在本资源域范围内的资源分配。Local-Scheduler接收Server传送过来的作业,查看域内云平台的负载情况,并调度作业运行。Local-Scheduler还要监听Scheduler发送的资源负载传送请求,将本域内的资源负载情况发送给Scheduler。
全局调度器Scheduler:当用户递交的作业请求的资源超过最大可用情况时,Server将该任务交由全局调度器调度执行。Scheduler根据各Local-Scheduler传送的资源负载信息在全局范围内选择合适的云平台运行作业。
云平台:代表每个运行作业的云平台资源,节点接收从调度器传送过来的作业,驱动其运行。作业运行完成后,云平台将完成的作业号通知给调度器,并将运行结果传送给Server。云平台还要定时将负载情况发送给资源调度器。
3.2 异地多中心应用的自动化部署技术
异地多中心应用的自动化部署技术主要由统一的部署管理插件调用各云平台的接口并结合安装在各计算资源(虚拟机、容器、裸金属服务器)的代理软件配合完成,流程如下:
1、用户发布在统一云管理门户中发起应用部署请求,请求经过调度后分配到特定的云平台的API适配网关;
2、API适配网关调用异地多中心的弹性计算服务适配接口创建计算资源,调用异地多中心的网络适配接口构建虚拟网络;
3、API适配网关针对每个计算资源建立一个长任务,代理软件首先给计算资源获取应用软件,然后通过调用计算资源的命令执行脚本进行部署;
4、代理软件定时查询应用在计算资源中的部署进度,并把进度反馈到API适配网关。
5、API适配网关把进度汇总到统一云管理门户。
4.结束语
本文深入研究了异地多中心间资源调度算法,提出了基于基于资源域的异地多中心分级调度技术和自动化部署技术,最大程度满足了异地多中心场景的资源调度需求。
参考文献
[1]武晋. 面向数据中心的资源调度算法仿真分析研究[D]. 浙江理工大学, 2018.
[2]史恒亮. 云計算任务调度研究[D].南京理工大学, 2012.
[3]邢加伟. 云计算环境下任务调度优化算法的研究[D].中国科学技术大学, 2018.
[4]罗红, 慕德俊 , 邓智群 , 王晓东 . 网格计算中任务调度研究综述 [J]. 计算机应用研究,2005(05):16-19.
关键词:云计算,多中心,资源调度
Research on Resource Scheduling Algorithms among Multi-Centers in Different Places
Abstract: In order to adapt to the current massive information processing capacity requirements and increasing computing power requirements, the scale of cloud computing continues to expand, and the data center as a cloud computing infrastructure has also developed rapidly. Large-scale data centers will generate huge energy consumption. However, the resource scheduling algorithms of current data centers cannot meet the requirements of batch management, real-time management, and automatic management of multi-center applications and resources in different places under the new situation. Therefore, resource scheduling algorithms have become the current research hotspots and difficulties. This paper focuses on the resource scheduling requirements of multi-center between different places, and proposes a corresponding scheduling algorithm to meet the needs of users to the greatest extent.
Keywords: Cloud Computing, Multicenter, Resource Scheduling
1.引言
异地多中心云平台包含大量异构云计算节点,具有规模大、异构性强、可用性高等特点,且云服务资源类型多种多样,各个云服务资源的计算能力、存储能力、传输能力也存在很大的差异,针对异构云应用动态调度高性能的服务资源需求,需要研究资源调度问题[1] [2]。
目前建设的异地多中心主要采用了华为云、阿里云、浪潮云、openstack等平台,这些云平台服务资源各种各样,云资源管理接口不同,加大了资源调度的难度,已建的统一云管理平台没有关于异构多中心资源调度的功能,无法满足新形势下对异地多中心应用和资源的批量管理、实时管理、自动管理的要求[3]。
综上,开展面向异地多中心间资源调度算法研究,构建自动化编排模型,实现敏捷高效、可视化、高性能的资源调度是异地多中心架构中急需解决的关键问题[4]。
2.异地多中心资源调度需求分析
2.1 基于全生命周期管理的异地多中心资源调度策略
异地多中心调度面向的资源来自多粒度、多维度和多平台,这种变化对资源的高效识别和调度提出了挑战。另外,以集群应用为典型代表的应用需要各种资源之间通过组合和协作的方式共同完成,也给异地多中心环境下的应用部署带来了难题。同时,异地多中心应用运行以后,其广泛分布的特征使得现有的调度策略和资源管理策略难以适应。因此,需要研究异地多中心资源的整个生命周期管理方法,实现资源的高效管理、调度任务的正确执行以及调度目标的顺利实现。主要包括:
(1)异地多中心应用的自动化部署:支持异地多中心的分布式多级调度算法,提高大规模调度场景下的性能;基于系统效能评价的异地多中心平台资源自动化分配技术,确保应用获取匹配最高系统效能的资源;通过异地多中心服务调度的异步和批处理机制,提高异地多中心服务调度系统的性能;基于异地多中心服务调度的容错方法,提高调度系统的健壮性;基于异地多中心的资源弹性伸缩技术,结合异地多中心的运维监控技术,支持异地多中心应用按照多个维度性能指标进行资源的自动扩缩容。
(2)异地多中心应用运行周期调度策略:基于面向异地多中心应用运行阶段的应用弹性负载调度策略,通过小云扩展到大云的方式快速满足业务调峰的需求;基于异地多中心的应用灾难恢复调度策略,通过主备应用分开的方式快速实现数据灾难恢复,保证应用的服务连续性;基于面向异地多中心应用的应用更新技术,支持异地多中心应用的维护和灰度发布模式;研究异地多中心资源回收跟踪技术,解决异地多中心应用消亡带来的资源浪费问题。
2.2 异地多中心的服务接入和管理
由于其异构性和动态性,高层次服务元素对底层次服务元素存在嵌套调用关系,已编排服务也可成为服务元素,因此,需要研究一种灵活的服务服务接入和管理方法。主要包括: (1)服务元素接入与管理技术:基于异地多中心服务的状态跟踪监控技术,解决服务目录动态变化导致的调度失败问题;基于服务元素的注册机制,支持服务元素的增删;
(2)多中心异构服务接入技术:基于面向多平台多层次云服务的快速适配框架,提供灵活定制的云服务接入机制;基于多中心异构服务的接入版本管理机制,提高调度系统的成功率。
3.异地多中心调度算法研究
3.1 基于资源域的异地多中心分级调度技术
调度作业按计算量和通讯量的大小,分成计算密集型、通讯密集型、计算秘密-通讯密集型和一般型4大类。多中心的资源也按计算能力和通讯能力的大小不同组成不同的资源域,同一域中的资源类型相同。调度的原则是尽量使提交作业的作业类型与资源类型相匹配调度模型的结构。
调度模型的结构由4个主要组件组成:
Server:是用户与系统交互的唯一接口。负责接收用户提交的作业,将作业入队,给提交的作业分配一个作业号返回给用户。作业号可以唯一标识每个作业,以备提交者用来查询作业的运行情况。然后计算作业优先级,根据作业类型查找资源域列表,找到最佳匹配的资源域,将其发送给局部调度器。Server还负责接收运行结果并将结果返回给用户。
局部调度器Local-Scheduler:每个资源域有一个Local-Scheduler,负责在本资源域范围内的资源分配。Local-Scheduler接收Server传送过来的作业,查看域内云平台的负载情况,并调度作业运行。Local-Scheduler还要监听Scheduler发送的资源负载传送请求,将本域内的资源负载情况发送给Scheduler。
全局调度器Scheduler:当用户递交的作业请求的资源超过最大可用情况时,Server将该任务交由全局调度器调度执行。Scheduler根据各Local-Scheduler传送的资源负载信息在全局范围内选择合适的云平台运行作业。
云平台:代表每个运行作业的云平台资源,节点接收从调度器传送过来的作业,驱动其运行。作业运行完成后,云平台将完成的作业号通知给调度器,并将运行结果传送给Server。云平台还要定时将负载情况发送给资源调度器。
3.2 异地多中心应用的自动化部署技术
异地多中心应用的自动化部署技术主要由统一的部署管理插件调用各云平台的接口并结合安装在各计算资源(虚拟机、容器、裸金属服务器)的代理软件配合完成,流程如下:
1、用户发布在统一云管理门户中发起应用部署请求,请求经过调度后分配到特定的云平台的API适配网关;
2、API适配网关调用异地多中心的弹性计算服务适配接口创建计算资源,调用异地多中心的网络适配接口构建虚拟网络;
3、API适配网关针对每个计算资源建立一个长任务,代理软件首先给计算资源获取应用软件,然后通过调用计算资源的命令执行脚本进行部署;
4、代理软件定时查询应用在计算资源中的部署进度,并把进度反馈到API适配网关。
5、API适配网关把进度汇总到统一云管理门户。
4.结束语
本文深入研究了异地多中心间资源调度算法,提出了基于基于资源域的异地多中心分级调度技术和自动化部署技术,最大程度满足了异地多中心场景的资源调度需求。
参考文献
[1]武晋. 面向数据中心的资源调度算法仿真分析研究[D]. 浙江理工大学, 2018.
[2]史恒亮. 云計算任务调度研究[D].南京理工大学, 2012.
[3]邢加伟. 云计算环境下任务调度优化算法的研究[D].中国科学技术大学, 2018.
[4]罗红, 慕德俊 , 邓智群 , 王晓东 . 网格计算中任务调度研究综述 [J]. 计算机应用研究,2005(05):16-19.