CN103970612A - 一种基于虚拟机预分割的负载均衡方法和装置 - Google Patents
一种基于虚拟机预分割的负载均衡方法和装置 Download PDFInfo
- Publication number
- CN103970612A CN103970612A CN201410188636.3A CN201410188636A CN103970612A CN 103970612 A CN103970612 A CN 103970612A CN 201410188636 A CN201410188636 A CN 201410188636A CN 103970612 A CN103970612 A CN 103970612A
- Authority
- CN
- China
- Prior art keywords
- task
- virtual machine
- capacity
- physical machine
- load
- 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.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于虚拟机任务预分割的负载均衡方法与装置,包括:(1)初始化虚拟机任务、物理机资源;(2)根据虚拟机任务信息,计算完工时间(makespan)和容量_完工时间(capacity_makespan);(3)计算优化值P0和每个任务的分割长度;(4)分割后的新的任务序列;(5)依次将任务分配到capacity_makespan最小且容量足够的物理机上;(6)计算各个指标,更新资源状态信息并对物理机资源进行升序排序(按照capacity_makespan),在与知名的LPT方法、目前业界广泛采用的先分配再迁移方法,以及其他几种常用方法的对比中发现,发明人提出的方法和装置具有以下突出优势:(1)负载均衡效果优于传统调度方法;(2)预先分割任务方式能降低迁移造成的影响;(3)系统响应速度快。
Description
技术领域
本发明涉及通信技术中的云计算领域,特别涉及一种实现数据中心负载均衡的方法、装置及其应用。
背景技术
随着云计算技术的不断发展,云计算数据中心的规模越来越大,云服务提供商需要保证数据中心的服务性能和资源可靠性,达到这一目标的重要途径,就是通过负载均衡策略。
传统的离线负载均衡策略中,并没有考虑任务的迁移,著名的传统调度方法是LPT(Longest Processing Time first)方法,它能达到的算法近似比为4/3(LPT方法的最坏情况与最优方法之间的比值)。而随着技术的发展,通过虚拟化技术,迁移的思想得到了应用,并在负载均衡和交通管制中成为了流行的解决方案。
在实现本发明的过程中,针对虚拟机预定业务,发明人发现已有技术中存在如下问题:通过先分配再迁移的策略,大多数时候仍难以达到预定的均衡效果,并且迁移的时间开销可能很长。考虑到这些,发明人提出了一种任务预分割的策略;通过设置每个任务处理时间和需求容量的上限,并据此对任务做预分割处理,再通过调度分配,达到预定的负载均衡效果;采用创新的预先分割任务方式能预先做好准备以便最大限度地降低迁移可能造成的业务中断的影响;系统响应速度极快,与任务数量成线性复杂度,能高效支持云数据中心大规模任务调度。
发明内容
本发明实施例采用的技术方案如下:
技术方案内容具体体现在一种实现数据中心负载均衡的方法,该方法是一个负载均衡方法,能够很好地实现数据中心的负载均衡,该方法由调度中心执行。为了实现该负载均衡方法,本发明先对方法的关键因素进行说明:
对于一组虚拟机预约任务,考虑有数据中心有m台物理机可提供资源,并用 OPT表示J个虚拟机预约任务完成调度后的最优解,则有以下定义:
物理机i上的capacity_makespan定义为:
在任意的虚拟机任务和物理机的调度分配过程中,使用A(i)表示分配在物理机i上的一组任务。在这种分配情形下,物理机i上总的负载为每个虚拟机任务请求的容量与其持续时间的乘积之和,即capacity_makespan(缩写为CM),即
CMi=∑j∈A(i)djtj (公式1)
dj表示虚拟机j从物理机上所需的容量,tj表示虚拟机j的持续时间。而负载均衡的优化目标则在于最小化所有物理机上的最大capacity_makespan
另外还有定义:
P0是OPT的下界,附图1展示了预分割调度方法的流程图,附图2展示了预分割调度方法的伪代码。
预分割方法:调度开始之后,方法首先通过公式(2)计算分割值,再结合分割数的值k,获得每次分割后的capacity_makespan的长度(表明虚拟机任务可以在物理机上持续运行的capacity_makesapn长度),在预分割方法中,如果虚拟机任务的CM值大于虚拟机任务则会被等分成多个的子任务(分割后的最后一个子任务capacity_makespan长度可能小于该值),分割操作完成后,依次寻找capacity_makespan值最小且具有足够剩余资源的物理机,并将任务分配到物理机上,直到所有的请求都完成分配。最后计算分割次数和其他负载均衡指标的数值。
这种预先对虚拟机任务进行分割的方法,通过预先准备迁移的源节点和目标节点,能够达到快速响应,最大限度地降低迁移对业务可能造成的中断影响,实现预定的负载均衡效果。
附图内容
图1为本发明实施例一提供流程图。
图2为本发明的一个应用场景。
图3为本发明实施例一提供的方法伪代码。
图4是实施例三提供的装置结构示意图。
图5为本发明应用场景中通过网页方式提交虚拟机任务的图例。
图6为本发明应用场景中通过网页方式反馈调度信息的图例。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为使本发明技术方案的优点更加清楚,下面结合附图1和实施例对本发明作详细说明。
实施例一,如图1所示,本实施例包括以下步骤:
步骤101:初始化虚拟机物理机。包括生成虚拟机任务信息,数据中心内物理机信息,所有虚拟机任务信息在初始化的时候全部一次生成,包括任务的编号、开始时间、结束时间、虚拟机类型。数据中心物理机信息包括物理机编号、物理机数量、物理机类型。物理机初始状态时每个时隙的剩余资源是物理机的总资源量,且开始时物理机都处于开启状态。
在本实施例中,虚拟机任务序列内容如表1所示,开始时间和结束时间的单位为每个时隙(可以看成是秒或者分),容量需求的单位是每单位容量,和物理机提供的容量单位一致。
任务编号 | 开始时间 | 结束时间 | 容量需求 |
1 | 0 | 6 | 4 |
2 | 1 | 4 | 2 |
3 | 3 | 8 | 8 |
4 | 3 | 6 | 8 |
5 | 4 | 8 | 4 |
6 | 5 | 9 | 4 |
表1虚拟机任务序列实例
由表1可以计算得到,总容量需求为30,因此可尝试使用2台容量为16的物理 机作为提供资源者。物理机信息如表2所示。
物理机编号 | 容量需求 |
1 | 16 |
2 | 16 |
表2物理机信息实例
步骤102:根据虚拟机任务信息,计算出完工时间(makespan)和容量_完工时间(capacity_makespan),得到表3。
编号 | 开始时间 | 结束时间 | 容量需求 | makespan | capacity_makespan |
1 | 0 | 6 | 4 | 6 | 24 |
2 | 1 | 4 | 2 | 3 | 6 |
3 | 3 | 8 | 8 | 5 | 40 |
4 | 3 | 6 | 8 | 3 | 24 |
5 | 4 | 8 | 4 | 4 | 16 |
6 | 5 | 9 | 4 | 4 | 16 |
表3通过表1计算得到makespan和capacity_makespan
步骤103:根据公式(2)计算出P0和分割的长度
在本实施例中,J=6,m=2,使用k=4,于是有
步骤104:由计算得到分割任务长度可以得到表4中分割后的新任务序列,分割后任务的数由6变为10,分割次数为3:
表4分割后任务序列
步骤105:将新任务序列依次分配到CM数值最小且具有足够剩余资源的物理机上,分配流程和分配对应关系如表5所示:
CM(PM1) | CM(PM2) | 待分配虚拟机编号 | 分配到的物理机编号 |
0 | 0 | 1 | 1 |
16 | 0 | 2 | 2 |
16 | 8 | 3 | 2 |
16 | 14 | 4 | 2 |
16 | 30 | 5 | 1 |
32 | 30 | 6 | 2 |
32 | 38 | 7 | 1 |
48 | 38 | 8 | 2 |
48 | 46 | 9 | 2 |
48 | 62 | 10 | 1 |
64 | 62 |
表5实例中的分配流程和对应关系
步骤106:分配之后,计算出各个指标的结果值,各个指标的值如表6所示。
拒绝个数 | 利用率 | max(makespan) | max(capacity_makespan) |
0 | 0.9615385 | 13 | 64 |
表6实例中各个指标的结果数值
上述实施例展示了预分割方法的具体步骤例子,此外,如图2所示,该实施方法可以应用在更加宏观的应用场景中,图2所示的应用场景为用户向数据中心发起资源请求,请求以虚拟机的形式产生,请求的规格配置可以在网页中完成,虚拟机占用的资源由数据中心的物理机实体资源提供。
应用场景可以视为由三个部分组成:用户组件,调度中心组件和数据中心组件。用户组件表示用户可以通过多种终端,如PC机、平板等向数据中心发起资源请求;调度中心组件接收到用户发起的请求后,即可使用本发明中提出的负载均衡方法,将用户的请求与数据中心中的资源进行匹配,并将请求-资源匹配的结果反馈给用户;数据中心组件则为用户提供真实的资源。
用户应用场景的实现步骤,可以划分为以下几个步骤:
步骤201:发起任务请求,用户可以通过如图5所示的网页界面提交用户的资源请求,包括所需资源的类型,资源的容量大小以及持续的时间等。
步骤202:寻找合适资源,完成物理机资源的定位。
步骤203:调度分配任务,完成虚拟机任务与物理机资源的对应关系分配。
步骤204:更新资源信息,完成对系统中剩余资源的更新。
步骤205:反馈信息到用户,用户可以通过如图6所示的网页界面获取系统的调度反馈信息。
本专利发明中的提到方法,主要体现在步骤202~步骤204。
实施例二
为了说明本专利发明的方法的高效性,本实施例将该负载均衡方法与经典的负载均衡方法进行对比,包括轮询、迁移和Longest Processing Time first(LPT)。
实施例使用表1作为输入,分别给出上述常用方法执行结束后各指标的值, 如表7所示。从表7可以看出,专利发明的预分割负载均衡方法在利用率、最大makespan,最大capacity_makespan几个指标方面优于常用方法。
方法名称 | 拒绝个数 | 利用率 | 最大makespan | 最大capacity_makespan |
轮询 | 0 | 0.8333333 | 15 | 80 |
迁移 | 0 | 0.4901961 | 17 | 64 |
LPT | 0 | 0.8928571 | 14 | 70 |
预分割 | 0 | 0.9615385 | 13 | 64 |
表7几种负载均衡方法的指标数值对比
实施例三
本实施例详细描述专利所发明装置的使用方法。装置的模块划分如附图3所示,该装置的使用方法如下:
301、任务配置和模块。主要用于配置任务和资源信息(包括虚拟机类型和数量、数据中心物理机类型和数量的配置。
302、调度结果输出模块。完成了所有的调度过程后,将虚拟机任务和物理机对应的分配结果输出。
303、调度结果对比模块。输出度量指标的数值。
304、304、任务代理模块。根据虚拟机任务序列,计算分割值和分割长度,准备将任务进行分割。
305、任务生成模块。生成分割后的虚拟机任务序列。
306、任务分配模块。依次将任务序列中的任务分配到CM值最低且具有足够剩余容量的物理机上。
307、数据中心调度模块。对数据中心的物理机剩余资源进行更新,并对物理机序列进行排序。
308、资源管理模块。管理实体资源,如CPU,内存和网络带宽等。
在本发明的所有实施例中,所述物理服务器可以为普通PC机和刀片服务器,但不仅限于此。
本发明实施例提供的实现数据中心的负载均衡方法及装置可以适用于分布式多个数据中心的进行负载均衡,但不仅限于此。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种实现基于虚拟机任务预分割的负载均衡方法与装置,其特征在于:
针对预定虚拟机任务,进行一次调度时,首先将请求队列中的虚拟机任务请求按照本专利提出的预分割公式(2)进行任务分割,然后将任务队列中的任务取出,使用最小capacity_makespan优先的方式将任务分配到最符合要求的物理机上。
2.根据权利要求1所述的调度方法,预分割负载均衡调度方法的近似比为1+∈,其中该k值由预先确定的系统负载均衡目标确定,在负载均衡效果上优于传统方法,优于传统离线方法Longest Processing Time(LPT),优于当前业界广泛采用的先分配后迁移的方法。
3.根据权利要求1,本方案中提及的指标capacity_makespan具有如下特征:
不仅考虑所需资源的大小,还考虑资源占用的时间跨度,综合这两个因素来判断数据中心物理机负载的高低,本专利将该值的计算方式定义为占用的CPU大小乘以占用的时间长度;基于CPU容量需求和任务的执行(处理)时间确定capacity_makespan,这是本专利的一个关键创新,结合这两个因素使得系统的负载更加均衡,在公开文献中未发现将请求容量(简化为CPU)和任务处理时间之积综合起来考虑的方法。
4.根据权利要求2所述的预分割方法,预分割方法响应时间极快,算法复杂度为O(nlogm),其中n为虚拟机任务的数量,m为物理机数量:
物理机队列的采用优先级队列进行排序(CM值越低,优先级越高),对m个物理机首次排序所需的算法时间为O(m),之后队列的插入和变换操作需要O(logm),对于n个虚拟机任务而言,总的预分割方法的时间复杂度为O(nlogm)。
5.根据权利要求1中所述的负载均衡方法,用于实现数据中心之间负载均衡的装置,其特征在于:
该装置分为如下几个模块:任务配置和提交模块、调度结果模块,调度结果对比模块,任务代理模块,任务生成模块,任务分配模块,数据中心调度模块,资源管理模块。
6.根据权利要求1所述的负载均衡方法,应用该方法的应用场景可以为基于Web的场景,用户通过网页提交任务,并接受反馈信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410188636.3A CN103970612A (zh) | 2014-05-07 | 2014-05-07 | 一种基于虚拟机预分割的负载均衡方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410188636.3A CN103970612A (zh) | 2014-05-07 | 2014-05-07 | 一种基于虚拟机预分割的负载均衡方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103970612A true CN103970612A (zh) | 2014-08-06 |
Family
ID=51240144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410188636.3A Pending CN103970612A (zh) | 2014-05-07 | 2014-05-07 | 一种基于虚拟机预分割的负载均衡方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103970612A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648825A (zh) * | 2015-11-04 | 2017-05-10 | 田文洪 | 一种最大化虚拟机利润的调度方法与装置 |
WO2017133484A1 (zh) * | 2016-02-03 | 2017-08-10 | 阿里巴巴集团控股有限公司 | 虚拟机部署方法及装置 |
CN108710535A (zh) * | 2018-05-22 | 2018-10-26 | 中国科学技术大学 | 一种基于智能处理器的任务调度系统 |
CN110008026A (zh) * | 2019-04-09 | 2019-07-12 | 中国科学院上海高等研究院 | 基于额外预算均分的作业调度方法、装置、终端和介质 |
CN110727392A (zh) * | 2018-07-17 | 2020-01-24 | 阿里巴巴集团控股有限公司 | 一种云存储数据单元调度方法和装置 |
CN111580966A (zh) * | 2020-04-30 | 2020-08-25 | 西安石油大学 | 一种基于内存利用率的云任务调度方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013384A (zh) * | 2007-02-08 | 2007-08-08 | 浙江大学 | 一种基于模型的实时系统的可调度性分析方法 |
JP2008033577A (ja) * | 2006-07-28 | 2008-02-14 | Kddi Corp | マルチタスクスケジューリング機能搭載装置及びプログラム |
US20100251257A1 (en) * | 2009-03-30 | 2010-09-30 | Wooyoung Kim | Method and system to perform load balancing of a task-based multi-threaded application |
CN102708003A (zh) * | 2011-03-28 | 2012-10-03 | 闫德莹 | 一种云平台下的资源分配方法 |
CN103399800A (zh) * | 2013-08-07 | 2013-11-20 | 山东大学 | 基于Linux并行计算平台的动态负载均衡方法 |
US8661448B2 (en) * | 2011-08-26 | 2014-02-25 | International Business Machines Corporation | Logical partition load manager and balancer |
-
2014
- 2014-05-07 CN CN201410188636.3A patent/CN103970612A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008033577A (ja) * | 2006-07-28 | 2008-02-14 | Kddi Corp | マルチタスクスケジューリング機能搭載装置及びプログラム |
CN101013384A (zh) * | 2007-02-08 | 2007-08-08 | 浙江大学 | 一种基于模型的实时系统的可调度性分析方法 |
US20100251257A1 (en) * | 2009-03-30 | 2010-09-30 | Wooyoung Kim | Method and system to perform load balancing of a task-based multi-threaded application |
CN102708003A (zh) * | 2011-03-28 | 2012-10-03 | 闫德莹 | 一种云平台下的资源分配方法 |
US8661448B2 (en) * | 2011-08-26 | 2014-02-25 | International Business Machines Corporation | Logical partition load manager and balancer |
CN103399800A (zh) * | 2013-08-07 | 2013-11-20 | 山东大学 | 基于Linux并行计算平台的动态负载均衡方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648825A (zh) * | 2015-11-04 | 2017-05-10 | 田文洪 | 一种最大化虚拟机利润的调度方法与装置 |
WO2017133484A1 (zh) * | 2016-02-03 | 2017-08-10 | 阿里巴巴集团控股有限公司 | 虚拟机部署方法及装置 |
CN107038059A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 虚拟机部署方法及装置 |
US10740194B2 (en) | 2016-02-03 | 2020-08-11 | Alibaba Group Holding Limited | Virtual machine deployment method and apparatus |
CN108710535A (zh) * | 2018-05-22 | 2018-10-26 | 中国科学技术大学 | 一种基于智能处理器的任务调度系统 |
CN110727392A (zh) * | 2018-07-17 | 2020-01-24 | 阿里巴巴集团控股有限公司 | 一种云存储数据单元调度方法和装置 |
CN110727392B (zh) * | 2018-07-17 | 2023-07-14 | 阿里巴巴集团控股有限公司 | 一种云存储数据单元调度方法和装置 |
CN110008026A (zh) * | 2019-04-09 | 2019-07-12 | 中国科学院上海高等研究院 | 基于额外预算均分的作业调度方法、装置、终端和介质 |
CN111580966A (zh) * | 2020-04-30 | 2020-08-25 | 西安石油大学 | 一种基于内存利用率的云任务调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103970612A (zh) | 一种基于虚拟机预分割的负载均衡方法和装置 | |
US10243872B2 (en) | Management of storage cluster performance with hybrid workloads | |
CN109039954B (zh) | 多租户容器云平台虚拟计算资源自适应调度方法及系统 | |
US9367359B2 (en) | Optimized resource management for map/reduce computing | |
CN108170530B (zh) | 一种基于混合元启发式算法的Hadoop负载均衡任务调度方法 | |
CN102307133A (zh) | 一种公有云平台虚拟机调度方法 | |
US11055139B2 (en) | Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster | |
CN103795804A (zh) | 存储资源调度方法及存储计算系统 | |
CN110209494A (zh) | 一种面向大数据的分布式任务调度方法及Hadoop集群 | |
CN103853618A (zh) | 基于截止日期驱动的云系统代价最小化资源分配方法 | |
CN111966495B (zh) | 数据处理方法和装置 | |
CN116134448A (zh) | 使用局部敏感散列的联合机器学习 | |
Li et al. | An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters | |
CN102609303A (zh) | MapReduce系统的慢任务调度方法和装置 | |
CN107864211A (zh) | 集群资源调度方法及系统 | |
CN109710406A (zh) | 数据分配及其模型训练方法、装置、及计算集群 | |
CN107070965B (zh) | 一种虚拟化容器资源下的多工作流资源供给方法 | |
CN104618480A (zh) | 基于网络链路利用率驱动的云系统资源分配方法 | |
Shabeera et al. | Optimising virtual machine allocation in MapReduce cloud for improved data locality | |
CN109285015B (zh) | 一种虚拟资源的分配方法及系统 | |
Aladwani | Impact of selecting virtual machine with least load on tasks scheduling algorithms in cloud computing | |
CN113608858A (zh) | 一种基于MapReduce架构的数据同步用块任务执行系统 | |
CN103617083A (zh) | 存储调度方法和系统、作业调度方法和系统及管理节点 | |
CN107454137B (zh) | 一种在线业务按需服务的方法、装置与设备 | |
KR20230161143A (ko) | 인공지능 추론 서비스 방법, 및 이에 적용되는 서비스장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140806 |
|
WD01 | Invention patent application deemed withdrawn after publication |