CN109643247A - 用于市场导向的混合云基础架构的多标准自适应调度 - Google Patents
用于市场导向的混合云基础架构的多标准自适应调度 Download PDFInfo
- Publication number
- CN109643247A CN109643247A CN201680088575.0A CN201680088575A CN109643247A CN 109643247 A CN109643247 A CN 109643247A CN 201680088575 A CN201680088575 A CN 201680088575A CN 109643247 A CN109643247 A CN 109643247A
- Authority
- CN
- China
- Prior art keywords
- service
- sla
- cost
- value
- timeslice
- 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
Links
- 230000003044 adaptive effect Effects 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 83
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 230000002068 genetic effect Effects 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims description 20
- 230000035772 mutation Effects 0.000 claims description 12
- 238000011160 research Methods 0.000 claims description 10
- FGXWKSZFVQUSTL-UHFFFAOYSA-N domperidone Chemical compound C12=CC=CC=C2NC(=O)N1CCCN(CC1)CCC1N1C2=CC=C(Cl)C=C2NC1=O FGXWKSZFVQUSTL-UHFFFAOYSA-N 0.000 claims description 9
- 230000006399 behavior Effects 0.000 claims description 8
- 230000004087 circulation Effects 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 4
- 238000006073 displacement reaction Methods 0.000 claims description 2
- 230000002459 sustained effect Effects 0.000 claims description 2
- 238000000605 extraction Methods 0.000 claims 1
- 238000005070 sampling Methods 0.000 abstract description 6
- 230000003252 repetitive effect Effects 0.000 abstract 1
- 238000005457 optimization Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 230000005012 migration Effects 0.000 description 7
- 238000013508 migration Methods 0.000 description 7
- 239000000203 mixture Substances 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000000738 capillary electrophoresis-mass spectrometry Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000011295 pitch Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种用于市场导向的混合云基础架构的计算调度法,该市场导向的混合云基础架构由私有机器和公共机器组成并且由合同中指定的服务表征,包括下述步骤:预测服务的请求的工作负载,通过将日划分为精确时间段的时间片来对服务工作负载进行采样,时间片的时段是一参数;从所采样的一日的服务工作负载推断虚拟机(VM)池;根据该日的每个时间片将服务请求分配给VM池;对于时间片k初始化VM分配的种群;应用遗传算法计算用于每个时间片的VM调度的解;将解存储在帕雷托档案中;根据所选择的策略选择解;保存当前状态;重复操作,直到处理完一日的所有时间片。
Description
技术领域
本发明涉及一种用于包含公共和私有机器的市场导向的混合云基础架构的计算调度方法,其目的是在执行期间尊重服务合同的条件的同时降低云使用的成本。
背景
公司的业绩和利润取决于若干个参数。信息技术(IT)公司的一个主要参数是它们用来提供它们的服务的基础架构的效率。因此,IT公司的目标是在由服务等级协议(SLA)指定的它所提供的服务质量与降低这些服务引起的成本之间找到最优平衡。
在这个意义上,已经实施了若干研究以开发新方法。这些研究的方向要么是朝向负载预测,要么是朝向资源调度优化目的。
云计算是一种为分布式计算带来若干演进的计算机科学范例。因此,应用、数据和基础架构被提出作为可以以无处不在的、灵活的和透明的方式消费的服务。然而,云使用的灵活性是以对可访问性、性能和安全性的某些要求为代价的,如S.Bouchenak的“Verifyingcloud services:Present and future”(2013)中所解释的。
这是由于云环境的分布、异构性和并发使用而引起的。作为一示例,提出基于网络的应用服务的公司特别容易受到这种现象的影响。实际上,由于这样的服务中的大部分都是通过网络浏览器访问的,因此所有用户的需求都分布在数百万个小请求上。
这种工作负载的主要问题是它们的细粒度性质,其使得资源需求难以预测。因此,与批量工作负载预测中可用的预测技术相比,它要求具有更高精度和附加特征的特定预测技术,以帮助补偿信息的不足。
此外,最近的一项研究——J.Koomey的“Growth in data center electricityuse 2005to 2010”(2011)——显示数据中心的电力从2000年到2010年增加了265%,而全球电力增长了41%。此外,根据亚马逊的估算——J.Hamilton的“Cooperative expendablemicro-slice servers(CEMS):Low cost,low power servers for internet-scaleservices”(2009),与能源相关的成本量占总的数据中心预算的42%,并且包括19%的直接电力消耗和23%的冷却基础架构,这些值通过15年的摊销进行标准化。
看来能源是一个待处理的重要且具有挑战性的问题。因此,显然预测正确量的所需资源有助于减少所开启的数据中心的数目,以最小化能量消耗。实际上,过度供应会浪费可能被关闭或专用于其他用途的资源,而在市场导向的云环境中的资源供应不足会导致不遵守服务等级目标(SLO)。这会导致违反服务等级协议(SLA),其通常会引起严重的经济惩罚。
因此,全局托管成本不仅与能源有关,而且与SLA和其他参数诸如基础架构价格及其摊销有关。此外,在J.Chen的“Tradeoffs between profit and customer satisfactionfor service provisioning in the cloud”(2011)和在E.Elmroth的“Accounting andbilling for federated cloud infrastructures”(2009)中的不同云环境中提出的SLA标准使用的性能和SLA模型不适应S.Bouchenak的“Verifying cloud services:present andfuture”(2013)中呈现的市场云特征。
因此,本发明的目标是通过提出一种处理混合云环境中云导向的模糊SLA模型的托管成本优化的两级方法来应对这些缺乏。
该问题的规范是优化网络服务公司的SaaS云基础架构的资源管理。已经识别出了这样的公司的十个最大的提出的服务,每项服务属于一种家庭类型的服务(例如商家,电子交易......)。所有这些服务的特征都是它们的网络远程访问。
因此,本发明提出了一种两级方法,其具有基于用于服务工作负载预测的统计型历史方法的第一级和基于用于为云基础架构上的服务预测分配所需资源的调度方法的第二级。第一级的作用是通过分析请求提取所有必要信息,以准确估算在该日的每个时间片专用于每项服务的虚拟机(VM)的大小和数量。
此外,第二级的作用是在混合云上实现该VM池的最佳分配。混合云由公司拥有的私有数据中心和外部云供应商拥有的公共数据中心组成。
现有方法都没有提出结合预测和调度的两级方法来应对SLA和托管成本目标。此外,现有的SLA工作都没有提出遵循云导向模型的SLA标准。在本发明中,提出了解决混合云中的网络服务公司用例的这些不足的新方法。
提出的预测等级是基于对前几年每日存档的工作负载历史的统计研究。关于调度法(scheduler,调度程序、调度器),它基于帕雷托(Pareto)多目标遗传算法,该算法通过根据托管成本和SLA满意度之间的最佳平衡分派预测的虚拟机(VM)来提供调度。
本发明的主要贡献是:
-用于服务VM预测的统计型日时间片(slot,间隙、时隙)历史方法,
-用于网络服务VM分配的托管成本SLA感知帕雷托多目标调度法,
-用于VM分配的新SLA和成本评估模型。
发明内容
在本文中,呈现了一种称为P-GAS(基于预测的遗传算法调度法)的新方法,具有使用两个步骤组合预测和调度的特殊性。第一个步骤旨在预测每个所提供的服务的日请求负载变化并确定它的相关资源需求(VM)。第二个步骤的作用是优化(以帕雷托方式)这些VM的分配。目标是在降低托管成本和保持SLA之间找到最佳平衡。
提出了一种用于市场导向的混合云基础架构的计算调度方法,该市场导向的混合云基础架构由私有机器和公共机器组成并且由合同中指定的服务表征,包括下述步骤:
-将连续的请求流转换成批(batch,批量、批次、成批),
-针对一日预测向若干服务分配的虚拟机(VM)池,包括下述操作:
o考虑研究日之前至少一年的历史数据,其中,每日由其日期及其状态诸如工作日、周末、特殊时段或假日所标识,该历史数据包含针对每一日的每项服务的工作负载行为,
o取得该年中由相同的信息状态和日历日期表征的至少一日的历史数据,
o基于取得的研究日之前该日的历史数据,取得针对该日的每项服务的工作负载行为,并且限定对每项服务工作负载分配精确(finished,完成)数量的VM,每个VMn由元组(sizen,nbn,fn,mn,ion,bwn,sn)限定,其中,sizen是VM的大小,nbn是其核的数量,fn是处理器频率,mn是存储器(memory,内存)容量,ion是其输入和输出容量,bwn是其网络带宽容量,sn是其存储容量,并且每项服务i由三元组(rqi,vmi,naturei)标识,其中,rqi是每日请求的总数量,vmi是所需VM的类型和大小,以及naturei是该服务的性质,
o通过将该日划分为精确时间段的时间片来对该服务工作负载进行采样,时间片的持续时段是一参数,
-在匹配日历史上使用时间序列方法,预测在时间片k中对每项服务i的请求的数量Nb_requestk,i,
-根据历史统计生成对于特定日的每项服务i的分布律,
-应用公式Density_Coefk,i=Max_Nb_requesti/Nb_requestk,i计算预期在时间片k期间每项服务i应对的请求的密度Density_Coefk,i,其中Max_Nb_requesti是服务在该日期间在一时间片内能够接收的请求的最大数量,并且对应于根据针对特定日的服务i的历史统计生成的预期分布律的最高值,
-根据服务工作负载预测(Density_Coefk,i,Nb_requestk,i)如下取得对于该日的时间片的VM的数量:
o应用公式计算在每个时间片k处每项服务i所需的VM的数量Number_VMsk,i,其中Max_req_Processi是该服务i的VM类型的一个核能够处理的请求的最大数量,以及Nb_Coresi是该服务i的VM类型的核的数量,
o计算每项服务的持续时间作为处于第一时间片和最后时间片之间、包含大于固定的query threshold值的多个请求的时段,
-对于时间片k初始化VM分配的种群,还包括下述步骤:
o如果当前所调度的时间片中的相关VM已经从前一时间片起在运行,取得VM的机器类型并且在新的调度过程中将它分配给相同的机器类型,
o否则,通过使下述三个过程交替来初始化VM分配:将该VM随机初始化到任何机器类型,将所有该VM初始化到低成本私有机器类型,将所有该VM初始化到在计算(CPU)和存储器(RAM)方面具有最高性能的公共机器类型,
-应用遗传算法,返回关于组成该混合云基础架构的不同机器类型分配VM的若干解(solution,解决方案),这些解以与单元格表格相同的格式存储,其中,单元格的每个索引表示VM的标识符并且单元格的值是机器类型的标识号,
-将这组解存储在帕雷托档案中,
-根据所选择的策略从帕雷托档案中选择一个解,
-保存所选择的解作为该混合云的新状态,
-对随后的时间片重复从时间片的VM预测取得起的步骤,直到处理完研究日的所有时间片。
通过提取服务i在该日期间在某一时间片内能够接收的请求的最大数量,从当前处理日和适当服务两者的分布律推断对于每项服务i的请求的最大数量Max_Nb_requesti。
根据本发明的一优选实施方案,query threshold的值等于需要超过对于每项服务的备用VM最小数量的查询数量。
时间片的优选设定持续时间为十五分钟。
在每个时间片循环处应用的遗传算法可以是NSGA-II类型,其由下述表征:
-它使用由初始化过程提供的种群
-它使用置换和移位突变过程,
-它使用两点交叉操作从两个亲本(parent,父代)解s1和s2生成两个解s′1和s′2,
-它使用竞赛选择对策,包括以下操作:
o从帕雷托档案、从种群或者从帕雷托档案和种群两者中随机选择两个解,
o根据个体的非支配排列(rank,排名、把…分等级)选择个体
o根据个体的拥挤距离对个体进行排列,该拥挤距离是由该解的左邻居和右邻居限定的矩形的周长的值或者在单个邻居的情况下由它的唯一侧的邻居和无穷大限定的矩形的周长的值,
-该种群大小是一百,
-世代的数量是五百,
-交叉率为一,
-突变率为0.35,
-使用所应对的服务的托管成本和服务等级协议(SLA)值(满意等级)来计算每个调度解的适合度,其中:
o所应对的服务的SLA值是被托管的服务的所有SLA值的和,其中,服务的SLA值用公式Current_SLAi-(Slot_Percent_ValueiPenalty_Checki)计算,其中,Slot_Percent_Valuei是对于SLA不兼容性的每个时间片时间SLA减低的固定百分比值,Penalty_Checki是以下述步骤计算:
·用公式Penalty_Checki=Current_performancei-(Performance_Thresholdi(1-Fuzziness_Parameteri))初始化它的值,其中,Current_performancei是由传感器返回的当前性能值,Performance_Thresholdi是在低于其的情况下服务不SLA兼容的阈值,Fuzziness_Parameteri是限定性能评估的灵活率的参数,
·如果Penalty_Checki≥0,则向Penalty_Checki分配值零,此时Penalty_Checki=0,否则向Penalty_Checki分配值一,
o托管成本是所有服务的托管成本的和,其中,服务i的托管成本用公式Hosting_Costi=∑N((VM_Cost_Per_hndurationi)+Penalty_Costi)计算,其中,Hosting_Costi是对在一日中给定时刻的服务的托管成本估算,VM_Cost_Per_hn是运行一小时的VM成本,durationi是在该日给定时刻的剩余预期服务持续时间,Penalty_Costi是在托管服务i时除了运行经费外该供应商必须支付的惩罚成本,以及N表示适当地运行服务所需的VM的数量,服务i的Penalty_Costi用下述步骤计算:
·取得新的当前SLA服务值Current_SLAi
·计算当前SLA值Current_SLAi与所应对的服务的最小SLA值Minimum_SLAi之间的差Delta_SLAi
·如果Delta_SLAi≥0,则向Delta_SLAi分配零,否则向Delta_SLAi分配其绝对值,
·最后以Delta_SLAi和Unitary_Penaltyi的乘积计算Penalty_Costi,其中Unitary_Penaltyi是该服务的SLA每次减低的统一惩罚成本。
在使服务的托管成本的和最小化以及使当前服务SLA值的和最大化并且遵循下述约束的同时进行VM到服务的分配:
-服务i的每个VM可以被分配给仅一种类型的机器,
-私有云中的机器的数量有限,
-只有在验证可用容量之后,才将服务i的每个VM分配给私有机器,否则将VM分配给公共机器。
选择过程可以由用户通过根据其当前需要在帕雷托档案中手动选择最合适的解来完成。
选择策略包括下述步骤:
-选择以最低的托管成本提供最小SLA兼容值的解,
-如果仅涉及非兼容SLA解,则选择具有最高SLA值的解而不顾托管成本标准。
参考附图阅读以非限制性示例给出的下述描述,将更好地理解本发明,并且本发明的其他细节、特征和优点将显现。
附图说明
图1是混合云基础架构中基于预测和调度的优化模型的整体视图。
图2是十种不同服务的网络服务日请求工作负载的演进的示例的图示。
图3是问题编码的图示。
图4是P-GAS调度过程的流程图的功能图。
图5是用于帕雷托档案中解选择的所使用的选择策略的图示。
具体实施方式
在解释计算调度方法之前,我们首先解释所探讨的问题并描述它的模型。本发明所使用的系统模型是基于软件即服务(SaaS)云模型,应对网络服务公司的需求。本发明涉及三层客户-供应商架构模型,其中网络服务公司的客户向它们的终端用户提出服务。终端用户可以通过网络请求直接访问网络服务。在本方法中,由云供应商(网络服务公司)托管的每项服务适用于某个客户并且需要物理资源才能正常运行。
此方法的作用是帮助供应商优化每项托管服务的专用资源的使用,同时保持满足客户的SLA。
在系统模型中考虑的云是私有资源和公共资源的组合。实际上,在涉及混合云时,它由该公司的私有数据中心资源组成,但可以包括来自外部云供应商的临时外部资源。
在这样的环境中,本发明的目的首先是预测终端用户的请求工作负载以具有最佳资源供应(VM)。其次,目标是在组成混合云的宿主上获得所预测的VM的最佳分配。因此,根据需求和请求工作负载,资源可以本地地托管在私有云中,也可以外部地托管在公共云供应商中。
出于预测目标,提出了基于每项服务的先前日工作负载历史的统计方法来预测它的未来行为。
关于调度,提出了一种多目标遗传算法。该调度法的目标是减少迁移的VM的数量,与此同时,努力同时优化VM托管成本和SLA。
图1示出了在混合云基础架构上组成所提出的优化过程模型的不同级。VM托管成本和SLA的优化是由于组成混合云的宿主的异构性所提供的多样性而得以实现的。实际上,网络服务公司或其他云基础架构供应商由不同类型的机器组成。这种异构性意味着不同的CPU、存储器和存储容量。它还意味着不同的运行成本和不同的性能。这提供了多种分配可能性,有助于实现优化目标。
为了运行可行的云基础架构并在客户收费价格方面具有竞争力,每个云服务供应商都需要优化它的基础架构的使用。实际上,降低托管成本是云经济模型的重要组成部分。但是,必须谨慎地降低成本,以避免在性能和竞争力方面产生缺陷。
此外,通过操作等级协议(OLA)在客户和云供应商之间设定性能。OLA(s)组合在一起构成服务等级协议(SLA)。在本发明中,提出了一种适应云基础架构的灵活性质的SLA模型。
因此,对于每项服务,OLA由以下组成:服务性能阈值(服务的可用性和响应时间)、最小服务等级值、针对低于最小服务等级值的SLA每一减低量的统一惩罚成本、以及模糊SLA参数。
服务性能阈值是一种技术度量,其有助于评估服务性能。它通常依赖于传感器,这样的传感器周期性地(一到五分钟)通过下述请求来评估服务的反应,这样的请求模拟通过所有三层架构层(前、中、后)的网络请求。结果值必须优于阈值才能考虑SLA兼容;否则它会降低初始服务可用性值。
最小服务等级值表示基于性能阈值OLA提供有关服务可用性的百分比的信息的度量。该值不断与当前SLA值进行比较。通过在每个月初将当前SLA值初始化为100%,为每项服务提供当前SLA值。服务的每次故障都会减低当前SLA值的值。仅当当前SLA值达到最小服务等级值时,才认为该服务不SLA–兼容。
惩罚成本是云供应商为低于最小服务等级值的每一减低量要支付给客户的统一值。惩罚成本适用于与SLA兼容性值相关的每项服务的公式本身。它可以遵循线性或指数增长,也可以是有界的或不是有界的。在本方法中,它遵循线性增加并且表示针对低于最小服务等级值的每1%要支付的值。
模糊SLA参数适用于云范例。它有助于将灵活性概念从基础架构扩展到SLA。实际上,提供按需服务会产生更多关于它们的可访问性、可靠性和安全性的问题。因此,为了适应云性能变化,模糊概念为性能的评估带来灵活性,以为客户换取更有利的价格。因此,在触发制裁之前,模糊率为0.2的服务将允许性能阈值的最大差为20%。这有助于处理适合供应商和客户的更智能且没那么严格的模型。
等式(1)、(2)和(3)示出了计算服务总惩罚成本的步骤:
Penalty_Checki=Current_preformancei-(Performanc_Thresholdi(1-Fuzziness_Parameteri)) (1)
如果Penalty_Checki≥0则Penalty_Checki=0;否则Penalty_Checki=1;
Current_SLAi=Current_SLAi-(Slot_Percent_valuei Penalty_Checki) (2)
Delta_SLAi=Current_SLAi-Minimum_SLAi;
如果Delta_SLAi≥0则Delta_SLAi=0;否则Delta_SLAi=|Delta_SLAi|;
Penalty_Costi=Delta_SLAiUnitary_Penaltyi (3)
其中索引i表示有关服务,Penalty_Checki是服务的当前性能的值,Current_performancei是由传感器返回的当前性能值,Performance_Thresholdi是在低于其的情况下服务不SLA兼容的阈值,Fuzziness_Parameteri是限定性能评估的灵活率的参数,Current_SLAi是当前SLA服务值,Slot_Percent_Valuei是针对SLA不兼容的每一时间片时间的SLA减低的固定百分比值,Minimum_SLAi是触发惩罚成本前的最小SLA值,Delta_SLAi是当前SLA值与所述服务的最小SLA值之间的差,Penalty_Costi是供应商必须向客户支付的总惩罚成本,以及Unitary_Penaltyi是针对每项服务的统一惩罚成本。
运行云基础架构需要支付各种费用。人们可以计算两个主要因素:偶然费用和日费用。在偶然费用中,提及与购买基础架构有关的费用。实际上,拥有云需要花钱购买组成基础架构的硬件设备并处理仓库费用。此外,日费用专用于操作和维护资源,并支付辅助设备诸如照明和冷却的能量费用。
因此,在所提出的云模型中,所有上述费用被整合以便具有每种类型的机器的全局开发成本。因此,每种类型的私有机器的成本由它的购买价格和它的运行价格组成。当运行价格由机器的全局能量消耗费组成时,购买价格值与机器的摊销(机器年龄)成比例。
根据本发明的优选实施方案,三种主要机器类型构成私有云。根据它们的年龄和性能,人们可以区分:旧机器,性能低,年龄大于三年;中成新(average,均等新旧的、平均新旧水平的)机器,性能中等,年龄不到两年;以及最后是新机器,性能高,年龄少于一年。
此外,选择混合云的公共部分的外部供应商。在这个公共部分中,有三种机器实例(4xLarge、8xLarge、10xLarge),其性能分别是私有云机器的两倍。该实例的价格基于供应商提出的定标。
此外,根据组成混合云的不同类型机器的提升能力、性能和成本,推断所使用的每种VM类型的托管成本,持续时间为一小时。
忽略物理基础架构特征,本方法被设计成尽可能无缝地适应整个混合云配置。它旨在受益于不同供应商及其相关机器类型提供的架构异构性,以实现目的。
因此,本方法的预测部分仅取决于终端用户的请求和所使用的VM的类型,而调度法使用标准化度量诸如托管成本和性能值来运用高等级调度,以进行调度。本方法的两个等级都使用与硬件基础架构弱耦合的度量。
在商业环境背景中,需要增加运行支出,即非兼容SLA的云惩罚费。实际上,非兼容SLA的事件会导致成本惩罚。公式(4)示出了如何计算服务的总托管成本。
Hosting_Costi=∑N((VM_Cost_per_hn durationi)+Penalty_Costi) (4)
其中,Hosting_Costi表示针对一日中给定时刻的服务的托管成本估算,VM_Cost_per_hn是运行一小时的VM成本,durationi是在该日中给定时刻的剩余预期服务持续时间,Penalty_Costi是在托管服务i时除了运行经费外供应商必须支付的惩罚成本,以及N表示适当地运行该服务所需的VM的数量。
由于本方法的预测步骤,使得在等式(4)中使用参数以限定每项服务的特征(持续时间、必需VM的列表)成为可能。实际上,这允许具有更长期服务行为观察,其提供动作杠杆以便有效地优化。
所提出的计算方法的预测水平对两个主要问题为响应性的。第一个问题是必须通过使它们的预订尽可能紧密地适合工作负载来减少处于长闲置时段的被征用VM的数量。这有助于减少IT基础架构的大小,从而减少托管成本。第二个问题是从网络请求工作负载中提取信息,以便为调度算法馈送度量,这使得能够优化VM分配。
该预测基于细化粒度(从全局工作负载切换到统一服务工作负载)观察以及对全局网络服务工作负载的采样。众所周知,工作负载由请求组成。对于网络服务公司的情况,这些请求属于不同的服务。因此,该方法通过单独地具有关于每项服务的信息来从这种较低的粒度中受益,以便改善资源使用。了解每项服务允许为每项服务使用适当类型的VM,这避免使用可能过大的通用VM类型。
此外,将工作负载采样成时间片得到临时工作负载估算,以预料所需资源的数量。然而,采样步骤需要既不精细也不粗略。由于短时段内工作负载的大变化,精细采样会降低预测精度。相反,粗略采样会阻碍准确观察工作负载的演进。根据本发明的优选实施方案,将一日采样成十五分钟的持续时间时间片。因此,采样允许从连续的请求工作负载切换到某种批处理。实际上,通过了解服务类型和请求数量,可以提取特征。可以获得VM的数量和类型。VM的类型基于诸如CPU、存储器大小、存储容量、操作系统类型等特征。
此外,了解服务有助于根据历史预料它的持续时间,这是估算托管成本所必需的。因此,可以通过用工作负载时间片替换每个批量来应用批量模型调度VM。
图2示出了由十个服务组成并被采样成十五分钟时间片的日工作负载请求的多模态形状的示例。每个服务由高斯分布代表,表示其工作负载的增加阶段、峰值阶段和减少阶段。值得注意的是,添加不同的服务会产生具有三个峰值(12h、14h、21h)的多模态形状。
在本发明的模型中,存在三方:终端用户、客户(服务)和云供应商(公司)。实际上,终端用户要求由客户提出的服务,而客户在云供应商处托管他们的服务。
因此,调度步骤涉及客户和云供应商。根据本发明的应用示例,云供应商安排混合架构,该架构拥有三种不同类型(旧、中成新、新)的机器Mprivate并且租用三种其他不同类型的机器Mpublic(例如4xLarge、8xLarge、10xLarge)。假定的是,当租用的公共机器Mpublic的数量可以是可扩展的时候,私有机器Mprivate的数量是有限的。
在一日的每个时间片处,调度法处理来自不同服务的N个VM以回答终端用户的请求。问题在于在六种不同类型的M台机器上调度N个VM。
众所周知,任务调度问题是非确定性多项式-时间困难的(NP-困难的,参见M.R.Garey的“Computers and Intractability:A Guide to the Theory of NP-Completeness”(1979))。因此,VM调度问题也是NP困难的。因此,元启发式算法似乎是解决该问题的最合适的方法。因此,在本发明中,提出了一种具有多目标遗传算法的演进方法。
在此过程中,调度法需要有关VMn,n+1,n+2,…和服务i,i+1,i+2,…的信息。根据本发明,VMn由元组(sizen,nbn,fn,mn,ion,bwn,sn)建模并且该服务i由三元组(rqi,vmi,naturei)建模。如上所述,从预测等级恢复所有信息。VM的特征分别表示:VM的大小(sizen),核的数量(nbn),处理器频率(fn),存储器容量(mn),输入和输出容量(ion),网络带宽容量(bwn),存储容量(sn)。服务特征表示每日的请求总数量(rqi),所需VM的类型和大小(vmi)和该服务的由其拓扑结构(计算复杂度)决定的性质(naturei)。
本方法的第一个目标函数是在分配VM时最小化整个基础架构的托管成本。第二个目标函数用于将查询的服务保持在SLA兼容的等级。这两个目标同时被应对,并在等式(5)和(6)中公式化:
其中,Hosting_Costi是服务i在某个时间片下的托管成本,S是服务的数量。
其中,Current_SLAi是当前提交给所应对的服务i的潜在失败的SLA值,并且S是服务的数量。
调度步骤始终遵循以下约束进行:
-服务i的每个VMn可以分配给一种且仅一种类型的机器m,
-网络服务公司拥有的机器Mprivate是有限的,
-将服务i的每个VMn仅在验证其可用容量之后被分配给私有云的机器Mprivate,否则将该VM分配给公共机器Mpublic。
本方法中的两个目标以帕雷托方式应对。此外,还有第三个需要考虑的目标:隐式地应对VM迁移减少。实际上,在后者中,在该算法的初始化过程期间考虑VM迁移。它们初始化新工作负载时间片的解,注意尽可能地将再用的VM分配给与先前工作负载时间片调度期间相同的机器类型。
提出的预测技术背后的思想是受益于一年中每一日可能具有的特征唯一性。实际上,有些日的行为可能相似,而有些其他日可能非常特殊。例如,诸如黑色星期五、网络星期一、假日时段或如电视节目或游戏之类的特殊大事件的日将产生与先前几日不同但与之前几年的相同时段相似的特殊行为。因此,预测模型不是基于相近历史而是基于周期历史。因此,每日由参数诸如它的完整日期和它的状态(周末、特殊时段、假日等)限定。它的工作负载预测是根据前几年的该日的历史推断出来的。时间序列技术应用于交叉检查适合这些参数的日数据。这有助于以分布法的形式提供预测日的工作负载行为。
接下来,通过将该日分成时间片来采样数据,从其推导出每个时间片中每项服务的请求数量。根据服务所需的VM的类型(大小)和服务的拓扑结构来计算针对每项服务分配的VM的数量。因此,由于VM的类型(大小)主要取决于其核的数量和存储器容量,因此VM具有的核和存储器容量越多,它可以处理的请求就越多。
此外,关于服务的拓扑结构,根据服务的趋势对其进行分类,以使用三层架构(前、中、后)。因此,取决于服务的查询类型,可能不会同等地使用该构架的每个层。众所周知,通常服务越复杂,架构就越深。结果,随着复杂性的增加,所涉及的VM的处理容量降低。要设置每项服务的处理限制,可以使用E5620Xeon 2.4GHz 12Mo高速缓存处理器的一个核的处理限制。
此外,每项服务需求的VM的密度根据其工作负载的演进趋势而变化。实际上,一个时间片与服务的工作负载峰值越接近,该服务的请求密度就最高。这意味着终端用户同时进行查询的机率很高。因此,VM的数量的计算根据所预测的时间片中的请求数量和它们相较于峰值的到达时间而演进。换言之,从工作负载的平均值和标准偏差开始,分别取得关于正态分布的最大工作负载值和斜率角(变化强度)的信息。
等式8示出了如何计算密度系数,该密度系数提供有关服务工作负载的演进趋势的信息,而等式9描述如何根据时间(密度系数)和查询数量两者计算每个时间片下的每项服务的VM数量。
其中,Density_Coefk,i是表示服务i在时间片k期间预期处理的请求的密度的值,Max_Nb_requesti是在该日期间在某一时间片内服务i可以接收的请求的最大数量,Nb_requestk,i是在时间片k期间服务i预期接收的请求数量,Number_VMsk,i是在时间片k期间服务i所需的VM的数量,Max_req_Processi是服务i的VM类型的一个核可以处理的最大查询数量,以及最后Nb_Coresi表示服务i的VM类型的核的数量。
此外,对于每项服务,query threshold的值是固定的。该query threshold是表示需要超过对于每项服务的备用VM的最小数量的查询数量的值。因此,每项服务的持续时间的预测被限定为第一时间片和最后时间片之间的时段,该时段包含大于query threshold的值的多个查询。
本发明提出的遗传算法调度法使用帕雷托优化。在详细说明该算法的不同步骤之前,首先将解释帕雷托多目标问题概念。
多目标优化问题(MOP)通常包括优化nbobj目标函数F(x)=的向量,其中,x是来自被称为决策空间的某个体系的d维决策向量x=(x1,…,xd)。目标向量所属的空间被称为目标空间。F可以定义为从决策空间到目标空间的成本函数,其通过为它分配一个目标向量来评估每个解(x1,…,xd)的质量,被称为适应度。虽然单目标优化问题具有唯一的最优解,但MOP可能具有称为帕雷托最优集的一组解。该集在目标空间中的像表示为帕雷托前沿。对于最小化问题,MOP的帕雷托概念定义如下(对于最大化问题,其定义类似)。
-帕雷托占优:如果没有y2的分量小于y1的对应分量,则目标向量y1支配另一向量y2,并且y2的至少一个分量大于其在y1中所对应的,即:
-帕雷托最优性:如果在决策空间中没有使F(x′)支配F(x)的解x',则决策空间的解x是帕雷托最优的。
-帕雷托最优集:对于MOP,帕雷托最优集是帕雷托最优解。
-帕雷托前沿:对于MOP,帕雷托前沿是目标空间中帕雷托最优集的像。
现在我们参考图3来说明问题编码偏好的选择以公式化该问题。它表示了一种可能的分配。因此,表的索引描绘了被调度的VM;表的每个单元格包含的数字标识VM被分配到的机器的类型。换言之,在图3中,第一单元格表示在当前时间片中由调度算法处理的第一VM;它用索引0标识并且分配给类型为5的机器。索引为1的第二VM被分配给类型为0的机器,以此类推。该编码报告关于当前所应对的VM的数量(即,在该示例中为10)以及在查询阈值限制之上哪些服务被查询。实际上,它允许通过将每个VM一次分配给仅一种机器类型来调度所有VM。但是可以为不止一个VM选择一机器类型。请注意,并非所有机器类型都必须用于每个解。假设混合云的公共部分始终具有可用的机器。此外,为了在新时间片的调度过程期间保持对先前分配的VM的跟踪,提出了针对每个VM的元信息向量。目标是在编码解中的VM索引与VM的信息例如(VM标识符、成员服务、资源需求......)之间提供双射。VM元信息和解向量两者的生命周期是紧密相关的。
计算调度方法的一个步骤是产生初始解。这个步骤影响未来结果的质量。在本方法中,种群的初始化遵循2个步骤并且使用3个不同的初始化过程。
第一个步骤是验证当前所调度的时间片中的VM是否已经从先前一时间片起在运行。实际上,如前所述,所有开发的方法都旨在减少迁移。因此,如果VM已经在运行,则取得它的机器类型,以便将它在新调度过程中分配给同样的机器。该遗传算法的三目标版本不适合于迁移感知步骤,因为该迁移是作为整体目标被整合的。
基于三个不同初始化过程的第二个步骤涉及新VM(即第一调度)或不遵守容量约束的先前运行的VM。第一个过程将VM随机初始化为任何机器类型,无论它的位置如何。第二个过程有利于低成本的私有机器类型。第三个过程使用混合云的公共部分的强大的机器类型。种群的总初始化连续地在三个过程之间交替。
现在参考图4来揭示所提出的基于预测的遗传算法调度法(P-GAS)的所有步骤。每个调度在VM池上进行,其由先前详述的基于历史的资源预测等级来预测。因此,P-GAS的每个循环的结果涉及该日一个时间片的调度。由于每个时间片具有十五分钟的持续时间,因此需要96个循环来获得全日的预测调度。每个时间片调度过程称为时间片调度循环。图4中绘制的流程图的第一个步骤是从资源预测等级取得预测的VM池。一旦完成该阶段,该信息用于初始化遗传算法的种群。
遗传算法使用这个种群作为基础,以在组成混合云基础架构的不同机器类型上找到可能的最佳分配。执行的结果被存储在帕雷托档案中。
在该遗传算法过程结束时,算法根据选择策略在最终的帕雷托档案中选择一个解(分配)。
来自帕雷托集的所选解经过验证,并表示混合云的新状态。该状态将成为新的时间片调度循环的基础,其中P-GAS方法将在新的所预测的VM池上进行另一个过程。P-GAS不断迭代并且为所有时间片提出预测分配,直到该日结束。
根据本发明的优选实现,遗传算法(GA)是NSGA-II(非支配排序遗传算法-II)类型。
遗传算法(GA)是元启发式,基于在候选解的种群上迭代应用随机算子。在帕雷托导向的多目标背景下,GA的结构保持与单目标背景下的结构几乎相同。然而,需要进行一些调整,就像在提出的本方法中一样。
本GA首先按照先前说明的初始化种群。该种群用于使用特定突变和后面展示的交叉算子产生后代。每次由这些算子对每个个体进行修改时,调用评估算子(适合度)来评估后代。当前双目标GA中的每个调度(解)的适合度是由托管成本和SLA值组成的权衡元组。在GA的三目标版本中,该元组还集成了迁移的VM的数量。
由于多目标背景,所提出的GA中使用的对种群个体进行排列的方法是支配深度适合度分配。因此,只有具有最佳排列的个体(解)被存储在帕雷托档案中。作为一种效果,该档案包含通过世代产生的所有不同的非支配解。与排列相关联地,为每个存储的解分配称为拥挤距离的值。
此外,GA的下一步即选择过程是基于两个主要机制:精英机制和拥挤。精英机制使得演进过程融合到最佳帕雷托前沿,而拥挤为潜在的替代解保持了一定的多样性。选择的作用是选择那些由于变异算子而产生下一代(后代)个体的个体。
选择策略基于竞赛。竞赛选择包括从帕雷托档案、从种群或从帕雷托档案和种群两者中随机选择k个个体,其中k是竞赛组的大小。这些k个个体将经受两个额外步骤以获得将被应用变异算子的个体。第一个步骤根据个体的非支配排列选择个体,而第二个步骤通过根据个体的拥挤距离再次排列个体来涉及拥挤过程。拥挤距离是报告每个个体与其他个体相比的相似性程度的度量。拥挤中的相似性(多样性)被定义为由解的左邻居和右邻居限定的或者在单个邻居的情况下由它的唯一侧的邻居和无穷大限定的矩形的周长。
当应用变异算子并产生新的解(后代)时,必须替换旧的解以保持种群中的个体数量恒定。旧解的替换遵循精英策略,其中种群中最坏的个体被新的个体(后代)替换。这个替换还基于支配深度适合度度量并且在适当时基于拥挤距离。当在固定数量的世代之后没有对最佳解进行改进时,该算法停止。一旦达到这个迭代数量,最终的帕雷托档案就可用于P-GAS方法的下一步骤(选择策略步骤)。
关于本遗传算法的随机变异算子的原理,有两个算子:突变和交叉。突变算子基于两个动作。实际上,在第一个动作中,该算子随机选择两个整数i和j使得1≤i<j≤N(N是解的长度)并且使在VMi和j之间的所有机器类型以一个单元格向左移。在切换动作结束时,考虑到相邻的VMi和j,在i和j之间的间隔中的每个VM将被分配给它的相邻单元格的机器类型。第二个动作随机改变两个VM的机器类型值。如果应用突变算子,每个动作都有50%的机会被触发。
此外,交叉算子使用两个解s1和s2来产生两个新的解s1′和s2′。该算子在每个解上也挑选两个整数来进行交叉。下面将解释完整的机制。仅当调度的VM的数量对于突变大于2并且对于交叉大于3时,才完成这些操作。实际上,当不能应用算子时(即,仅一个VM待调度),从初始化产生的种群个体的数量中获得多样性。
为了产生s1′交叉算子:
-将s1视为第一个亲本,将s2视为第二个亲本。
-随机选择两个整数i和j,使得1≤i<j≤N。
-在s1′中复制s1的位于i之前或j之后的所有值。根据它们的位置复制这些值(如果n<i或k>j,则为s1′n)。
-在解s中复制s2的尚未在s1′中的所有值。因此,新的解s包含(j-i+1)个值。第一个值位于位置1,并且最后一个值位于位置(j-i+1)。
-以及最后,将s的所有值复制到s1′的位于i和j之间的位置(对于所有i≤k≤j,s1′n=sn-i+1)。
通过将s2视为第一亲本而s1作为第二亲本,使用相同的方法产生解s2′。值是VM分配到的机器类型值。
如前所述,使用帕雷托方法获得的结果被存储在帕雷托档案中。因此,不希望从来自帕雷托集的若干解开始用于新预测时间片的新VM池的过程。因此,在本P-GAS中,存在正好在GA结束之后的选择策略步骤。这个步骤旨在从最终的帕雷托档案中获取解,以便为下一时间片调度循环设置用于混合云的状态(起点)。选择帕雷托方法背后的思想是向供应商提出尽可能多的折衷解。关于特定目标,这些解中的每一个都比另一个好。
选择的帕雷托选择机制是静态的;它取决于主管根据它的适当需求做出的选择。选择策略设置为选择提供最小SLA兼容值且具有最低托管成本的解。在仅涉及非兼容SLA解的情况下,该选择策略偏好SLA选择具有最高SLA值的解而不顾托管成本标准。修改SLA兼容阈值允许主管自行改变选择策略。图5是一种可能的选择策略的示例。
Claims (8)
1.一种用于市场导向的混合云基础架构的计算调度方法,所述市场导向的混合云基础架构由私有机器和公共机器组成并且由合同中指定的服务表征,包括下述步骤:
-将连续的请求流转换成批,
-针对一日预测向若干服务分配的虚拟机(VM)池,包括下述操作:
o考虑研究日之前至少一年的历史数据,其中,每日由其日期及其状态诸如工作日、周末、特殊时段或假日所标识,所述历史数据包含针对每一日的每项服务的工作负载行为,
o取得所述年中由相同的信息状态和日历日期表征的至少一日的历史数据,
o基于取得的所述研究日之前该日的历史数据,取得针对该日的每项服务的工作负载行为,并且限定对每项服务工作负载分配精确数量的虚拟机,每个VM n由元组(sizen,nbn,fn,mn,ion,bwn,sn)限定,其中,sizen是所述VM的大小,nbn是其核的数量,fn是处理器频率,mn是存储器容量,ion是其输入和输出容量,bwn是其网络带宽容量,sn是其存储容量,并且每项服务i由三元组(rqi,vmi,naturei)标识,其中,rqi是每日请求的总数量,vmi是所需VM的类型和大小,以及naturei是所述服务的性质,
o通过将该日划分为精确时间段的时间片来对所述服务工作负载进行采样,时间片的持续时段是一参数,
-在匹配日历史上使用时间序列方法,预测在时间片k中对每项服务i的请求的数量Nb_requestk,i,
-根据历史统计生成对于特定日的每项服务i的分布律,
-应用公式Density_Coefk,i=Max_Nb_requesti/Nb_requestk,i计算预期在所述时间片k期间每项服务i应对的请求的密度Density_Coefk,i,其中,Max_Nb_requesti是服务在该日期间在一时间片内能够接收的请求的最大数量,并且对应于根据针对特定日的服务i的历史统计生成的预期分布律的最高值,
-根据服务工作负载预测(Density_Coefk,i,Nb_requestk,i)如下取得对于该日的时间片的VM的数量:
o应用公式
计算在每个时间片k处每项服务i所需的VM的数量Number_VMsk,i,其中Max_req_Processi是所述服务i的VM类型的一个核能够处理的请求的最大数量,以及Nb_Coresi是所述服务i的VM类型的核的数量,
o计算每项服务的持续时间作为处于第一时间片和最后时间片之间、包含大于固定的query threshold值的多个请求的时段,
-对于时间片k初始化VM分配的种群,还包括下述步骤:
o如果当前所调度的时间片中的相关VM已经从前一时间片起在运行,取得VM的机器类型并且在新的调度过程中将它分配给相同的机器类型,
o否则,通过使下述三个过程交替来初始化所述VM分配:将所述VM随机初始化到任何机器类型;将所有所述VM初始化到低成本的所述私有机器类型;将所有所述VM初始化到在计算(CPU)和存储器(RAM)方面具有最高性能的所述公共机器类型;
-应用遗传算法,返回关于组成所述混合云基础架构的不同机器类型分配VM的若干解,这些解以与单元格表格相同的格式存储,其中,单元格的每个索引表示VM的标识符并且单元格的值是机器类型的标识号,
-将这组解存储在帕雷托档案中,
-根据所选择的策略从所述帕雷托档案中选择一个解,
-保存所选择的解作为所述混合云的新状态,
-对随后的时间片重复从时间片的VM预测取得起的所述步骤,直到处理完所述研究日的所有时间片。
2.根据权利要求1所述的方法,其中,通过提取服务i在该日期间在某一时间片内能够接收的请求的最大数量,从当前处理日和适当服务两者的分布律推断对于每项服务i的请求的最大数量Max_Nb_requesti。
3.根据权利要求1或2中任一项所述的方法,其中,所述query threshold的值等于需要超过对于每项服务的备用VM的最小数量的查询数量。
4.根据权利要求1至3中任一项所述的方法,其中,所述时间片的持续时间固定为十五分钟。
5.根据权利要求1至4中任一项所述的方法,其中,在每个时间片循环处应用的遗传算法是NSGA-II类型,其特征在于:
-它使用由初始化过程提供的种群
-它使用置换和移位突变过程,
-它使用两点交叉操作从两个亲本解s1和s2生成两个解s′1和s′2,
-它使用竞赛选择策略,包括以下操作:
o从帕雷托档案、从种群或者从帕雷托档案和种群两者中随机选择两个解,
o根据个体的非支配排列选择个体
o根据个体的拥挤距离对所述个体进行排列,所述拥挤距离是由所述解的左邻居和右邻居限定的矩形的周长的值或者在单个邻居的情况下由它的唯一侧邻居和无穷大限定的矩形的周长的值
-所述种群大小是一百,
-代的数量是五百,
-交叉率为一,
-突变率为0.35,
-使用所应对的服务的托管成本和服务等级协议(SLA)值(满意等级)来计算每个调度解的适合度,其中:
o所述所应对的服务的SLA值是被托管的服务的所有SLA值的和,其中,服务的SLA值用公式Current_SLAi-(Slot_Percent_ValueiPenalty_Checki)计算,其中,Slot_Percent_Valuei是对于SLA不兼容的每个时间片时间SLA减低的固定百分比值,并且Penalty_Checki用下述步骤计算:
·用公式Penalty_Checki=Current_performancei-(Performance_Thresholdi(1-Fuzziness_Parameteri))初始化它的值,其中,Current_performancei是由传感器返回的当前性能值,Performance_Thresholdi是在低于其的情况下服务不SLA兼容的阈值,Fuzziness_Parameteri是限定性能评估的灵活率的参数,
·如果Penalty_Checki≥0,则向Penalty_Checki分配值零,此时Penalty_Checki=0,否则向Penalty_Checki分配值一,
o所述托管成本是所有所述服务的托管成本的和,其中,服务i的所述托管成本用公式Hosting_Costi=∑N((VM_Cost_Per_hn durationi)+Penalty_Costi)计算,其中,Hosting_Costi是对在一日中给定时刻的服务的托管成本估算,VM_Cost_Per_hn是运行一小时的VM成本,durationi是在所述日中给定时刻的剩余预期服务持续时间,Penalty_Costi是在托管服务i时除了运行经费外所述供应商必须支付的惩罚成本,以及N表示适当地运行服务所需的VM的数量,服务i的Penalty_Costi用下述步骤计算:
·取得新的当前SLA服务值Current_SLAi
·计算所述当前SLA值Current_SLAi与所应对的服务的最小SLA值Minimum_SLAi之间的差Delta_SLAi
·如果Delta_SLAi≥0,则向Delta_SLAi分配零,否则,将向Delta_SLAi分配其绝对值,
·最后以Delta_SLAi和Unitary_Penaltyi的乘积计算Penalty_Costi,其中Unitary_Penaltyi是所述服务的SLA每次减低的统一惩罚成本(在服务等级协议中限定)。
6.根据权利要求1至5中任一项所述的方法,其中,在使所述服务的托管成本的和最小化以及使当前服务SLA值的和最大化并且遵循下述约束的同时进行VM到服务的分配:
-服务i的每个VM能够被分配给仅一种类型的机器,
-所述私有云中的机器的数量有限,
-只有在验证可用容量之后,才将服务i的每个VM分配给私有机器,否则将所述VM分配给公共机器。
7.根据权利要求1至6中任一项所述的方法,其中,选择过程由用户通过根据其当前需要在帕雷托档案中手动选择最合适的解来完成。
8.根据权利要求7所述的方法,其中,所述选择策略包括下述步骤:
-选择以最低的托管成本提供最小SLA兼容值的解,
-如果仅涉及非兼容SLA解,则选择具有最高SLA值的解而不顾所述托管成本标准。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2016/001186 WO2018015779A1 (en) | 2016-07-20 | 2016-07-20 | Multi-criteria adaptive scheduling for a market-oriented hybrid cloud infrastructure |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109643247A true CN109643247A (zh) | 2019-04-16 |
CN109643247B CN109643247B (zh) | 2023-07-04 |
Family
ID=56877071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680088575.0A Active CN109643247B (zh) | 2016-07-20 | 2016-07-20 | 用于市场导向的混合云基础架构的多标准自适应调度 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190266534A1 (zh) |
EP (1) | EP3488342A1 (zh) |
CN (1) | CN109643247B (zh) |
WO (1) | WO2018015779A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489227A (zh) * | 2019-07-09 | 2019-11-22 | 招联消费金融有限公司 | 一种资源分配方法、装置、计算机设备和存储介质 |
CN110866591A (zh) * | 2019-10-28 | 2020-03-06 | 浙江大学 | 基于需求预测进行前瞻式云制造服务租赁配置的方法 |
WO2020237727A1 (zh) * | 2019-05-31 | 2020-12-03 | 东北大学 | 一种支持可靠性保障的冷热操模式虚拟机数量评估方法 |
CN112445589A (zh) * | 2019-09-05 | 2021-03-05 | 财团法人资讯工业策进会 | 服务调派设备及方法 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180307384A1 (en) * | 2017-04-24 | 2018-10-25 | Cisco Technology, Inc. | Workflow policy interface |
US10922141B2 (en) * | 2017-12-11 | 2021-02-16 | Accenture Global Solutions Limited | Prescriptive analytics based committed compute reservation stack for cloud computing resource scheduling |
US10831555B2 (en) | 2018-04-20 | 2020-11-10 | Vmware, Inc. | Methods and apparatus to improve workload domain management in virtualized server systems |
US11243810B2 (en) | 2018-06-06 | 2022-02-08 | The Bank Of New York Mellon | Methods and systems for improving hardware resiliency during serial processing tasks in distributed computer networks |
US11005725B2 (en) | 2018-06-29 | 2021-05-11 | Vmware, Inc. | Methods and apparatus to proactively self-heal workload domains in hyperconverged infrastructures |
CN109343933B (zh) * | 2018-09-17 | 2021-11-23 | 浙江工业大学 | 基于改进遗传算法的虚拟机初始放置策略方法 |
US11537423B2 (en) * | 2019-03-19 | 2022-12-27 | Hewlett Packard Enterprise Development Lp | Virtual resource selection for a virtual resource creation request |
US20200356563A1 (en) * | 2019-05-08 | 2020-11-12 | Datameer, Inc. | Query performance model generation and use in a hybrid multi-cloud database environment |
EP3745415A1 (en) | 2019-05-27 | 2020-12-02 | Universite d'Aix-Marseille (AMU) | Method of identifying a surgically operable target zone in an epileptic patient's brain |
CN110308993B (zh) * | 2019-06-27 | 2022-12-13 | 大连理工大学 | 一种基于改进遗传算法的云计算资源分配方法 |
CN110648248B (zh) * | 2019-09-05 | 2023-04-07 | 广东电网有限责任公司 | 一种发电站的控制方法、装置及设备 |
CN111124619B (zh) * | 2019-12-25 | 2023-07-21 | 浙江大学 | 一种面向二次调度的容器调度方法 |
KR102559290B1 (ko) * | 2020-01-06 | 2023-07-26 | 주식회사 아미크 | 하이브리드 클라우드 기반의 실시간 데이터 아카이빙 방법 및 시스템 |
US11810089B2 (en) * | 2020-01-14 | 2023-11-07 | Snowflake Inc. | Data exchange-based platform |
CN111258762B (zh) * | 2020-01-15 | 2023-07-14 | 北京工业大学 | 一种动态周期的媒体服务器负载均衡算法 |
US11228639B2 (en) | 2020-04-28 | 2022-01-18 | At&T Intellectual Property I, L.P. | Service correlation across hybrid cloud architecture to support container hybridization |
US11625272B2 (en) | 2020-08-15 | 2023-04-11 | International Business Machines Corporation | Scalable operators for automatic management of workloads in hybrid cloud environments |
CN112256415B (zh) * | 2020-10-19 | 2023-08-04 | 福州大学 | 基于pso-ga的微云负载均衡任务调度方法 |
CN112612603B (zh) * | 2020-12-14 | 2024-05-10 | 江苏苏州农村商业银行股份有限公司 | 适用于金融业务的多框架微服务应用的云配置方法及系统 |
CN112866358B (zh) * | 2021-01-05 | 2022-02-01 | 中国地质大学(北京) | 一种物联网服务重调度的方法、系统及装置 |
CN112926262A (zh) * | 2021-02-18 | 2021-06-08 | 同济大学 | 云边协同环境下的数据分存方法、系统、介质及终端 |
CN113010319A (zh) * | 2021-03-31 | 2021-06-22 | 华南理工大学 | 混合启发式规则和遗传算法的动态工作流调度优化方法 |
US11399078B1 (en) * | 2021-04-15 | 2022-07-26 | Vmware, Inc. | Request handling with automatic scheduling |
CN113434267B (zh) * | 2021-05-25 | 2022-12-02 | 深圳大学 | 云计算工作流动态调度方法、装置、设备及存储介质 |
CN113806683A (zh) * | 2021-08-09 | 2021-12-17 | 北京交通大学 | 一种大型体育赛事服务人员需求测算与组织调度方法 |
CN115150277B (zh) * | 2022-06-13 | 2023-09-15 | 燕山大学 | 云数据中心中基于双阈值滞后集群调度机制的节能策略 |
CN114943391A (zh) * | 2022-07-27 | 2022-08-26 | 青岛民航凯亚系统集成有限公司 | 基于nsgaⅱ的机场资源调度方法 |
CN115934300B (zh) * | 2023-03-08 | 2023-06-23 | 浙江九州云信息科技有限公司 | 一种云计算平台巡检任务调度方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070220586A1 (en) * | 2006-03-01 | 2007-09-20 | Norman Salazar | Computing resource assignment method and apparatus using genetic algorithms |
US20130198050A1 (en) * | 2012-01-31 | 2013-08-01 | Infosys Limited | Systems and methods for providing decision time brokerage in a hybrid cloud ecosystem |
US20130268940A1 (en) * | 2012-04-04 | 2013-10-10 | Daniel Juergen Gmach | Automating workload virtualization |
CN104035816A (zh) * | 2014-05-22 | 2014-09-10 | 南京信息工程大学 | 一种基于改进nsga-ii的云计算任务调度方法 |
CN104065663A (zh) * | 2014-07-01 | 2014-09-24 | 复旦大学 | 一种基于混合云调度模型的自动伸缩、费用优化的内容分发服务方法 |
CN105740051A (zh) * | 2016-01-27 | 2016-07-06 | 北京工业大学 | 基于改进的遗传算法的云计算资源调度实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ITTO20070258A1 (it) * | 2007-04-13 | 2007-07-13 | St Microelectronics Srl | "procedimento e sistema di schedulazione, griglia computazionale e prodotto informatico relativi" |
-
2016
- 2016-07-20 US US16/318,918 patent/US20190266534A1/en not_active Abandoned
- 2016-07-20 CN CN201680088575.0A patent/CN109643247B/zh active Active
- 2016-07-20 EP EP16760778.7A patent/EP3488342A1/en active Pending
- 2016-07-20 WO PCT/IB2016/001186 patent/WO2018015779A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070220586A1 (en) * | 2006-03-01 | 2007-09-20 | Norman Salazar | Computing resource assignment method and apparatus using genetic algorithms |
US20130198050A1 (en) * | 2012-01-31 | 2013-08-01 | Infosys Limited | Systems and methods for providing decision time brokerage in a hybrid cloud ecosystem |
US20130268940A1 (en) * | 2012-04-04 | 2013-10-10 | Daniel Juergen Gmach | Automating workload virtualization |
CN104035816A (zh) * | 2014-05-22 | 2014-09-10 | 南京信息工程大学 | 一种基于改进nsga-ii的云计算任务调度方法 |
CN104065663A (zh) * | 2014-07-01 | 2014-09-24 | 复旦大学 | 一种基于混合云调度模型的自动伸缩、费用优化的内容分发服务方法 |
CN105740051A (zh) * | 2016-01-27 | 2016-07-06 | 北京工业大学 | 基于改进的遗传算法的云计算资源调度实现方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020237727A1 (zh) * | 2019-05-31 | 2020-12-03 | 东北大学 | 一种支持可靠性保障的冷热操模式虚拟机数量评估方法 |
CN110489227A (zh) * | 2019-07-09 | 2019-11-22 | 招联消费金融有限公司 | 一种资源分配方法、装置、计算机设备和存储介质 |
CN110489227B (zh) * | 2019-07-09 | 2022-03-25 | 招联消费金融有限公司 | 一种资源分配方法、装置、计算机设备和存储介质 |
CN112445589A (zh) * | 2019-09-05 | 2021-03-05 | 财团法人资讯工业策进会 | 服务调派设备及方法 |
CN110866591A (zh) * | 2019-10-28 | 2020-03-06 | 浙江大学 | 基于需求预测进行前瞻式云制造服务租赁配置的方法 |
CN110866591B (zh) * | 2019-10-28 | 2022-11-01 | 浙江大学 | 基于需求预测进行前瞻式云制造服务租赁配置的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3488342A1 (en) | 2019-05-29 |
WO2018015779A1 (en) | 2018-01-25 |
US20190266534A1 (en) | 2019-08-29 |
CN109643247B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109643247A (zh) | 用于市场导向的混合云基础架构的多标准自适应调度 | |
Vakili et al. | Comprehensive and systematic review of the service composition mechanisms in the cloud environments | |
Tsaousoglou et al. | Market mechanisms for local electricity markets: A review of models, solution concepts and algorithmic techniques | |
Shakarami et al. | A review on the computation offloading approaches in mobile edge computing: A g ame‐theoretic perspective | |
Chapman et al. | Algorithmic and strategic aspects to integrating demand-side aggregation and energy management methods | |
Pinto et al. | A new approach for multi-agent coalition formation and management in the scope of electricity markets | |
CN110389820A (zh) | 一种基于v-TGRU模型进行资源预测的私有云任务调度方法 | |
Sharghivand et al. | A comprehensive survey on auction mechanism design for cloud/edge resource management and pricing | |
CN110111214A (zh) | 一种基于优先级的用户用能管理方法及系统 | |
Cong et al. | Personality-guided cloud pricing via reinforcement learning | |
Li et al. | A price-incentive resource auction mechanism balancing the interests between users and cloud service provider | |
Soulegan et al. | MTC: minimizing time and cost of cloud task scheduling based on customers and providers needs using genetic algorithm | |
US10586195B2 (en) | System and method for prescriptive analytics | |
Lykourentzou et al. | Guided crowdsourcing for collective work coordination in corporate environments | |
Moghaddam et al. | On coordination of smart grid and cooperative cloud providers | |
Toosi | On the Economics of Infrastructure as a Service Cloud Providers: Pricing, Markets and Profit Maximization | |
Jia et al. | Tri‐level decision‐making framework for strategic trading of demand response aggregator | |
Mohaupt et al. | Integration of Information Systems in Cloud Computing for Establishing a Long-term Profitable Customer Portfolio. | |
Modares et al. | A new vendor-managed inventory model by applying blockchain technology and considering environmental problems | |
Zhou et al. | A novel Bi-level programming model for cloud logistics resources allocation | |
Arrais-Castro et al. | Negotiation Platform for Collaborative Networked Organizations using a Dynamic Multi-Criteria Decision Model | |
Iturriaga et al. | Bio-inspired negotiation approach for smart-grid colocation datacenter operation | |
Andrzejak et al. | Predicting resource demand in dynamic utility computing environments | |
Kessaci | Multi-criteria scheduling on clouds | |
Guan et al. | Optimization-based bidding strategies for deregulated electric power markets |
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 |