CN111381936B - 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统 - Google Patents

一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统 Download PDF

Info

Publication number
CN111381936B
CN111381936B CN202010206147.1A CN202010206147A CN111381936B CN 111381936 B CN111381936 B CN 111381936B CN 202010206147 A CN202010206147 A CN 202010206147A CN 111381936 B CN111381936 B CN 111381936B
Authority
CN
China
Prior art keywords
virtual machine
resource
container
cloud
micro
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010206147.1A
Other languages
English (en)
Other versions
CN111381936A (zh
Inventor
温武少
黎睿德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202010206147.1A priority Critical patent/CN111381936B/zh
Publication of CN111381936A publication Critical patent/CN111381936A/zh
Application granted granted Critical
Publication of CN111381936B publication Critical patent/CN111381936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及云计算技术领域,具体为分布式云系统‑云簇架构下的服务容器的资源分配方法及系统。分配方法包括步骤:本地微云系统根据终端用户提交的任务请求,估算完成任务需要构建的容器数量及相关的资源需求量,基于其本身运行的任务管理算法,决定终端用户的业务请求能否由本地微云系统服务。若本地微云系统有足够资源直接执行任务,则依据计算服务成本最低的策略创建虚拟机,并在新创建的虚拟机上创建容器提供服务;若无法服务,则基于双染色体遗传算法计算生成服务成本最低的跨微云容器资源分配方案,将部分或者全部任务转载到其它相邻微云系统上执行。本发明通过物理资源的跨微云调度,解决单个微云在业务高峰期资源不足的问题。

Description

一种分布式云系统-云簇架构下的服务容器资源的分配方法 与系统
技术领域
本发明涉及云计算技术,具体涉及分布式云系统-云簇云系统架构下的服务容器资源的分配方法与系统。
背景技术
随着云计算技术的发展,企业通常根据自身的使用需求构建私有云。企业为确保私有云在业务高峰期能正常运行,需要按照预期业务高峰期的云资源使用情况来配置私有云数据中心的规模。然而这样的配置方式存在以下问题:
(1)企业由于难以确定业务对云资源的需求信息,很难通过其历史业务高峰期的信息准确预估未来业务高峰期对云资源的需求量。企业若按低冗余配置私有云数据中心,则可能无法满足自身业务高峰期时的资源需求;若按高冗余配置私有云数据中心,则存在资源闲置的问题。另外,随着企业自身业务的发展,其对云数据中心的资源需求量也会发生变化。企业为了满足业务的发展,需要对私有云进行扩容。扩容涉及到设备的采购和安装调测等过程,需要长达数天或者数周的时间,难以即时满足企业的业务需求。
(2)私有云数据中心在非高峰期会存在大量的资源闲置,造成资源的浪费。
而随着微服务和无服务器应用程序的兴起,企业通过使用容器可以在云上更便捷地打包、部署、迁移Web应用程序。然而,容器技术虽然更轻量级,部署运行更快速,但存在以下缺点:容器共享同一个操作系统造成一个容器中的应用程序漏洞会破坏与其它容器共享的操作系统;容器限制于在特定的操作系统环境下运行。
因此容器技术和虚拟机将会在较长时间内作为互补,以支持容器获得更好的隔离和更方便的部署。目前这种典型工作方案是由云用户在云数据中心部署虚拟机、在虚拟机上运行满足其特定设置的数据隔离规则和要求的容器以执行任务。
现有的容器云资源分配方法往往只考虑将容器分配给微云系统的过程,没有详细设定容器绑定到具体虚拟机和虚拟机绑定到具体微云系统这两个过程之间的交互,导致实现最佳的容器分配方案时无法同时实现最佳的虚拟机分配方案。容器绑定到具体虚拟机和虚拟机绑定到具体微云系统这两个不同级别的云资源分配问题都是装箱问题。装箱问题属于NP完全问题。
在分布式云系统-云簇云系统架构下,单个微云系统在特定的时间段资源无法满足本地任务的资源需求时,可以向云簇系统下的邻居微云系统请求分配资源,满足用户的业务需求。因此,需要一套支持在分布式云系统-云簇云系统架构下的服务容器的资源的分配方法,使得:
(1)处于业务高峰期的微云系统可请求邻居微云系统分配资源来解决即时资源不足的问题;处于低负荷的微云系统可以出借资源,避免大量资源的闲置浪费。
(2)形成服务成本最低的跨微云容器资源实时分配方案。
发明内容
为了解决分布式云系统-云簇云系统架构下,以容器为单位提供云计算服务的微云系统在业务高峰期出现资源紧缺和在业务非高峰期出现大量资源闲置的问题,本发明提出分布式云系统-云簇架构下的服务容器资源的分配方法与系统。
本发明的分配方法通过如下技术方案来实现:分布式云系统-云簇架构下的服务容器资源的分配方法,包括以下步骤:
S1、本地微云系统收集其自身的资源情况、资源实际使用情况;云簇管理中心收集所有微云资源情况、实际资源使用情况;本地微云系统从云簇管理中心获取其相邻微云系统集的信息;
S2、本地微云系统根据终端用户提交的任务请求,估算完成任务需要构建的容器数量及相关的资源需求量;
S3、本地微云系统基于其本身运行的任务管理算法,决定一个终端用户的业务请求能否由本地微云系统服务;
S4、若本地微云系统有足够资源直接执行任务,则依据计算服务成本最低的策略创建虚拟机,并在新创建的虚拟机上创建容器为用户提供服务;
S5、若本地微云系统无法服务,则基于双染色体遗传算法计算生成服务成本最低的跨微云容器资源分配方案,将部分或者全部任务转载到其它相邻微云系统上执行;本地微云系统根据跨微云的容器资源分配方案,遵照跨微云服务请求流程请求相关邻居微云提供服务;相关邻居微云收到请求后,则确认请求并分配资源,创建虚拟机,并在新创建的虚拟机上创建容器为用户提供服务。
本发明的分配系统通过如下技术方案来实现:分布式云系统-云簇架构下的服务容器资源的分配系统,包括一个云簇管理中心和若干个微云系统;
云簇管理中心将地理分散的微云系统结合成一个紧密整体,包括:
管理通信模块:负责微云系统的管理和通信功能;
资源监控模块:监控云簇云系统中所有微云资源的使用情况;
微云系统是一个具备独立对外服务和自管理能力的完整云计算系统,提供用户实际使用所需的计算、计算加速、存储、网络资源;一个微云系统除了提供实际云服务的相关资源外,还包括:
资源监控模块:监控其资源使用情况;
任务管理模块:负责管理终端用户的任务请求、分配计算任务和监听任务执行情况;
资源调度模块:计算执行本地服务成本最低的资源分配方案、计算执行跨微云容器资源分配方案及监听、执行由云间互操作模块提交的其它微云系统的资源分配请求的资源分配方案;
微云管理模块:负责与云簇管理中心通信;
云间互操作模块:负责微云系统间互相通信、资源分配。
与现有技术相比,本发明取得了如下技术效果:
1、本发明采用资源分配的方案,当本地微云资源不足以满足任务的需求时,根据资源调度策略,向邻居微云申请分配资源,有效缓解处于业务高峰期的微云系统资源不足的问题;充分利用了处于低负荷的微云系统的资源,避免大量资源的闲置浪费,提高整个云簇系统的资源利用率。
2、本发明的调度策略考虑了服务成本,能够有效降低向邻居微云请求分配资源的成本,形成服务成本最低的跨微云容器资源实时分配方案,提升用户体验。
附图说明
图1是本发明分布式云系统-云簇云系统架构下的服务容器资源的分配方法的流程图。
图2是本发明分布式云系统-云簇云系统架构下的服务容器资源的分配系统框架图。
图3是本发明中的微云系统中各模块的数量关系图。
图4是本发明的计算跨微云容器资源分配方案的双染色体遗传算法流程图。
图5是本发明的双染色体遗传算法的表示图。
图6是本发明的基于位置的交叉算法的表示图。
图7是本发明的单点交叉算法的表示图。
图8是本发明的双染色体遗传算法变异的表示图。
图9是本发明的跨微云服务请求流程的流程图。
具体实施方式
以下结合附图及具体实施例对本发明作进一步的阐述,但本发明的实施方式不限于此。所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
实施例
图1是本发明的资源分配方法流程图,在具体的实施过程中,支持在云簇系统下以容器为单位服务终端业务的请求。如图2,本发明分布式云系统-云簇架构下的服务容器资源的分配系统,包括一个云簇管理中心和若干个微云系统。云簇系统中所有的微云系统形成云簇系统的微云集。
云簇管理中心将地理分散的微云系统结合成一个紧密整体,协调所有微云的信息沟通,统筹管理整个云簇系统的资源,包括:
管理通信模块,负责微云系统的管理和通信功能;包括微云系统的接入与删除,监听微云系统提交的获取其它微云系统的资源情况和实际资源使用情况的请求,管理云簇管理中心和微云系统间通信。当有新的微云加入云簇时,云簇管理中心的管理通信模块负责审核和认证;认证通过后通知其它微云系统并更新云簇的拓扑图;向新加入的微云系统告知云簇拓扑中其它微云的相关信息。当删除微云时,云簇管理中心的管理通信模块负责审核;审核通过后删除该微云的信息并通告其它微云系统更新云簇拓扑图。
资源监控模块,用于监控云簇云系统中所有微云资源的使用情况,实时获取云簇系统下所有微云的资源情况和资源使用情况。
一个微云系统的用户所需的资源可按相关规则从另一个微云系统借用。微云系统是一个具备独立对外服务和自管理能力的完整云计算系统,提供用户实际使用所需的计算、计算加速、存储、网络资源。一个微云系统除了提供实际云服务的相关资源外,还包括:
资源监控模块,用于监控本地微云的资源使用情况,实时获取本地微云的资源情况和资源使用情况;
任务管理模块,用于负责管理终端用户提交的任务请求、分配计算任务和监听任务执行情况,估算终端用户提交的业务请求需要构建的容器数量及相关的资源需求量,判断该任务能否由本地微云系统服务,此外还需要监听本地微云上的任务执行情况;
微云资源调度模块,用于计算执行本地服务成本最低的资源分配方案、计算执行跨微云容器资源分配方案及监听、执行由云间互操作模块提交的其它微云系统的资源分配请求的资源分配方案;也就是说,微云资源调度模块负责调度本地微云系统资源满足用户请求或者生成跨微云容器资源分配方案,用于:
(1)若本地微云系统有足够资源直接执行任务时,微云系统调度模块计算生成服务成本最低的资源分配方案,在本地微云上创建虚拟机,并在新的虚拟机上创建容器为用户提供服务;
(2)若本地微云系统无法服务时,微云系统调度模块使用双染色体遗传算法计算生成服务成本最低的跨微云容器资源分配方案,将部分或者全部任务转载到其它相邻微云系统上执行,并通过云间互操作模块向跨微云容器资源分配方案中的相关邻居微云系统申请分配资源;
(3)若监听到云间互操作模块提交的其它微云系统提交的资源分配请求时,按照接收到的资源分配方案,在本地微云上创建虚拟机,并在新的虚拟机上创建容器为其它微云系统提供服务。
微云资源调度模块优先使用本地微云的虚拟机资源创建虚拟机,在新创建的虚拟机上创建容器执行任务,当本地资源无法满足全部申请时,用本地的剩余资源创建虚拟机,在这些虚拟机上运行部分容器,执行任务欠缺部分容器的向邻居微云分配,最终在本地或者是邻居微云上生成相应的虚拟机,在虚拟机上创建容器来执行任务。用户通过SSH连接到这些容器。
而微云服务器包括教育行业或企业搭建的云环境中的旧式或新型服务器,终端计算机包括学校实验室计算机或企业办公室的瘦终端、笔记本、台式机以及个人工作站等。虚拟机部署采取的虚拟化技术包括属于1型虚拟化的Xen、VMWare ESXi等,以及属于2型虚拟化的KVM、VirtualBox、VMWare Workstation等。容器部署采用Docker容器引擎。
微云管理模块,负责与云簇管理中心通信;是实现云簇系统管理的重要模块,包括以下功能:接入云簇、推出云簇、按一定周期向云簇管理中心发送获取邻居微云的资源情况和资源实际使用情况的请求,获取邻居微云的资源情况和资源实际使用情况,同时监听云簇管理中心发送的获取本地微云的资源情况和资源实际使用情况请求,向云簇管理中心发送本地微云的资源情况和资源实际使用情况;微云管理模块向云簇管理中心发送的本地微云的资源情况为整个本地微云系统的资源,向云簇管理中心发送的本地微云的资源实际使用情况包括本地微云系统的终端用户使用的资源量、本地微云系统借出给其它微云系统资源量和本地微云系统空载时的资源使用情况。
云间互操作模块,负责微云系统间互相通信、资源分配。
应用本发明分布式云系统-云簇架构下的服务容器资源的分配系统,在本地微云资源不足以满足任务的需求时,能够形成服务成本最低的跨微云容器资源实时分配方案。该方案支持向邻居微云申请分配资源,有效缓解处于业务高峰期的微云系统资源不足的问题,充分利用了处于低负荷的微云系统的资源,避免大量资源的闲置浪费,提高整个云簇系统的资源利用率。
图3是本发明的微云系统各模块数量关系图,阐述了各模块与物理设备的位置和数量关系,以及各模块之间的数量关系。安装了云计算平台的云端计算服务器通过虚拟化技术共同构成了虚拟机资源池,一个服务器可以虚拟化出多台虚拟机,一台虚拟机上可以装载多个容器,用户的终端计算机可以通过SSH连接到容器,一个用户终端计算机可以连接多个容器。资源调度模块管理着本地微云的物理服务器,维护虚拟机资源池中各项资源以及资源的使用状态,与之是一对一的关系。微云资源监控模块负责监控微云系统的资源情况和资源实际使用情况,与虚拟机资源池是一对一的关系。任务模块管理着容器中执行的任务,是一对多的关系,同时也接收来自用户终端的请求,与之也是一对多的关系。资源调度模块从资源监控模块获取本地微云的资源情况与实际资源使用情况;从任务管理模块接收到是否在本地微云执行任务的判断;通过微云管理模块与云簇管理中心通信,获取邻居微云的资源使用情况和资源实际使用情况;通过云间互操作模块向其它微云进行通信和资源分配的操作。因此,资源调度模块与任务管理模块、微云管理模块以及资源监控模块是一对一的关系;资源调度模块管理着从虚拟机资源池创建的虚拟机和虚拟机上创建的容器,与二者都是一对多的关系。
本发明分布式云系统-云簇架构下的服务容器资源的分配方法,在云簇系统下以容器为单位服务终端业务的请求时采用以下步骤分配资源:
S1、本地微云系统收集其自身的资源情况、资源实际使用情况;云簇管理中心收集所有微云资源情况、实际资源使用情况;本地微云系统从云簇管理中心获取其相邻微云系统集的信息;上述资源包括CPU资源、GPU资源、内存资源、硬盘存储资源、带宽资源等;
(a)本地微云系统的资源监控模块实时收集其自身资源的情况和资源的实际使用情况,资源包括CPU资源、内存资源、存储资源以及带宽资源。
(b)云簇管理中心的资源监控模块,通过云簇管理中心的管理通信模块,按一定周期向获取云簇系统下所有微云的微云管理模块发送获取该微云的资源情况和资源使用情况的请求,从而收集到整个云簇系统下所有微云的资源情况和资源实际使用情况,资源包括CPU资源、内存资源、存储资源以及带宽资源。
(c)本地微云系统的微云管理模块,按一定周期向云簇管理中心发送请求并获取相邻微云的资源情况和资源实际使用情况。
S2、本地微云系统根据终端用户提交的任务请求,估算完成任务需要构建的容器数量及相关的资源需求量;
本地微云的任务管理模块监听到本地微云的终端用户提交的任务请求,估算终端用户提交的任务请求需要构建的容器数量c和容器的资源需求量:
DOCKERi={CPUdocker,RAMdocker,NETdocker,DISKdocker}
S3、本地微云系统基于其本身运行的任务管理算法决定一个终端用户的业务请求,能否由本地微云系统服务,是由本地微云系统提供服务还是由相邻微云系统提供服务;
(a)本地微云的任务管理模块获取本地微云的资源监控模块收集的资源情况和实际的资源使用情况。
(b)本地微云的任务管理模块采用资源阈值的本地资源优先算法,判断终端业务能否在本地微云系统上执行:本地微云系统根据自身的CPU资源、内存资源、带宽资源和存储资源信息,预先设置自身的资源阈值:
Thresholdi={Thcpu,Thram,Thnet,Thdisk};
若任务管理模块估算完成终端用户的任务所需资源总量与本地微云系统实际使用的资源量之和(即两者的CPU资源、内存资源、带宽资源与存储资源之和)低于本地微云系统预先设定的资源阈值Thresholdi,本地微云的任务管理模块选择由本地微云系统提供服务;若任务管理模块估算完成终端用户的任务所需资源总量与本地微云系统实际使用的资源量之和(即两者的CPU资源、内存资源、带宽资源与存储资源)存在一种资源高于本地微云系统预先设定的资源阈值Thresholdi,则本地微云任务管理模块选择由邻居微云系统提供服务。
S4、若本地微云系统有足够资源直接执行任务,则依据计算服务成本最低的策略创建虚拟机,并在新创建的虚拟机上创建容器为用户提供服务;
(a)云簇系统具有固定预设规格的虚拟机类型,预设规格指创建该类型的虚拟机所需要的CPU资源、内存资源、存储资源以及带宽资源是固定预设的。若本地微云系统有足够资源提供服务,微云系统的资源调度模块计算满足容器资源需求的所有分配方案中所需要创建的每种规格的虚拟机的数量和服务成本,选择资源分配方案中的服务成本最低的资源分配方案,按该分配方案在本地微云上创建虚拟机,并在新的虚拟机上创建容器满足任务需求。本地微云的服务成本是指任务在本地微云系统上的运行成本,包括执行该任务的容器的运行成本和执行该任务的虚拟机空载时的运行成本。
Figure BDA0002421188410000071
其中Costlocal是任务在本地微云系统上的运行成本,
Figure BDA0002421188410000072
是执行该任务的相关容器的运行成本、/>
Figure BDA0002421188410000073
执行该任务的相关的虚拟机空载时的运行成本。
容器的运行成本是指任务容器在本地微云系统创建的虚拟机上运行时的开销,是任务时长与在虚拟机运行该容器的单位时长运行成本之积。虚拟机运行容器的单位时长运行成本是该容器的CPU需求量、内存需求量、带宽需求量和存储需求量与该容器在虚拟机上运行单位时长的单位CPU成本、在虚拟机上运行单位时长的单位内存成本、在虚拟机上运行单位时长的单位带宽成本和在虚拟机上运行单位时长的单位存储成本对应的乘积之和。
Figure BDA0002421188410000074
其中,T为任务的执行时间,CPUdocker,RAMdocker,NETdocker,DISKdocker分别代表容器的CPU需求量、内存需求量、带宽需求量和存储需求量,
Figure BDA0002421188410000075
为容器在虚拟机上运行单位时长的单位CPU成本,/>
Figure BDA0002421188410000076
为容器在虚拟机上运行单位时长的单位内存成本,/>
Figure BDA0002421188410000077
为容器在虚拟机上运行单位时长的单位带宽成本,
Figure BDA0002421188410000081
为容器在虚拟机上运行单位时长的单位存储成本。
虚拟机空载时的运行成本是指本地微云系统创建的虚拟机空载运行时的开销,是任务时长与本地微云系统上的虚拟机空载运行的单位时长运行成本之积。虚拟机空载运行的单位时长运行成本是创建虚拟机需要的CPU资源量、内存资源量、带宽资源量和存储资源量与该虚拟机在本地微云系统上运行单位时长的单位CPU成本、在本地微云系统上运行单位时长的单位内存成本、在本地微云系统上运行单位时长的单位带宽成本和在本地微云系统上运行单位时长的单位存储成本对应的乘积之和。虚拟机空载是指为创建容器或运行应用的虚拟机。
Figure BDA0002421188410000082
其中,T为任务的执行时间,CPUvm,RAMvm,NETvm,DISKvm分别代表创建虚拟机需要的CPU资源量、内存资源量、带宽资源量和存储资源量,(
Figure BDA0002421188410000083
为虚拟机在本地微云系统上空载运行单位时长的单位CPU成本,/>
Figure BDA0002421188410000084
为虚拟机在本地微云系统上空载运行单位时长的单位内存成本,/>
Figure BDA0002421188410000085
为虚拟机在本地微云系统上空载运行单位时长的单位带宽成本,/>
Figure BDA0002421188410000086
为虚拟机在本地微云系统上空载运行单位时长的单位存储成本。
简而言之,在步骤S4中,服务成本是指任务在本地微云系统上的运行成本,包括执行该任务的容器的运行成本和执行该任务的虚拟机空载时的运行成本;容器的运行成本是指任务容器在本地微云系统创建的虚拟机上运行时的开销,是任务时长与在虚拟机运行该容器的单位时长运行成本之积;虚拟机空载是指为创建容器或运行应用的虚拟机,虚拟机空载时的运行成本是指本地微云系统创建的虚拟机空载运行时的开销,是任务时长与本地微云系统上的虚拟机空载运行的单位时长运行成本之积;任务的运行成本越低,则代表本地微云为运行该任务所提供的开销越低。
S5、如图4所示,若本地微云系统无法服务,则使用双染色体遗传算法计算生成服务成本最低的跨微云容器资源分配方案,将部分或者全部任务转载到其它相邻微云系统上执行;本地微云系统根据跨微云的容器资源分配流程,遵照跨微云服务请求流程请求相关邻居微云提供服务。若请求成功,则相关邻居微云收到请求后,确认请求并分配资源,创建虚拟机,并在新创建的虚拟机上创建容器为用户提供服务;若请求失败,则任务失败,本地微云拒绝为用户提供服务并向用户反馈失败信息。
在步骤S5中所述的邻居微云的服务成本是指任务在邻居微云系统上的运行成本,包括执行该任务的容器的运行成本、执行该任务的虚拟机空载时的运行成本和额外的通信成本。任务的运行成本越低,则代表邻居微云为运行该任务所提供的开销越低。
本实施例中,若本地微云系统无法服务,资源调度模块向云簇管理中心发送获取邻居微云系统的资源情况和资源实际使用情况的请求,从而获取邻居微云系统的资源情况和资源实际使用情况。本地微云的资源调度模块使用双染色体遗传算法计算生成服务成本最低的跨微云容器资源分配方案。基于双染色体遗传算法计算生成服务成本最低的跨微云容器资源分配方案,包括以下步骤:
S51、本地微云系统获取自身系统固定预设规格的虚拟机类型数量t和对应的虚拟机规格,估算完成终端用户任务需要构建的容器的容器数量c和相关的资源需求量,使用最佳适应算法估算需要创建的虚拟机数量v,向云簇管理中心发送请求并获取邻居微云系统(资源提供者)的数量m和对应的邻居微云的空闲资源信息。本地微云系统将获取的信息保存。
如图5所示,本实施例中,本地微云系统估算完成终端用户任务请求需要构建9个容器,由于本地微云系统无法服务,需要将全部任务转载到其它相邻的微云系统。假设每个容器的资源需求量为:
{1.5,2014MB,1024KB/s,4GB}
{0.3,256MB,512KB/s,256MB}
{0.5,512MB,512KB/s,512MB}
{1,2048MB,1024KB/s,4GB}
{0.1,256MB,64KB/s,1GB}
{1.2,1024MB,512KB/s,1GB}
{0.8,256MB,512KB/s,2GB}
{0.2,256MB,512KB/s,1GB}
{0.1,128MB,128KB/s,128MB}
共有4种类型的虚拟机,每种类型的虚拟机预设规格如下:
{1,1GB,1MB/s,1GB}
{2,2GB,2MB/s,4GB}
{4,4GB,4MB/s,16GB}
{8,8GB,8MB/s,64GB}
获取邻居微云系统的数量为4个,对应的邻居微云的空闲资源信息如下:
MC0={3,4GB,3MB/s,6GB}
MC1={5,10GB,8MB/s,40GB}
MC2={10,12GB,12MB/s,100GB}
MC3={16,32GB,32MB/s,200GB}
根据最佳适应算法,容器{1.5,2014MB,1024KB/s,4GB}需要绑定{2,2GB,2MB/s,4GB}规格的虚拟机,容器{0.3,256MB,512KB/s,256MB}和容器{0.5,512MB,512KB/s,512MB}需要绑定规格{1,1GB,1MB/s,1GB}规格的虚拟机,容器{1,2048MB,1024KB/s,4GB}需要绑定规格为{2,2GB,2MB/s,4GB}的虚拟机,容器{0.1,256MB,64KB/s,1GB}需要绑定规格为{1,1GB,1MB/s,1GB}的虚拟机,{1.2,1024MB,512KB/s,1GB}和{0.8,256MB,512KB/s,2GB}需要绑定规格为{2,2GB,2MB/s,4GB}的虚拟机,容器{0.2,256MB,512KB/s,1GB}需要绑定规格为{1,1GB,1MB/s,1GB}的虚拟机,容器{0.1,128MB,128KB/s,128MB}需要绑定规格为{1,1GB,1MB/s,1GB}的虚拟机;所以估算需要创建的虚拟机数量为7。
S52、设置种群个数n、交叉概率Pc、变异的概率Pv、终止迭代次数Step和个体适应度的变化量Δ;其中,0<Pc<1,0<Pv<1,Step>1,
Figure BDA0002421188410000101
本实施例中,设置种群个数为50,交叉概率为0.5,变异概率为0.01,迭代次数为1000次,个体适应度变化量Δ为0.5。
S53、本地微云系统使用双染色体遗传算法对种群进行多次选择、交叉和变异;通过改变染色体中的序列,得到邻居微云系统中最优的虚拟机分配方案和容器分配方案,此即为服务成本最低的跨微云容器资源分配方案;
在上述步骤S51中,需要创建的虚拟机数量v等于最佳适应算法最终得到的虚拟机数量。所述最佳适应算法,包括以下步骤:
S511、初始化虚拟机数量为0,已装载容器的虚拟机链表为空;
S512、如果所有的容器都绑定到具体的虚拟机,算法结束;如果还有容器没有绑定到虚拟机,进入步骤S513;
S513、选择一个还没绑定具体虚拟机的容器,判断已装载容器的虚拟机链表中的每一个虚拟机的剩余资源是否大于容器的资源需求量,如果存在一个虚拟机的剩余资源大于或等于容器的资源需求量,将容器绑定到该虚拟机,该虚拟机的当前的剩余资源等于该虚拟机原有的剩余资源减去容器的资源需求量;如果链表中所有虚拟机的剩余资源小于该容器的资源需求量,选择能够装载容器的最小规格的虚拟机,加入已装载容器的虚拟机链表中,虚拟机数量加1,该虚拟机的剩余资源等于虚拟机的固定预设的资源量减去当前容器所需的资源量。进入步骤S512。
所述基于双染色体遗传算法的实现过程中,步骤S53具体包括以下步骤:
S531、随机产生范围在0~c-1内的c个数字编码,作为c个容器的索引;每个容器有唯一的数字编码。需要创建的c个容器所需的CPU资源、内存资源、硬盘存储资源、带宽资源标注其相对应的数字编码。
假设终端用户提交任务请求需要创建9个容器,随机产生范围在0~8的数字作为每个容器的索引,假设产生的容器索引的序列为8-1-0-6-7-5-4-3-2,对应保存在本地微云系统中的容器的资源需求量。每个容器索引相关的资源需求量如下:
DOCKER0={0.5,512MB,512KB/s,512MB}
DOCKER1={0.3,256MB,512KB/s,256MB}
DOCKER2={0.1,128MB,128KB/s,128MB}
DOCKER3={0.2,256MB,512KB/s,1GB}
DOCKER4={0.8,256MB,512KB/s,2GB}
DOCKER5={1.2,1024MB,512KB/s,1GB}
DOCKER6={1,2048MB,1024KB/s,4GB}
DOCKER7={0.1,256MB,64KB/s,1GB}
DOCKER8={1.5,2014MB,1024KB/s,4GB}
随机产生范围在0~t-1内的t个数字编码作为t种虚拟机类型的索引,该数字编码与t种虚拟机类型的CPU资源、内存资源、硬盘存储资源、带宽资源相对应。假设整个云簇系统中共有4种类型的虚拟机(每种虚拟机需要的资源不同),随机的产生每种虚拟机的类型。每个虚拟机的规格如下:
VMtype_0={1,1GB,1MB/s,1GB}
VMtype_1={2,2GB,2MB/s,4GB}
VMtype_2={4,4GB,4MB/s,16GB}
VMtype_3={8,8GB,8MB/s,64GB}
S532、设定个体。个体由两条独立的染色体构建。需要设定个体的数量为初始种群个数n。染色体1表示容器分配,由c个唯一的整数数值(范围在[0~c-1])随机排列组成,每个数值代表需要创建的容器的索引;染色体2表示虚拟机分配,由v个随机整数数值(范围在[0~t-1])组成,每个数值代表一种虚拟机的类型。每个个体的两条染色体的数字编码的排列顺序构成该个体的唯一编码。根据该唯一编码得出容器绑定在具体虚拟机及虚拟机绑定到具体邻居微云系统中的资源分配方案;设定算法的初始迭代次数为0。
参见图5,两条染色体的数字编码{8-1-0-6-7-5-4-3-2,1-0-2-0-0-3-1}表示种群中的一个个体,类似的个体的染色体编码也可以是{0-1-2-3-4-5-6-7-8,1-1-1-1-1-1-1}、{8-7-6-5-4-3-2-1-0,0-1-2-3-0-1-2},需要设置50个个体作为基于双染色体遗传算法的初始种群。
S533、判定当前迭代次数是否等于终止迭代次数Step,若是,则进入步骤S53A,否则,进入步骤S534;设置终止迭代次数为1000;
S534、根据两条染色体的序列将容器绑定到具体的虚拟机、虚拟机绑定到具体的微云系统。在将容器绑定到具体的虚拟机时,容器按照循环首次适应算法顺序分配满足资源约束的虚拟机。当该虚拟机无法装载容器时,按顺序选择下一个能装载容器的虚拟机。虚拟机也遵循首次适应算法绑定到满足资源约束的微云系统,直到所有已经预分配了容器的虚拟机全部绑定到相应的微云系统。若无法将所有容器绑定到具体的虚拟机或者将所有已经预分配了容器的虚拟机绑定到相应的微云系统,则为该个体添加无法满足资源约束的标签。
参见图5,先将容器绑定在具体虚拟机,如染色体1中第一个容器索引为8,由于DOCKER8={1.5,2014M,1024KB/s,4GB},创建容器8需要1.5个CPU(单个CPU满负载的1.5倍),2014MB内存,1024KB/s带宽和4GB的存储容量,染色体2序列中表示的第一个虚拟机的类型为1,可知VMtype_1={2,2GB,2MB/s,4GB}所以该虚拟机的预设规格为2个CPU、2014MB内存、1024KB/s带宽和4GB存储容量,满足容器8的资源需求,即第一个类型为1的虚拟机剩余的CPU资源、内存资源、带宽资源和存储资源均大于创建容器8所需的CPU资源、内存资源、带宽资源和存储资源,所以在第一个类型为1的虚拟机装载容器8;而第一个类型为1虚拟机由于装载了容器8,剩余的资源量里,CPU0.5,内存0MB,带宽1024KB/s和存储容量0GB,无法满足下一个容器1(DOCKER1={0.3,256MB,512KB/s,256MB},容器1的资源需求量为0.3个CPU,256MB内存,512KB/s带宽和256MB的存储容量)的资源需求,即第一个虚拟机(类型1)剩余的0MB内存资源和0GB存储资源小于创建容器1所需的256MB内存资源和256MB存储资源,所以第一个虚拟机(类型1)关闭;容器1选择下一个能装载它的虚拟机装载,图5类型为0的虚拟机(第二条染色体中的第二个虚拟机,虚拟机类型为0,由于VMtype_0={1,1GB,1MB/s,1GB},类型0的虚拟机的预设规格为1个CPU、1GB内存、1MB/s带宽和1GB存储容量)。由于第二个虚拟机(类型0)满足容器1(DOCKER1={0.3,256MB,512KB/s,256MB})的资源需求,第二个虚拟机(类型0)装载容器1。装载了容器1后,第二个虚拟机(类型0,剩余的资源量为0.7个CPU、768MB内存、512KB/s带宽和768MB存储容量)仍满足容器0(DOCKER0={0.5,512MB,512KB/s,512MB})的资源需求中,所以第二个虚拟机(类型0)装载了容器1和容器0;同理,第三个虚拟机(类型2,VMtype_2={4,4GB,4MB/s,16GB})可同时满足容器6、容器7、容器5、容器4、容器3和容器2的资源需求,容器6、容器7、容器5、容器4、容器3和容器2绑定到第三个虚拟机种,容器绑定虚拟机过程完成;所述容器可使用当前业界流行的容器引擎Docker所创建的Docker容器。创建Docker容器所需资源包括CPU资源、内存资源、硬盘存储资源、带宽资源。
在虚拟机绑定到微云系统的过程中,图5中第一个微云系统(MC0={3,4GB,3MB/s,6GB},邻居微云系统0空闲的资源为3个CPU,4GB内存,3MB/s带宽,6GB存储资源)只能装载第一个虚拟机(类型1,VMtype_1={2,2GB,2MB/s,4GB})和第二个虚拟机(类型0,VMtype_0={1,1GB,1MB/s,1GB}),剩余资源(0个CPU、1GB内存、0KB/s带宽和1GB存储资源)无法满足第三个虚拟机(类型2,VMtype_2={4,4GB,4MB/s,16GB})的资源需求,所以微云1只装载了第一个虚拟机和第二个虚拟机。邻居微云2(MC1={5,10GB,8MB/s,40GB})满足第三个虚拟机(类型2,VMtype_2={4,4GB,4MB/s,16GB})的资源需求,第三个虚拟机绑定到邻居微云2种,虚拟机绑定微云系统的过程完成。
S535、计算个体适应度。个体适应度是所有提供资源分配的邻居微云的服务成本Costother。邻居微云的服务成本等于容器在邻居微云上的运行成本、提供资源分配服务的微云空载时的运行成本与额外的通信成本之和,即:
Figure BDA0002421188410000131
其中,
Figure BDA0002421188410000132
是执行该任务的相关容器在虚拟机上的运行成本,/>
Figure BDA0002421188410000133
是执行该任务的相关虚拟机在其它微云系统上空载运行时的运行成本,/>
Figure BDA0002421188410000134
为本地微云i和邻居微云j的通信成本。
Figure BDA0002421188410000135
其中,T为任务的执行时间,CPUdocker,RAMdocker,NETdocker,DISKdocker分别代表容器的CPU需求量、内存需求量、带宽需求量和存储需求量,
Figure BDA0002421188410000141
为容器在虚拟机上运行单位时长的单位CPU成本,/>
Figure BDA0002421188410000142
为容器在虚拟机上运行单位时长的单位内存成本,/>
Figure BDA0002421188410000143
为容器在虚拟机上运行单位时长的单位带宽成本,
Figure BDA0002421188410000144
为容器在虚拟机上运行单位时长的单位存储成本。/>
Figure BDA0002421188410000145
其中,T为任务的执行时间,CPUvm,RAMvm,NETvm,DISKvm分别代表创建虚拟机需要的CPU资源量、内存资源量、带宽资源量和存储资源量,
Figure BDA0002421188410000146
为虚拟机在邻居微云系统上空载运行单位时长的单位CPU成本,/>
Figure BDA0002421188410000147
为虚拟机在邻居微云系统上空载运行单位时长的单位内存成本,/>
Figure BDA0002421188410000148
为虚拟机在邻居微云系统上空载运行单位时长的单位带宽成本,/>
Figure BDA0002421188410000149
为虚拟机在邻居微云系统上空载运行单位时长的单位存储成本。
如果个体含有无法满足资源约束的标签,表明无法将所有容器绑定到具体的虚拟机或者将所有已经预分配了容器的虚拟机绑定到相应的微云系统。在此情况下,将运行成本设为无穷大。
S536、将种群的个体适应度按升序排列,用排前n的个体作为新的种群。若隔代个体最优个体的适应度变化量的绝对值低于Δ,进入步骤S53A;否则,进入S537;
假设上一代种群最优个体适应度为50.1,这一代种群最优个体为50.2,两代种群最优个体的适应度变化量绝对值为0.1,小于预先设定的个体适应度变化量0.5,算法跳转到步骤S53A;反之如果上一代种群最优个体适应度为50.1,这一代种群最优个体为60.1,两代种群最优个体的适应度变化量绝对值为10,大于预先设定的个体适应度变化量0.5,算法跳转到步骤S537。
S537、交叉:代表容器绑定到具体虚拟机的染色体1使用基于位置的交叉(Position-based Crossover)算法进行交叉。代表虚拟机绑定到具体微云系统的染色体2使用单点交叉算法进行交叉。
参见图6,图6是基于位置的交叉算法的表示图,假设种群种有两个个体,染色体序列分别为{8-1-0-6-7-5-4-3-2,1-0-2-0-0-3-1}和{0-1-2-3-4-5-6-7-8,1-1-1-1-1-1-1}。两个个体表示容器绑定到具体虚拟机的染色体1{8-1-0-6-7-5-4-3-2}和{0-1-2-3-4-5-6-7-8}使用基于位置的交叉算法进行交叉,如说明书附图7所示,选定容器绑定到具体虚拟机的染色体的第3、第7和第8个位置作为基准位置,子代1容器绑定到具体虚拟机染色体中的第3、第7和第8个位置和父代1容器绑定到具体虚拟机染色体中的第3、第7和第8个位置的整数数值相同。父代1容器绑定到具体虚拟机染色体第3、第7和第8个位置的整数数值为0、4和3,所以子代1容器绑定到具体虚拟机染色体第3、第7和第8个位置的整数数值为0、4和3。父代2容器绑定到具体虚拟机染色体去掉整数数值0、4和3后(即父代2容器绑定到具体虚拟机染色体第1、第4和第5个位置的数值),剩下的整数数值1-2-5-6-7-8按顺序放入子代1容器绑定到具体虚拟机染色体中的第1、第2、第4、第5、第6和第9个位置,所以,子代1容器绑定到具体虚拟机染色体序列为1-2-0-5-6-7-4-3-8;同理子代2容器绑定到具体虚拟机染色体中的第3、第7和第8个位置和父代2容器绑定到具体虚拟机染色体中的第3、第7和第8个位置的整数数值相同。父代2容器绑定到具体虚拟机染色体第3、第7和第8个位置的整数数值为2、6和7,所以子代2容器绑定到具体虚拟机染色体第3、第7和第8个位置的整数数值为2、6和7。父代1容器绑定到具体虚拟机染色体去掉整数数值2、6和7后(即父代1容器绑定到具体虚拟机染色体第4、第5和第9个位置的数值),剩下的整数数值8-1-0-5-4-3按顺序放入子代2容器绑定到具体虚拟机染色体中的第1、第2、第4、第5、第6和第9个位置,所以,子代2容器绑定到具体虚拟机染色体序列为8-1-2-0-5-4-6-7-3。
参见图7,图7是单点交叉算法的表示图,图中两个个体表示虚拟机绑定到具体微云系统的染色体{1-0-2-0-0-3-1}和{1-1-1-1-1-1-1}使用单点交叉算法进行交叉,如说明书附图8所示,假设选定第6个位置进行单点交叉,那么,父代1虚拟机绑定到具体微云系统的染色体{1-0-2-0-0-3-1}第6个位置上的数值3和父代2虚拟机绑定到具体微云系统的染色体{1-1-1-1-1-1-1}第6个位置上的数值1进行交叉,得到子代1虚拟机绑定到具体微云系统的染色体{1-0-2-0-0-1-1}和子代1虚拟机绑定到具体微云系统的染色体{1-1-1-1-1-3-1}。
S538、变异:包括代表容器绑定到具体虚拟机的染色体变异和代表虚拟机绑定到具体微云系统的染色体变异。代表容器绑定到具体虚拟机的染色体变异过程为:算法随机地选取代表容器绑定到具体虚拟机的染色体中的一条染色体,交换其整数序列中的两个整数数值;代表虚拟机绑定到具体微云系统的染色体变异过程为:算法遍历个体中代表虚拟机绑定到微云系统的染色体的整数序列,对每个序列,按变异概率Pv改变序列中一个或多个整数值。
参见图8,图8是双染色体遗传算法变异的表示图,其中代表容器绑定到具体虚拟机的染色体的变异过程:选取代表容器绑定到具体虚拟机的染色体{8-1-0-6-7-5-4-3-2}上第3个位置上的数值0和第7个位置上的数值4进行交换,得到子代容器绑定到具体虚拟机的染色体{8-1-4-6-7-5-0-3-2};代表虚拟机绑定到具体微云系统的染色体的变异过程:遍历父代代表虚拟机绑定到具体微云系统的染色体{1-0-2-0-0-3-1},按变异概率Pv将上第6个位置上的数值3改变为数值2,得到子代虚拟机绑定到具体微云系统的染色体为{1-0-2-0-0-2-1}。
S539、将迭代次数加1并返回步骤S533;
S53A、将种群的个体适应度按升序排列后,选择第一个个体作为最优个体。最优个体包含容器绑定在具体虚拟机及虚拟机绑定到微云系统的资源分配方案。
参见图5,图中容器8绑定到第一个虚拟机(类型1),容器1和容器0绑定到第2个虚拟机(类型0),按循环首次适应算法,容器6、容器7、容器5、容器4、容器3和容器2绑定到第三个虚拟机(类型2);然后按照循环首次适应算法第一个虚拟机(类型1)和第二个虚拟机(类型0)绑定到邻居微云1,第三个虚拟机(类型2)绑定到邻居微云2。
若算法最终得到的最优个体的个体适应度为无穷大,表示无跨微云容器资源分配方案,本地微云系统拒绝为用户的任务提供服务并告知用户。若最优个体的适应度不是无穷大,则表示有跨微云容器资源分配方案,跨微云容器资源分配方案可通过最优个体的染色体解码得到。
在上述基于双染色体遗传算法的步骤S534中,所述循环首次适应算法,包括以下步骤:
S5341、初始化空闲资源的地址:如果是容器绑定到虚拟机,找到上一次装载容器的虚拟机;如果是虚拟机绑定微云系统,找到上一次装载虚拟机的微云系统;
S5342、判断当前地址的空闲资源是否满足资源约束:如果是容器绑定到虚拟机,若该虚拟机的空闲资源量大于等于容器的资源需求量,进入步骤S5344,否则进入步骤S5343;如果是虚拟机绑定微云系统,若微云系统的空闲资源量大于等于虚拟机的资源需求量,进入步骤S5344,否则进入步骤S5343;
S5343、寻找下一个空闲资源的地址:若下一个空闲资源的地址是步骤S5341初始的空闲资源地址,绑定失败,返回无法满足资源约束的信息;否则寻找下一个空闲资源的地址并进入步骤S5342;如果是容器绑定到虚拟机,下一个空闲资源的地址是下一个虚拟机的地址;如果是虚拟机绑定到微云系统,下一个空闲资源的地址是下一个微云系统的地址;
S5344、将容器绑定当前虚拟机或将虚拟机绑定当前的微云系统,修改当前地址的空闲资源信息,当前的空闲资源等于原有的空闲资源减去分配给容器或虚拟机的资源,算法结束。
本发明使用基于双染色体的遗传算法的先进性和最优性说明如下:
(1)、若本地微云系统无法服务,需要计算服务成本最低的跨微云容器资源分配方案,将部分或者全部任务转载到其它相邻微云系统上执行。跨微云容器资源分配方案包括容器绑定到具体虚拟机和虚拟机绑定到具体的邻居微云系统两个过程。这两个过程都需要判断CPU资源、内存资源、存储资源、带宽资源是否满足资源约束,是两个级别的多维装箱问题。多维装箱问题属于NP完全问题。假设最坏的情况下,一个容器只能分配给一个虚拟机,本地微云系统估算完成终端用户的任务需要数量c个容器,最坏情况下需要c个虚拟机,虚拟机的类型共t种,将c个虚拟机分配给m个邻居微云。若使用枚举法计算出服务成本最低的微云容器资源分配方案,需要判断
Figure BDA0002421188410000171
种跨微云容器资源分配方案是否满足资源约束并计算其服务成本,时间复杂度为O(c!×tc×m!),需要耗费大量的计算资源和计算时间。若使用双染色体遗传算法,设定双染色体遗传算法最大迭代次数为s,初始的种群数量为n。在每次迭代中对于种群种的每个个体,需要先判断容器能否绑定虚拟机中,时间复杂度为O(c2);然后判断虚拟机能否绑定到微云系统中,时间复杂度为O(c×m);每次迭代需要计算出种群中每个个体的适应度,最后选取前n个适应度最低的个体,经过交叉,变异作为下一次迭代的种群,时间复杂度为均为O(n)。所以每次迭代的时间复杂度为O(n×c3×m+n),经过s次迭代,算法的时间复杂度为O(s×n×c3×m+s×n)。而最大迭代次数s、微云的总数量m和为初始种群数n已知,所以双染色体遗传算法的算法时间复杂度为O(c3)。综上所述,使用双染色体遗传算法相比于枚举法,能在更短的时间内的形成全局最优或者局部最优的跨微云容器资源分配方案。
(2)、在微云系统中,每种预设规格的虚拟机的CPU资源、内存资源、存储资源和带宽资源的需求量是固定预设的。本发明中的双染色体遗传算法中的代表虚拟机绑定到微云系统的染色体,将虚拟机的规格类型作为虚拟机的索引,把虚拟机的类型也考虑到资源分配计算中。相较于只计算单一规格类型的虚拟机,更加符合生产的实际需求。此外,双染色体遗传算法中每个个体由容器绑定到虚拟机、虚拟机绑定到微云系统的两条独立的染色体构建,该算法考虑到了虚拟机绑定到微云系统和容器绑定到具体虚拟机两个过程之间的交互,解决同时实现最佳的容器分配方案和最佳的虚拟机分配方案的问题;
(3)、计算跨微云容器资源分配方案的双染色体遗传算法每次筛选出来的种群为运行成本最低的前n个种群中的个体。在最大的迭代次数范围内,将种群中的最优个体的个体适应度变化不大并趋于稳定和相邻代种群的距离小于可接受值之一的条件作为终止条件,算法满足最优性。
相应地,本发明通过步骤S5还提供一种跨微云服务请求流程,参见图9,其过程包括以下步骤:
S601、微云系统的云间互操作模块向跨微云容器资源分配方案中的相关邻居微云进行预申请。申请方微云向相关邻居微云发送与任务相关的预申请信息,包括:虚拟机数量、虚拟机规格、容器的数量、容器的规格、使用时长、镜像校验信息。
S602、邻居微云收到云间互操作模块预申请后,向该微云的资源调度模块转发预申请并请求预申请的确认。邻居微云需要查看自身资源是否足够,确认本地是否有对应的任务镜像。若资源足够,则可以进行分配,为申请方进行资源的预留;若资源不足,则不可以进行分配,在返回信息中附上最新的可分配资源情况;若本地无对应虚拟机镜像和容器镜像但资源足够,则需要进行镜像传输,将会在返回信息中要求申请方进行任务镜像传输。
S603、若存在一个邻居微云拒绝资源分配的预申请,则分配失败,本地微云拒绝为用户提供服务并告知分配失败的信息。
S604、收到申请确认后,邻居微云按照任务要求,使用任务镜像为申请方创建对应数量和规格的虚拟机,并在这些虚拟机上创建容器执行任务,向申请方返回容器的连接许可,并赋予申请方对这些容器的管理权限。
S605、任务容器装载在资源分配方案中的邻居微云上虚拟机上。具体实现是由邻居微云创建虚拟机,申请方微云将本地用户的容器连接请求通过连接凭证重定向到邻居微云的容器中。
可见,本发明通过物理资源的跨微云调度,解决了单个微云在业务高峰期资源不足的问题。本发明的资源分配方法支持微云之间共享闲置资源,由本地微云或本地微云与相邻微云共同服务用户的业务请求。微云间的闲置资源共享支持在本地微云系统没有足够资源直接执行以容器为单位的细粒度云计算服务任务的情况下,采用基于双染色体遗传算法的跨微云容器资源分配方案,将部分或者全部任务转载到相邻微云系统上执行,满足本地用户的业务需求。利用本发明,可实现微云间的资源共享,提高云系统-云簇云系统下各微云的资源利用率、最大化合理利用资源,解决资源效用瓶颈。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其它的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (9)

1.一种分布式云系统-云簇架构下的服务容器资源的分配方法,其特征在于,包括以下步骤:
S1、本地微云系统收集其自身的资源情况、资源实际使用情况;云簇管理中心收集所有微云资源情况、实际资源使用情况;本地微云系统从云簇管理中心获取其相邻微云系统集的信息;
S2、本地微云系统根据终端用户提交的任务请求,估算完成任务需要构建的容器数量及相关的资源需求量;
S3、本地微云系统基于其本身运行的任务管理算法,决定一个终端用户的业务请求能否由本地微云系统服务;
S4、若本地微云系统有足够资源直接执行任务,则依据计算服务成本最低的策略创建虚拟机,并在新创建的虚拟机上创建容器为用户提供服务;
S5、若本地微云系统无法服务,则基于双染色体遗传算法计算生成服务成本最低的跨微云容器资源分配方案,将部分或者全部任务转载到其它相邻微云系统上执行;本地微云系统根据跨微云的容器资源分配方案,遵照跨微云服务请求流程请求相关邻居微云提供服务;相关邻居微云收到请求后,则确认请求并分配资源,创建虚拟机,并在新创建的虚拟机上创建容器为用户提供服务;
步骤S5中基于双染色体遗传算法计算生成服务成本最低的跨微云容器资源分配方案,包括以下步骤:
S51、本地微云系统获取自身系统固定预设规格的虚拟机类型数量t和对应的虚拟机规格,估算完成终端用户任务需要构建的容器的容器数量c和相关的资源需求量,使用最佳适应算法估算需要创建的虚拟机数量v,向云簇管理中心发送请求并获取邻居微云系统的数量m和对应的邻居微云的空闲资源信息;
S52、设置种群个数n、交叉概率Pc、变异的概率Pv、终止迭代次数Step和个体适应度的变化量Δ;其中,0<Pc<1,0<Pv<1,Step>1,
Figure FDA0003994358740000011
Figure FDA0003994358740000012
表示从n个不同元素中取出n个元素的排列数,Δ>0;
S53、本地微云系统使用双染色体遗传算法对种群进行多次选择、交叉和变异;通过改变染色体中的序列,得到邻居微云系统中最优的虚拟机分配方案和容器分配方案,此即为服务成本最低的跨微云容器资源分配方案。
2.根据权利要求1所述的服务容器资源的分配方法,其特征在于,所述步骤S53具体包括以下步骤:
S531、随机产生范围在0~c-1内的c个数字编码,作为c个容器的索引,每个容器有唯一的数字编码;随机产生范围在0~t-1内的t个数字编码作为t种虚拟机类型的索引,该数字编码与t种类型的虚拟机的CPU资源、内存资源、硬盘存储资源、带宽资源相对应;
S532、设定个体,个体由两条独立的染色体构建,需要设定个体的数量为初始种群个数n;染色体1表示容器分配,由c个唯一的整数数值随机排列组成,每个数值代表需要创建的容器的索引;染色体2表示虚拟机分配,由v个随机整数数值组成,每个数值代表一种虚拟机的类型;每个个体的两条染色体的数字编码的排列顺序构成该个体的唯一编码;根据该唯一编码得出容器绑定在具体虚拟机及虚拟机绑定到具体邻居微云系统中的资源分配方案;设定算法的初始迭代次数为0;
S533、判定当前迭代次数是否等于终止迭代次数Step,若是则进入步骤S53A,否则进入步骤S534;
S534、根据两条染色体的序列将容器绑定到具体的虚拟机,将虚拟机绑定到具体的微云系统;在将容器绑定到具体的虚拟机时,容器按照循环首次适应算法绑定满足资源约束的虚拟机;当该虚拟机无法装载容器时,按顺序选择下一个能装载容器的虚拟机;虚拟机也遵循首次适应算法绑定到满足资源约束的微云系统,直到所有已经预分配了容器的虚拟机全部绑定到相应的微云系统;若无法将所有容器绑定到具体的虚拟机或者将所有已经预分配了容器的虚拟机绑定到相应的微云系统,则为该个体添加无法满足资源约束的标签;
S535、计算个体适应度,个体适应度是所有提供资源分配的邻居微云的服务成本;如果个体含有无法满足资源约束的标签,表明无法将所有容器绑定到具体的虚拟机或者将所有已经预分配了容器的虚拟机绑定到相应的微云系统,在此情况下,将运行成本设为无穷大;
S536、将种群的个体适应度按升序排列,用排前n的个体作为新的种群;若隔代个体最优个体的适应度变化量的绝对值低于Δ,进入步骤S53A;否则进入S537;
S537、交叉:代表容器绑定到具体虚拟机的染色体1使用基于位置的交叉算法进行交叉,代表虚拟机绑定到具体微云系统的染色体2使用单点交叉算法进行交叉;
S538、变异:包括代表容器绑定到具体虚拟机的染色体变异和代表虚拟机绑定到具体微云系统的染色体变异,代表容器绑定到具体虚拟机的染色体变异过程为:算法随机地选取代表容器绑定到具体虚拟机的染色体中的一条染色体,交换其整数序列中的两个整数数值;代表虚拟机绑定到具体微云系统的染色体变异过程为:算法遍历个体中代表虚拟机绑定到微云系统的染色体的整数序列,对每个序列,按变异概率Pv改变序列中一个或多个整数值;
S539、将迭代次数加1并返回步骤S533;
S53A、将种群的个体适应度按升序排列后,选择第一个个体作为最优个体;最优个体包含容器绑定在具体虚拟机及虚拟机绑定到微云系统的资源分配方案。
3.根据权利要求1所述的服务容器资源的分配方法,其特征在于,在步骤S51中,需要创建的虚拟机数量v等于最佳适应算法最终得到的虚拟机数量,其中最佳适应算法包括以下步骤:
S511、初始化虚拟机数量为0,已装载容器的虚拟机链表为空;
S512、如果所有的容器都绑定到具体的虚拟机,算法结束;如果还有容器没有绑定到虚拟机,进入步骤S513;
S513、选择一个还没绑定具体虚拟机的容器,判断已装载容器的虚拟机链表中的每一个虚拟机的剩余资源是否大于容器的资源需求量,如果存在一个虚拟机的剩余资源大于或等于容器的资源需求量,将容器绑定到该虚拟机,该虚拟机的当前的剩余资源等于该虚拟机原有的剩余资源减去容器的资源需求量;如果链表中所有虚拟机的剩余资源小于该容器的资源需求量,选择能够装载容器的最小规格的虚拟机,加入已装载容器的虚拟机链表中,虚拟机数量加1,该虚拟机的剩余资源等于虚拟机的固定预设的资源量减去当前容器所需的资源量,进入步骤S512。
4.根据权利要求2所述的服务容器资源的分配方法,其特征在于,步骤S534中,循环首次适应算法包括以下步骤:
S5341、初始化空闲资源的地址:如果是容器绑定到虚拟机,找到上一次装载容器的虚拟机;如果是虚拟机绑定微云系统,找到上一次装载虚拟机的微云系统;
S5342、判断当前地址的空闲资源是否满足资源约束:如果是容器绑定到虚拟机,若该虚拟机的空闲资源量大于等于容器的资源需求量,进入步骤S5344,否则进入步骤S5343;如果是虚拟机绑定微云系统,若微云系统的空闲资源量大于等于虚拟机的资源需求量,进入步骤S5344,否则进入步骤S5343;
S5343、寻找下一个空闲资源的地址:若下一个空闲资源的地址是步骤S5341初始的空闲资源地址,绑定失败,返回无法满足资源约束的信息;否则寻找下一个空闲资源的地址并进入步骤S5342;如果是容器绑定到虚拟机,下一个空闲资源的地址是下一个虚拟机的地址;如果是虚拟机绑定到微云系统,下一个空闲资源的地址是下一个微云系统的地址;
S5344、将容器绑定当前虚拟机或将虚拟机绑定当前的微云系统,修改当前地址的空闲资源信息,当前的空闲资源等于原有的空闲资源减去分配给容器或虚拟机的资源。
5.根据权利要求1所述的服务容器资源的分配方法,其特征在于,步骤S5中,跨微云服务请求流程包括以下步骤:
S601、微云系统的云间互操作模块向跨微云容器资源分配方案中的相关邻居微云进行预申请;申请方微云向相关邻居微云发送与任务相关的预申请信息,包括:虚拟机数量、虚拟机规格、容器的数量、容器的规格、使用时长、镜像校验信息;
S602、邻居微云收到云间互操作模块预申请后,向该微云的资源调度模块转发预申请并请求预申请的确认;邻居微云需要查看自身资源是否足够,确认本地是否有对应的任务镜像;若资源足够,则可以进行分配,为申请方进行资源的预留;若资源不足,则不可以进行分配,在返回信息中附上最新的可分配资源情况;若本地无对应虚拟机镜像和容器镜像但资源足够,则需要进行镜像传输,将会在返回信息中要求申请方进行任务镜像传输;
S603、若存在一个邻居微云拒绝资源分配的预申请,则分配失败,本地微云拒绝为用户提供服务并告知分配失败的信息;
S604、收到申请确认后,邻居微云按照任务要求,使用任务镜像为申请方创建对应数量和规格的虚拟机,并在这些虚拟机上创建容器执行任务,向申请方返回容器的连接许可,并赋予申请方对这些容器的管理权限;
S605、任务容器装载在资源分配方案中的邻居微云上虚拟机上。
6.根据权利要求5所述的服务容器资源的分配方法,其特征在于,步骤S605中,由邻居微云创建虚拟机,申请方微云将本地用户的容器连接请求通过连接凭证重定向到邻居微云的容器中。
7.根据权利要求1所述的服务容器资源的分配方法,其特征在于,在步骤S4中,服务成本是指任务在本地微云系统上的运行成本,包括执行该任务的容器的运行成本和执行该任务的虚拟机空载时的运行成本;容器的运行成本是指任务容器在本地微云系统创建的虚拟机上运行时的开销,是任务时长与在虚拟机运行该容器的单位时长运行成本之积;虚拟机空载是指为创建容器或运行应用的虚拟机,虚拟机空载时的运行成本是指本地微云系统创建的虚拟机空载运行时的开销,是任务时长与本地微云系统上的虚拟机空载运行的单位时长运行成本之积。
8.一种分布式云系统-云簇架构下的服务容器资源的分配系统,其特征在于,所述分配系统基于权利要求1-7中任一项所述分配方法,包括一个云簇管理中心和若干个微云系统;
云簇管理中心将地理分散的微云系统结合成一个紧密整体,包括:
管理通信模块:负责微云系统的管理和通信功能;
资源监控模块:监控云簇云系统中所有微云资源的使用情况;
微云系统是一个具备独立对外服务和自管理能力的完整云计算系统,提供用户实际使用所需的计算、计算加速、存储、网络资源;一个微云系统除了提供实际云服务的相关资源外,还包括:
资源监控模块:监控其资源使用情况;
任务管理模块:负责管理终端用户的任务请求、分配计算任务和监听任务执行情况;
资源调度模块:计算执行本地服务成本最低的资源分配方案、计算执行跨微云容器资源分配方案及监听、执行由云间互操作模块提交的其它微云系统的资源分配请求的资源分配方案;
微云管理模块:负责与云簇管理中心通信;
云间互操作模块:负责微云系统间互相通信、资源分配。
9.根据权利要求8所述的分配系统,其特征在于,本地微云系统的资源监控模块实时收集其自身资源的情况和资源的实际使用情况;云簇管理中心的资源监控模块,通过云簇管理中心的管理通信模块,按一定周期向获取云簇系统下所有微云的微云管理模块发送获取该微云的资源情况和资源使用情况的请求,从而收集到整个云簇系统下所有微云的资源情况和资源实际使用情况;
本地微云系统决定一个用户请求能否在自己系统上运行时,采用资源阈值的本地资源优先算法决定:本地微云系统预先设置资源使用的阈值;若完成终端用户的业务请求所需的资源量与本地微云系统实际使用的资源量之和低于本地微云系统预先设定的资源阈值,则本地微云选择由自己执行任务;若高于其预先设定的资源阈值,则选择将部分或全部任务在邻居微云系统上执行任务。
CN202010206147.1A 2020-03-23 2020-03-23 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统 Active CN111381936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010206147.1A CN111381936B (zh) 2020-03-23 2020-03-23 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010206147.1A CN111381936B (zh) 2020-03-23 2020-03-23 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统

Publications (2)

Publication Number Publication Date
CN111381936A CN111381936A (zh) 2020-07-07
CN111381936B true CN111381936B (zh) 2023-03-31

Family

ID=71222653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010206147.1A Active CN111381936B (zh) 2020-03-23 2020-03-23 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统

Country Status (1)

Country Link
CN (1) CN111381936B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966447B (zh) * 2020-07-08 2024-04-09 华南理工大学 一种基于双排列遗传算法的容器放置方法
CN114327741A (zh) * 2020-09-30 2022-04-12 华为云计算技术有限公司 服务器系统、容器设置方法及装置
CN112860317B (zh) * 2020-12-31 2022-03-29 上海交通大学 无服务器计算系统中的调用器池化方法及系统
CN112817567B (zh) * 2021-01-28 2022-07-15 中国科学技术大学 一种微服务应用的openwhisk无服务框架迁移方法
CN113114715B (zh) * 2021-02-24 2024-01-23 网宿科技股份有限公司 一种基于边缘计算的调度方法及边缘设备集群
CN115131046A (zh) * 2021-03-24 2022-09-30 华为云计算技术有限公司 一种提供云服务的方法、装置及设备
CN113467892A (zh) * 2021-07-14 2021-10-01 广州华多网络科技有限公司 分布式集群资源配置方法及其相应的装置、设备、介质
CN113709241B (zh) * 2021-08-26 2024-01-23 上海德拓信息技术股份有限公司 一种云场景下物理资源的调度分配组合方法与系统
US11983570B2 (en) 2021-08-26 2024-05-14 International Business Machines Corporation Conditionally deploying a reusable group of containers for a job based on available system resources
CN114844759A (zh) * 2022-04-12 2022-08-02 西安理工大学 一种基于Docker的细粒度的分布式云计算架构
CN117851023A (zh) * 2023-03-29 2024-04-09 广州纳指数据智能科技有限公司 一种高性能计算机群与本地资源算力的转换方法及其系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811491A (zh) * 2015-04-17 2015-07-29 华南理工大学 一种基于遗传算法的云计算资源调度方法
CN105740051A (zh) * 2016-01-27 2016-07-06 北京工业大学 基于改进的遗传算法的云计算资源调度实现方法
CN107046567A (zh) * 2017-02-14 2017-08-15 广州云晫信息科技有限公司 一种由微云系统构成的集中管理的分布式云计算系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10439891B2 (en) * 2014-04-08 2019-10-08 International Business Machines Corporation Hyperparameter and network topology selection in network demand forecasting

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811491A (zh) * 2015-04-17 2015-07-29 华南理工大学 一种基于遗传算法的云计算资源调度方法
CN105740051A (zh) * 2016-01-27 2016-07-06 北京工业大学 基于改进的遗传算法的云计算资源调度实现方法
CN107046567A (zh) * 2017-02-14 2017-08-15 广州云晫信息科技有限公司 一种由微云系统构成的集中管理的分布式云计算系统

Also Published As

Publication number Publication date
CN111381936A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN111381936B (zh) 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统
JP2020064676A (ja) リソース配置を最適化するための適時性リソース移行
CN102546782B (zh) 一种分布式系统及其数据操作方法
CN103797770B (zh) 一种共享存储资源的方法和系统
CN107273185B (zh) 一种基于虚拟机的负载均衡控制方法
JP5789640B2 (ja) 複数のコンピュータシステムによるプログラムの実行を管理するシステム
Zeng et al. An integrated task computation and data management scheduling strategy for workflow applications in cloud environments
CN103180830A (zh) 中央处理器资源分配方法和计算节点
CN109313564A (zh) 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理系统
Amalarethinam et al. An Overview of the scheduling policies and algorithms in Grid Computing
JP2010033292A (ja) 仮想サーバリソース調整システム、リソース調整装置、仮想サーバリソース調整方法、及び、コンピュータプログラム
US10616134B1 (en) Prioritizing resource hosts for resource placement
CN110221920B (zh) 部署方法、装置、存储介质及系统
CN103227838A (zh) 一种多重负载均衡处理装置与方法
CN103124299A (zh) 一种异构环境下的分布式块级别存储系统
CN104202424B (zh) 一种使用软件架构扩展缓存的方法
Navimipour et al. Replica selection in the cloud environments using an ant colony algorithm
CN102937918A (zh) 一种hdfs运行时数据块平衡方法
CN1602480A (zh) 管理附装在数据网络上的存储器资源
CN112463395A (zh) 一种资源分配方法、装置、设备及可读存储介质
Hsieh et al. The incremental load balance cloud algorithm by using dynamic data deployment
CN102446072B (zh) 用于池式存储中的raid 阵列变换的系统和方法
CN104715044A (zh) 一种分布式系统及其数据操作方法
CN111405072B (zh) 一种基于云厂家成本调度的混合云优化方法
CN106293509A (zh) 数据存储方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant