CN116366658A - 一种云计算负载均衡方法、*** - Google Patents

一种云计算负载均衡方法、*** Download PDF

Info

Publication number
CN116366658A
CN116366658A CN202310639183.0A CN202310639183A CN116366658A CN 116366658 A CN116366658 A CN 116366658A CN 202310639183 A CN202310639183 A CN 202310639183A CN 116366658 A CN116366658 A CN 116366658A
Authority
CN
China
Prior art keywords
glb
physical machine
resource
physical
load balancing
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.)
Granted
Application number
CN202310639183.0A
Other languages
English (en)
Other versions
CN116366658B (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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology Co Ltd
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 Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202310639183.0A priority Critical patent/CN116366658B/zh
Publication of CN116366658A publication Critical patent/CN116366658A/zh
Application granted granted Critical
Publication of CN116366658B publication Critical patent/CN116366658B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1025Dynamic adaptation of the criteria on which the server selection is based
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开涉及云计算技术领域,涉及一种云计算负载均衡方法、***。方法包括步骤S01,基于蚁群算法,每个虚拟机根据每个物理机的信息素浓度和资源契合度确定所要选择的下一个物理机,直到遍历完所有物理机得到分配路径;步骤S02,获得所有虚拟机的分配路径;对每条分配路径进行GLB计算;步骤S03,获得此轮迭代最小GLBmin,当初次迭代时,GLBbest=GLBmin;当非初次迭代时,若GLBmin≥GLBbest时,本轮GLBbest=上一轮GLBbest,否则本轮GLBbest=本轮GLBmin;得到GLBbest后,迭代次数+1,当迭代未结束时,更新信息素浓度和资源契合度,返回步骤S01,否则输出GLBbest。本公开实施例基于CPU、内存、带宽进行综合资源考虑,资源利用率高。

Description

一种云计算负载均衡方法、***
技术领域
本公开的实施例涉及云计算技术领域,尤其涉及一种云计算负载均衡方法、***。
背景技术
云计算是目前国内外科研和商业机构重点研究的一种新兴计算与服务模式,体现为由数百万台物理计算机组成的庞大数据中心。云计算通过使用虚拟化技术提高了数据中心的资源利用率,虚拟化技术是把一台物理机虚拟为多台逻辑计算机,也就是我们所说的虚拟机(Virtual Machine, VM)。由于能源消耗过高,为了提高资源利用率,节约成本,需要通过虚拟机迁移放置降低整个数据中心的能耗。所以虚拟机放置算法作为云计算的关键技术,具有重要研究意义。虚拟机的放置是一个从虚拟机到物理主机映射的过程,虚拟机的放置优化问题,是多个目标相互作用相互影响的组合优化问题。
传统的对于虚拟机资源分配与部署的研究都是基于单方面的考虑,忽略了一些用户和云服务提供商所关心的参数。虚拟机分配问题是一个NP-Hard问题,目前常用的解决方法是采用动态阈值热迁移,或者给予多背包问题的多租户云数据中心分层递进进行资源分配算法,进行虚拟机分配,这种方法忽略了多个异构资源的负载均衡。不同用户对资源的不同需求以及对物理资源的异构性,就导致了负载均衡难以实现,并且资源利用率极低。
发明内容
本公开的实施例提供了一种云计算负载均衡方法、***,旨在解决上述问题以及其他潜在的问题中的一个或多个。
为实现上述目的,提供以下技术方案:
根据本公开的第一方面,提供了一种云计算负载均衡方法,包括:
步骤S01,基于蚁群算法,每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机,直到遍历完所有物理机得到分配路径;
其中,所述资源契合度FOR通过公式:
Figure SMS_1
计算获得,
Figure SMS_2
为虚拟机的需求资源向量,/>
Figure SMS_3
为物理机的剩余资源向量,
Figure SMS_4
分别为虚拟机的需求资源CPU、内存、带宽, />
Figure SMS_5
分别为物理机的剩余资源CPU、内存、带宽;
步骤S02,当所有虚拟机完成步骤S01后,获得所有虚拟机的分配路径;对每条分配路径进行全局负载均衡指标GLB计算;
其中,所述全局负载均衡指标GLB通过公式:GLB=Ec+Em+Eb计算获得,
Ec为CPU的资源均衡率,
Figure SMS_6
Em为内存的资源均衡率,
Figure SMS_7
Eb为带宽的资均衡率,
Figure SMS_8
n表示物理机的个数;
步骤S03,从步骤S02中此轮迭代所有分配路径的GLB中获得最小GLBmin,当初次迭代时,将GLBmin作为最优GLBbest;当非初次迭代时,比较本轮GLBmin与上一轮GLBbest的大小,若GLBmin不小于GLBbest时,本轮GLBbest为上一轮GLBbest,否则本轮GLBbest为本轮GLBmin;得到最优GLBbest后,迭代次数+1,当未满足迭代条件时,更新信息素浓度和资源契合度,返回步骤S01进入下一轮迭代,当满足迭代条件时,输出最优GLBbest,结束。
本公开实施例针对虚拟机分配的背景,基于CPU、内存和带宽三个指标提出了全局负载均衡的指标以及资源契合度,通过不断的迭代,寻找全局最优解,制定合适的分配方案;能够以较少的迁移次数最大限度的提升资源利用率。
在一些实施例中,所述步骤S01中每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机的过程如下:
基于蚁群算法的转移概率公式,计算每个物理机的选择概率;
将选择概率最大的物理机选为当前虚拟机选择的下一个物理机。
在一些实施例中,所述步骤S01还包括在所述每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机步骤之前,基于期望判断条件确定物理机的分配方式,具体为:
为每个物理机随机生成一个随机期望Er
当判断随机期望Er>选择期望E时,基于蚁群算法的转移概率公式,计算每个物理机的选择概率;将选择概率最大的物理机选为当前虚拟机选择的下一个物理机;当判断随机期望Er≤选择期望E时,随机选择物理机作为当前虚拟机选择的下一个物理机,其中,E为预设值,0<E<1,0<Er<1。
在一些实施例中,所述资源契合度公式是基于需求资源向量满足均匀分布构建的。
在一些实施例中,所述步骤S01资源契合度公式中虚拟机、物理机的需求资源CPU、内存、带宽,以及所述步骤S02中物理机CPU分配率、内存分配率、带宽分配率通过调度***动态监控虚拟机、物理机获得。
在一些实施例中,方法还包括步骤S00,基于蚁群算法进行初始化,将M个虚拟机以蚂蚁形式随机放置在M个物理机上;假定各路径上的信息素量相等,信息素浓度为一常数,初始时刻信息素增量为0,并设定迭代次数。
在一些实施例中,所述方法应用于基础设施即服务IaaS平台调度***。
根据本公开的第二方面,提供了一种云计算负载均衡***,包括:
物理机选择模块,用于基于蚁群算法,每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机,直到遍历完所有物理机得到分配路径;
信息素浓度计算模块,用于计算信息素浓度;
资源契合度计算模块,用于通过公式:
Figure SMS_9
计算每个物理机的资源契合度FOR,/>
Figure SMS_10
为虚拟机的需求资源向量,/>
Figure SMS_11
为物理机的剩余资源向量, />
Figure SMS_12
分别为虚拟机的需求资源CPU、内存、带宽, />
Figure SMS_13
分别为物理机的剩余资源CPU、内存、带宽;
分配路径获得模块,用于当所有虚拟机通过所述物理机选择模块选择物理机后,获得所有虚拟机的分配路径;
全局负载均衡指标计算模块,用于对每条分配路径进行全局负载均衡指标GLB计算;所述全局负载均衡指标GLB通过公式:GLB=Ec+Em+Eb计算获得,
Ec为CPU的资源均衡率,
Figure SMS_14
Em为内存的资源均衡率,
Figure SMS_15
Eb为带宽的资均衡率,
Figure SMS_16
n表示物理机的个数;
负载均衡模块,用于从所述全局负载均衡指标计算模块中此轮迭代所有分配路径的GLB中获得最小GLBmin,还用于当初次迭代时,将GLBmin作为最优GLBbest;当非初次迭代时,比较本轮GLBmin与上一轮GLBbest的大小,若GLBmin不小于GLBbest时,本轮GLBbest为上一轮GLBbest,否则本轮GLBbest为本轮GLBmin,还用于得到最优GLBbest后,迭代次数+1,当未满足迭代条件时,触发信息素浓度计算模块更新信息素浓度并触发资源契合度计算模块更新资源契合度,还依次触发物理机选择模块、分配路径获得模块、全局负载均衡指标计算模块进行下一轮迭代;当满足迭代条件时,输出最优GLBbest,结束。
在一些实施例中,***还包括初始化模块,用于基于蚁群算法进行初始化,将M个虚拟机以蚂蚁形式随机放置在M个物理机上;假定各路径上的信息素量相等,信息素浓度为一常数,初始时刻信息素增量为0,并设定迭代次数。
在一些实施例中,***还包括物理机选择策略模块,用于在所述物理机选择模块执行前,基于期望判断条件确定物理机的分配方式,当判断每个物理机随机生成的随机期望Er>选择期望E时,触发所述物理机选择模块基于蚁群算法的转移概率公式,计算每个物理机的选择概率;将选择概率最大的物理机选为当前虚拟机选择的下一个物理机;当判断每个物理机随机生成的随机期望Er≤选择期望E时,随机选择物理机作为当前虚拟机选择的下一个物理机,其中,E为预设值,0<E<1,0<Er<1。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例而非限制性的方式示出本公开的若干实施例。
图1示出了本公开实施例的一种云计算负载均衡方法的流程图;
图2示出了本公开实施例的一种云计算负载均衡***的***框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。
资源调度在云计算的技术管理中占据着重要的地位,云计算的数据中心由很多的资源域组成,同是一个调度域中由许多台物理机组成,一台物理机又有CPU、内存和带宽等不同属性指标。云计算中大量的资源信息存储与管理都是用这些物理机进行运算达到的。
传统的对于虚拟机(Virtual Machine, VM)资源分配与部署的研究都是基于单方面的考虑,忽略了一些用户和云服务提供商所关心的参数。
蚁群优化算法是一种启发式的群智能算法,由蚁群无智能或者有轻微智能的个体,通过相互协作而体现出智能行为,从而为求解复杂问题提供了一个新的可能,该算法最早被用于求解旅行商问题。现有技术在蚂蚁分配时仅以信息素浓度或结合其他弱指标进行判断,无法合理分配虚拟机,资源利用率不够高。
基于此,本公开实施例公开了一种云计算负载均衡方法,对蚁群算法中用到的启发式信息进行特定设计,提出了基于VM(Virtual Machine,虚拟机)、PM(physicalmachine,物理机)资源契合度的启发式算法,能在时间复杂度较低的情况下,尽可能的获得最理想的解。同时,还提出了基于CPU、内存和带宽的全局负载均衡指标,便于为每一台虚拟机找到适当的分配,以平衡所有物理机的多维资源使用。
图1示出了本公开实施例的一种云计算负载均衡方法的流程图。方法包括:
步骤S01,基于蚁群算法,每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机,直到遍历完所有物理机得到分配路径;
其中,所述资源契合度FOR通过公式:
Figure SMS_17
计算获得,/>
Figure SMS_18
为虚拟机的需求资源向量,/>
Figure SMS_19
为物理机的剩余资源向量, />
Figure SMS_20
分别为虚拟机的需求资源CPU、内存、带宽, />
Figure SMS_21
分别为物理机的剩余资源CPU、内存、带宽;
步骤S02,当所有虚拟机完成步骤S01后,获得所有虚拟机的分配路径;对每条分配路径进行全局负载均衡指标GLB计算;
其中,所述全局负载均衡指标GLB通过公式:GLB=Ec+Em+Eb计算获得,
Ec为CPU的资源均衡率,
Figure SMS_22
Em为内存的资源均衡率,
Figure SMS_23
Eb为带宽的资均衡率,
Figure SMS_24
n表示物理机的个数;
步骤S03,从步骤S02中此轮迭代所有分配路径的GLB中获得最小GLBmin,当初次迭代时,将GLBmin作为最优GLBbest;当非初次迭代时,比较本轮GLBmin与上一轮GLBbest的大小,若GLBmin不小于GLBbest时,本轮GLBbest为上一轮GLBbest,否则本轮GLBbest为本轮GLBmin;得到最优GLBbest后,迭代次数+1,当未满足迭代条件时,更新信息素浓度和资源契合度,返回步骤S01进行下一轮迭代,当满足迭代条件时,输出最优GLBbest,结束。
本公开实施例的方法应用于基础设施即服务IaaS平台调度***中,可由云计算平台执行。本公开实施例能解决集群中物理机负载均衡问题,旨在以一种有效的方式提升资源利用率。具体地,本公开实施例的方法应用于申请人的智能动态调度***(IntelligentDynamic Resource Scheduler,IDRS)中,IDRS是所述云计算平台实现对虚拟机以及物理机的智能管理的重要组成部分。此***可以动态的监控虚拟机及物理机的使用情况,包括CPU、内存等资源的使用情况,根据监控结果动态智能地对虚拟机进行重新调度,实现物理服务器的资源合理分配及保证虚拟机的性能。
在所述步骤S01中,所述步骤S01中每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机的过程如下:基于蚁群算法的转移概率公式,计算每个物理机的选择概率;将选择概率最大的物理机选为当前虚拟机选择的下一个物理机。
具体转移概率公式如下:
Figure SMS_25
其中,
Figure SMS_26
为第k只蚂蚁(代表虚拟机)在路径 (i, j) 上物理机的选择概率;
Figure SMS_27
标识蚂蚁k下一步允许选择的物理机;/>
Figure SMS_28
为信息启发式因子(常量),表示轨迹的相对重要性;/>
Figure SMS_29
为期望启发式因子(常量),表示能见度的相对重要性;/>
Figure SMS_30
为启发式信息,本公开实施例的启发式信息采用资源契合度FOR,每次迭代后资源契合度会更新;/>
Figure SMS_31
为信息素浓度,初始信息素浓度为常数C,之后在每次迭代后更新。
在一次迭代中,每一只蚂蚁从一个随机的虚拟机开始,然后逐个的将所有待分配的虚拟机分配给某一个物理机(假设有M台待分配的虚拟机,则完成此步骤,每只蚂蚁需要M步)。在蚂蚁M对虚拟机Vi进行分配时,影响蚂蚁做出判断的因素有两个:一是信息素浓度(Pheromone Density, PD),二是资源契合度(FitOf Resources, FOR)。其中信息素浓度是之前的M-1只蚂蚁将虚拟机分配到物理机Pj的记录矩阵,这个值越大,说明之前的蚂蚁更喜欢把虚拟机Vi分配给物理机Pj;资源契合度的意义在于将虚拟机分配给物理机之后,若物理机剩余资源与虚拟机所需资源的契合度越高,就越相似,说明该物理机在虚拟机分配需求到来的时候,有更大的概率能够满足这个需求。
FOR的计算实则是计算虚拟机的需求资源向量与物理机的剩余资源向量两者的余弦相似度。这个值越大,说明两者之间的夹角越小,资源供需约相似,资源契合度也就越高,相应的,蚂蚁在进行物理机分配任务时,就会越倾向于放置在该物理机上。
在实际场景中,资源的需求可能会随着时间而变化,因此可以通过假设这些需求满足均匀分布来模拟真是的环境,这样我们就可以考虑平均值。即,所述资源契合度公式是基于需求资源向量满足均匀分布构建的。
但是在分配虚拟机,若仅仅根据PD和FOR让蚂蚁自主的去选择概率最高的物理机去分配,会很快的陷入局部足有,造成欠拟合的后果。因此我们还需要对物理机的选择策略进行设计。
为此,所述步骤S01还包括在所述每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机步骤之前,基于期望判断条件确定物理机的分配方式,具体为:
为每个物理机随机生成一个随机期望Er
当判断随机期望Er>选择期望E时,基于蚁群算法的转移概率公式,计算每个物理机的选择概率;将选择概率最大的物理机选为当前虚拟机选择的下一个物理机;当判断随机期望Er≤选择期望E时,随机选择物理机作为当前虚拟机选择的下一个物理机,其中,E为预设值,0<E<1,0<Er<1。
本公开实施例在基本的蚁群优化中引入了改进的物理机选择策略,有助于改善算法本身过早收敛或容易陷入局部最优解的问题。
在步骤S02中,CPU的资源均衡率Ec、内存的资源均衡率Em、带宽的资均衡率Eb已在IDRS***中定义。IDRS设置分配、资源利用的资源均衡接口,云计算平台自所述接口获得上述数据。
根据对GLB指标的定义可以看出,越小的GLB指标意味着更好的分配方式。通过该方法计算,可以得到全局负载均衡指标,便于为每一台虚拟机找到适当的分配,以平衡所有物理机的多维资源使用,这就避免了某些物理机过载,而其他物理机未被使用的情况发生。
在步骤S03中,计算本轮迭代过程中最优GLBbest,在迭代结束后获得多轮迭代过程中的最优GLBbest。在初次迭代时,可将本轮迭代过程中最小GLBmin作为最优GLBbest。在后续迭代过程中,每轮迭代过程中均具有最小GLBmin,通过比较上一轮的最优GLBbest,继而获得两者最小值作为本轮最优GLBbest。其中,所述迭代条件可以为判断是否达到迭代次数的条件。
在迭代完毕后,输出经过多轮迭代后的最优GLBbest。根据该最优GLBbest获得其所对应的分配路径,虚拟机与物理机的分配方式基于此最优GLBbest对应的分配路径进行分配。在进行分配任务时,所有的蚂蚁可以并行的执行此任务,以降低算法在迭代过程中所需要的时间成本。
所述信息素浓度更新按如下公式进行:方式如下:
Figure SMS_32
其中,
Figure SMS_33
表示信息素挥发系数,/>
Figure SMS_34
表示信息素残留因子,/>
Figure SMS_35
;/>
Figure SMS_36
表示第 k 只蚂蚁在本次迭代过程中留在路径 (i, j) 上的信息素。
所述资源契合度的更新通过自资源均衡接口,再次获得新的CPU的资源均衡率Ec、内存的资源均衡率Em、带宽的资均衡率Eb后,计算新的资源契合度。
在执行下一轮迭代的步骤S01时,资源契合度和信息素浓度为更新后的值。
本公开实施例的方法还包括步骤S00,基于蚁群算法进行初始化,将M个虚拟机以蚂蚁形式随机放置在M个物理机上;假定各路径上的信息素量相等,信息素浓度为一常数,初始时刻信息素增量为0,并设定迭代次数。
本公开实施例还提供一种云计算负载均衡***,如图2,***包括物理机选择模块、信息素浓度计算模块、资源契合度计算模块、分配路径获得模块、全局负载均衡指标计算模块、负载均衡模块。所述***基于本公开实施例的云计算负载均衡方法实现。
物理机选择模块,用于基于蚁群算法,每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机,直到遍历完所有物理机得到分配路径。
信息素浓度计算模块,用于计算信息素浓度。
所述资源契合度计算模块,用于通过公式:
Figure SMS_37
计算每个物理机的资源契合度FOR,/>
Figure SMS_38
为虚拟机的需求资源向量,/>
Figure SMS_39
为物理机的剩余资源向量, />
Figure SMS_40
分别为虚拟机的需求资源CPU、内存、带宽, />
Figure SMS_41
分别为物理机的剩余资源CPU、内存、带宽。
所述分配路径获得模块,用于当所有虚拟机通过所述物理机选择模块选择物理机后,获得所有虚拟机的分配路径。
所述全局负载均衡指标计算模块,用于对每条分配路径进行全局负载均衡指标GLB计算;所述全局负载均衡指标GLB通过公式:GLB=Ec+Em+Eb计算获得,Ec为CPU的资源均衡率,
Figure SMS_42
Em为内存的资源均衡率,
Figure SMS_43
Eb为带宽的资均衡率,
Figure SMS_44
n表示物理机的个数。
所述负载均衡模块,用于从所述全局负载均衡指标计算模块中此轮迭代所有分配路径的GLB中获得最小GLBmin,还用于当初次迭代时,将GLBmin作为最优GLBbest;当非初次迭代时,比较本轮GLBmin与上一轮GLBbest的大小,若GLBmin不小于GLBbest时,本轮GLBbest为上一轮GLBbest,否则本轮GLBbest为本轮GLBmin,还用于得到最优GLBbest后,迭代次数+1,当未满足迭代条件时,触发信息素浓度计算模块更新信息素浓度并触发资源契合度计算模块更新资源契合度,还依次触发物理机选择模块、分配路径获得模块、全局负载均衡指标计算模块进行下一轮迭代;当满足迭代条件时,输出最优GLBbest,结束。
本公开实施例***还包括物理机选择策略模块,用于在所述物理机选择模块执行前,基于期望判断条件确定物理机的分配方式,当判断每个物理机随机生成的随机期望Er>选择期望E时,触发所述物理机选择模块基于蚁群算法的转移概率公式,计算每个物理机的选择概率;将选择概率最大的物理机选为当前虚拟机选择的下一个物理机;当判断每个物理机随机生成的随机期望Er≤选择期望E时,随机选择物理机作为当前虚拟机选择的下一个物理机,其中,E为预设值,0<E<1,0<Er<1。
本公开实施例的***还包括初始化模块,用于基于蚁群算法进行初始化,将M个虚拟机以蚂蚁形式随机放置在M个物理机上;假定各路径上的信息素量相等,信息素浓度为一常数,初始时刻信息素增量为0,并设定迭代次数。
相对与现有技术而言,本公开实施例所具有的优点和效果主要有以下四点:1.由于虚拟机分配问题是一个NP-Hard(指所有NP问题都能在多项式时间复杂度内归约到的问题)的问题,因此传统的先入先出或是循环算法并不适用于解决这种问题,而本公开实施例则可以很好的适配虚拟机分配场景,通过不断的迭代,寻找全局最优解,制定合适的分配方案;2.现有的技术对于负载均衡的衡量标准相对片面,本公开实施例结合IDRS***中的部分指标构成全局负载均衡指标,能够合理分配资源;3.现有的技术在蚂蚁分配时仅以信息素浓度或结合其他弱指标进行判断,本公开实施例基于VM、PM进行全面分配;4.现有的技术并没有制定合适的分配策略,本公开实施例通过设定选择期望,能够有效的解决蚁群优化算法过早收敛、易陷入局部最优解的瓶颈问题。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种云计算负载均衡方法,其特征在于,包括:
步骤S01,基于蚁群算法,每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机,直到遍历完所有物理机得到分配路径;
其中,所述资源契合度FOR通过公式:
Figure QLYQS_1
计算获得,/>
Figure QLYQS_2
为虚拟机的需求资源向量,/>
Figure QLYQS_3
为物理机的剩余资源向量,/>
Figure QLYQS_4
分别为虚拟机的需求资源CPU、内存、带宽, />
Figure QLYQS_5
分别为物理机的剩余资源CPU、内存、带宽;
步骤S02,当所有虚拟机完成步骤S01后,获得所有虚拟机的分配路径;对每条分配路径进行全局负载均衡指标GLB计算;
其中,所述全局负载均衡指标GLB通过公式:GLB=Ec+Em+Eb计算获得,
Ec为CPU的资源均衡率,
Figure QLYQS_6
Em为内存的资源均衡率,
Figure QLYQS_7
Eb为带宽的资均衡率,
Figure QLYQS_8
n表示物理机的个数;
步骤S03,从步骤S02中此轮迭代所有分配路径的GLB中获得最小GLBmin,当初次迭代时,将GLBmin作为最优GLBbest;当非初次迭代时,比较本轮GLBmin与上一轮GLBbest的大小,若GLBmin不小于GLBbest时,本轮GLBbest为上一轮GLBbest,否则本轮GLBbest为本轮GLBmin;得到最优GLBbest后,迭代次数+1,当未满足迭代条件时,更新信息素浓度和资源契合度,返回步骤S01进入下一轮迭代,当满足迭代条件时,输出最优GLBbest,结束。
2.根据权利要求1所述的一种云计算负载均衡方法,其特征在于,所述步骤S01中每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机的过程如下:
基于蚁群算法的转移概率公式,计算每个物理机的选择概率;
将选择概率最大的物理机选为当前虚拟机选择的下一个物理机。
3.根据权利要求1所述的一种云计算负载均衡方法,其特征在于,所述步骤S01还包括在所述每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机步骤之前,基于期望判断条件确定物理机的分配方式,具体为:
为每个物理机随机生成一个随机期望Er
当判断随机期望Er >选择期望E时,基于蚁群算法的转移概率公式,计算每个物理机的选择概率;将选择概率最大的物理机选为当前虚拟机选择的下一个物理机;当判断随机期望Er≤选择期望E时,随机选择物理机作为当前虚拟机选择的下一个物理机,其中,E为预设值,0<E<1,0<Er<1。
4.根据权利要求1所述的一种云计算负载均衡方法,其特征在于,所述资源契合度公式是基于需求资源向量满足均匀分布构建的。
5.根据权利要求1所述的一种云计算负载均衡方法,其特征在于,所述步骤S01资源契合度公式中虚拟机、物理机的需求资源CPU、内存、带宽,以及所述步骤S02中物理机CPU分配率、内存分配率、带宽分配率通过调度***动态监控虚拟机、物理机获得。
6.根据权利要求1所述的一种云计算负载均衡方法,其特征在于,还包括步骤S00,基于蚁群算法进行初始化,将M个虚拟机以蚂蚁形式随机放置在M个物理机上;假定各路径上的信息素量相等,信息素浓度为一常数,初始时刻信息素增量为0,并设定迭代次数。
7.根据权利要求1所述的一种云计算负载均衡方法,其特征在于,应用于基础设施即服务IaaS平台调度***。
8.一种云计算负载均衡***,其特征在于,包括:
物理机选择模块,用于基于蚁群算法,每个虚拟机根据每个物理机的信息素浓度和资源契合度确定每个虚拟机选择的下一个物理机,直到遍历完所有物理机得到分配路径;
信息素浓度计算模块,用于计算信息素浓度;
资源契合度计算模块,用于通过公式:
Figure QLYQS_9
计算每个物理机的资源契合度FOR,/>
Figure QLYQS_10
为虚拟机的需求资源向量,/>
Figure QLYQS_11
为物理机的剩余资源向量,/>
Figure QLYQS_12
分别为虚拟机的需求资源CPU、内存、带宽, />
Figure QLYQS_13
分别为物理机的剩余资源CPU、内存、带宽;
分配路径获得模块,用于当所有虚拟机通过所述物理机选择模块选择物理机后,获得所有虚拟机的分配路径;
全局负载均衡指标计算模块,用于对每条分配路径进行全局负载均衡指标GLB计算;所述全局负载均衡指标GLB通过公式:GLB=Ec+Em+Eb计算获得,
Ec为CPU的资源均衡率,
Figure QLYQS_14
Em为内存的资源均衡率,
Figure QLYQS_15
Eb为带宽的资均衡率,
Figure QLYQS_16
n表示物理机的个数;
负载均衡模块,用于从所述全局负载均衡指标计算模块中此轮迭代所有分配路径的GLB中获得最小GLBmin,还用于当初次迭代时,将GLBmin作为最优GLBbest;当非初次迭代时,比较本轮GLBmin与上一轮GLBbest的大小,若GLBmin不小于GLBbest时,本轮GLBbest为上一轮GLBbest,否则本轮GLBbest为本轮GLBmin,还用于得到最优GLBbest后,迭代次数+1,当未满足迭代条件时,触发信息素浓度计算模块更新信息素浓度并触发资源契合度计算模块更新资源契合度,还依次触发物理机选择模块、分配路径获得模块、全局负载均衡指标计算模块进行下一轮迭代;当满足迭代条件时,输出最优GLBbest,结束。
9.根据权利要求8所述的一种云计算负载均衡***,其特征在于,还包括初始化模块,用于基于蚁群算法进行初始化,将M个虚拟机以蚂蚁形式随机放置在M个物理机上;假定各路径上的信息素量相等,信息素浓度为一常数,初始时刻信息素增量为0,并设定迭代次数。
10.根据权利要求8所述的一种云计算负载均衡***,其特征在于,还包括物理机选择策略模块,用于在所述物理机选择模块执行前,基于期望判断条件确定物理机的分配方式,当判断每个物理机随机生成的随机期望Er >选择期望E时,触发所述物理机选择模块基于蚁群算法的转移概率公式,计算每个物理机的选择概率;将选择概率最大的物理机选为当前虚拟机选择的下一个物理机;当判断每个物理机随机生成的随机期望Er≤选择期望E时,随机选择物理机作为当前虚拟机选择的下一个物理机,其中,E为预设值,0<E<1,0<Er<1。
CN202310639183.0A 2023-06-01 2023-06-01 一种云计算负载均衡方法、*** Active CN116366658B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310639183.0A CN116366658B (zh) 2023-06-01 2023-06-01 一种云计算负载均衡方法、***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310639183.0A CN116366658B (zh) 2023-06-01 2023-06-01 一种云计算负载均衡方法、***

Publications (2)

Publication Number Publication Date
CN116366658A true CN116366658A (zh) 2023-06-30
CN116366658B CN116366658B (zh) 2023-08-04

Family

ID=86934978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310639183.0A Active CN116366658B (zh) 2023-06-01 2023-06-01 一种云计算负载均衡方法、***

Country Status (1)

Country Link
CN (1) CN116366658B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116627663A (zh) * 2023-07-25 2023-08-22 山东万博科技股份有限公司 一种数据中心运维管理方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090271472A1 (en) * 2008-04-28 2009-10-29 Scheifler Robert W System and Method for Programmatic Management of Distributed Computing Resources
CN107491341A (zh) * 2017-08-31 2017-12-19 福州大学 一种基于粒子群优化的虚拟机分配方法
CN109933425A (zh) * 2019-01-31 2019-06-25 南京邮电大学 一种基于改进蚁群算法的云计算虚拟机放置方法
CN110362380A (zh) * 2019-06-17 2019-10-22 东南大学 一种面向网络靶场的多目标优化虚拟机部署方法
CN110362379A (zh) * 2019-06-10 2019-10-22 南京理工大学 基于改进蚁群算法的虚拟机调度方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090271472A1 (en) * 2008-04-28 2009-10-29 Scheifler Robert W System and Method for Programmatic Management of Distributed Computing Resources
CN107491341A (zh) * 2017-08-31 2017-12-19 福州大学 一种基于粒子群优化的虚拟机分配方法
CN109933425A (zh) * 2019-01-31 2019-06-25 南京邮电大学 一种基于改进蚁群算法的云计算虚拟机放置方法
CN110362379A (zh) * 2019-06-10 2019-10-22 南京理工大学 基于改进蚁群算法的虚拟机调度方法
CN110362380A (zh) * 2019-06-17 2019-10-22 东南大学 一种面向网络靶场的多目标优化虚拟机部署方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116627663A (zh) * 2023-07-25 2023-08-22 山东万博科技股份有限公司 一种数据中心运维管理方法及***
CN116627663B (zh) * 2023-07-25 2023-11-10 山东万博科技股份有限公司 一种数据中心运维管理方法及***

Also Published As

Publication number Publication date
CN116366658B (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
WO2022262167A1 (zh) 集群资源调度方法及装置、电子设备和存储介质
CN111431961B (zh) 一种云数据中心的节能任务分配方法
US9582328B1 (en) Allocation of resources in computing environments
CN110069341B (zh) 边缘计算中结合功能按需配置的有依赖关系任务的调度方法
CN116366658B (zh) 一种云计算负载均衡方法、***
CN112073452B (zh) 一种能源有效和资源受限的移动边缘计算任务分配方法
CN115408152A (zh) 一种自适应资源匹配获取方法及***
Ma et al. Dependency-aware data locality for MapReduce
CN110362379A (zh) 基于改进蚁群算法的虚拟机调度方法
Panneerselvam et al. An approach to optimise resource provision with energy-awareness in datacentres by combating task heterogeneity
CN112954012B (zh) 基于负载的改进模拟退火算法的云任务调度方法
CN110743164B (zh) 一种用于降低云游戏中响应延迟的动态资源划分方法
Zhuang et al. Impact of instance seeking strategies on resource allocation in cloud data centers
Cohen et al. Parallel VM deployment with provable guarantees
Shrivastava et al. An energy efficient VM allocation using best fit decreasing minimum migration in cloud environment
CN116880968A (zh) 一种作业调度方法及调度***
CN107528914B (zh) 数据分片的资源征用调度方法
Asan Baker Kanbar Modern load balancing techniques and their effects on cloud computing
CN114741160A (zh) 一种基于平衡能耗与服务质量的动态虚拟机整合方法和***
Chalvantzis et al. BBQ: Elastic MapReduce over cloud platforms
Kollu et al. Eagle Strategy with Cauchy Mutation Particle Swarm Optimization for Energy Management in Cloud Computing.
Chen et al. Orchid: An Online Learning based Resource Partitioning Framework for Job Colocation with Multiple Objectives
Barzegar et al. Heuristic algorithms for task scheduling in Cloud Computing using Combined Particle Swarm Optimization and Bat Algorithms
Khojasteh et al. Characterizing energy consumption of IaaS clouds in non-saturated operation
Dong-rui Cluster analysis algorithm based on key data integration for cloud computing

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