介绍 |
|
我们提出一个自动化资源管理系统的设计和执行,实现这两个目标之间的平衡。我们做出以下贡献:我们开发一个资源分配系统,可以有效地避免系统中多余的同时最小化服务器使用的数量。我们引入“偏斜”的概念来计算不均匀服务器的利用率。通过最小化偏态,我们可以提高服务器的整体利用率的多维资源约束。我们设计一个负载预测算法,可以准确地捕捉未来资源使用的应用程序没有在vm。算法可以捕获资源使用模式的上升趋势,有助于减少位置显著波动。由于工作到来模式是无法预测和云中的每个节点的能力不同,负载平衡 |
问题,工作负载控制提高系统演示和维护稳定是至关重要的。负载均衡方案取决于系统动力学是重要的可以是静态和动态的。静态计划不使用系统信息和不太复杂而动态的计划会给系统带来额外的成本,但可以改变系统状态的变化。这里使用一个动态方案的灵活性。模型有一个主控制器和平衡器收集和分析信息。因此,动态控制没有影响其他工作节点。然后系统状态选择合适的负载提供了一个依据相反的策略。在本文中给出的负载平衡模型旨在众多节点的公共云计算资源分散在不同的地理位置。因此,这个模型将公共云划分为几个云分区。当环境是非常大的和复杂的,这些部门简化负载平衡。 The cloud has a main manager that chooses the suitable partition for arriving jobs while the balancer for each cloud partition chooses the best load balancing strategy. |
相关工作 |
已经有许多研究云环境的负载平衡。负载均衡的云计算是描述写的阿德勒的白皮书介绍了工具和技术通常用于负载均衡的云。然而,云中的负载平衡仍然是一个新的问题,需要新的架构适应许多变化。Chaczko等人描述了负载平衡在提高性能的作用和维护稳定。负载平衡算法有很多,如轮循,同样传播当前执行算法和蚁群算法。作者Nishant et al.used蚁群优化方法在节点负载平衡。反et al.gave一些算法的比较分析云计算通过检查性能时间和成本。他们得出的结论是,ESCE算法和控制算法比轮询调度算法。一些经典的负载平衡方法类似于分配方法 |
在服务系统中,例如,轮询调度算法,先到先得(先)规则。这里使用的轮询调度算法,因为它是相当简单的。 |
偏态算法 |
我们引入偏态的概念量化利用多种资源的不平衡在一个服务器上。让n是我们考虑的资源数量和利用我的资源。我们定义一个服务器的资源偏态p |
|
|
哪里的平均使用所有资源服务器p。在实践中,并非所有类型的资源都是危险的,因此我们只需要考虑性能瓶颈资源在上面的计算。通过最小化偏态,我们可以结合不同类型的工作负载,提高服务器资源的总体利用率。在下面,我们将介绍我们的算法的细节。分析算法获得的额外的文件,可以发现ComputerSociety数字Libraryhttp: / /doi.ieeecomputersociety.org/10.1109/TPDS.2012.283。 |
热点和冷点 |
有时我们的算法执行评价资源配置状态的基础上,预测未来虚拟机的资源需求。我们定义一个服务器作为一个热点如果操作它的任何资源高于热阈值。这表明服务器超载,因此一些vm运行在它应该迁移。我们定义一个热点的温度p的广场和资源利用率超过热阈值: |
|
|
R是重载的资源的集合在服务器p资源R和R是热阈值。(注意,只有重载的资源被认为是在计算。)一个热点的温度反映了其程度的过载。如果服务器不是一个热点,其温度是零。我们定义一个服务器作为一个冷点如果感冒其所有资源的利用率低于阈值。这表明服务器主要是闲置和一个可能的候选人关掉节约能源。然而,我们这样做,只有当所有积极使用服务器的平均资源利用率(即。道面)低于绿色计算阈值的系统。积极使用服务器如果至少有一个VM运行。否则,它是不活跃的。最后,我们定义温暖的阈值水平充分的资源利用率高,证明在服务器运行但不高,风险成为一个热点的临时变动应用程序资源的要求。不同类型的资源可以有不同的阈值。 For example, we can define the hot thresholds for CPU and memory resources to be 90 and 80 percent, respectively. Thus a server is a hot spot if either its CPU usage is above 90 percent or its memory usage is above 80 percent. |
热点缓解 |
我们的系统中的热点温度(即下降。,我们处理最热门的一分之一)。我们的目标是尽可能删除所有热点。否则,保持温度尽可能低。为每个服务器p,我们首先决定哪些应该迁移的vm。我们的虚拟机服务器的基础上产生的温度,如果虚拟机迁移。我们旅行的目标VM可以减少服务器的温度。在关系的情况下,我们选择删除的虚拟机可以减少服务器的偏态。对于每个虚拟机列表中,我们看到如果我们能找到一个目的地服务器来适应它。服务器不能接受这个VM后成为一个热点。在所有这些服务器,我们选择一个最接受的偏斜度可以减少这个VM。 Note that this reduction can be negative which means we select the server whose skewness increase the least. If a destination server is found, we record the migration of the VM to that server and update the predicted load of related servers. Otherwise, we move onto the next VM in the list and try to find a destination server for it. As long as we can find a destination server for any of its VMs, we consider this run of the algorithm a success and then move onto the next hot spot. Note that each run of the algorithm migrates away at most one VM from the overloaded server. This does not essentially eliminate the hot spot, but at least reduces its temperature. If it remains a hot spot in the next decision run, the algorithm will repeat this process. It is possible to design the algorithm so that it can migrate away multiple VMs during each run. But this can add more load on the related servers during a period when they are already overloaded. We decide to use this more conservative approach and leave the system some time to react before initiating additional migrations. |
绿色计算 |
当活动服务器的资源利用率太低,他们中的一些人可以关掉节约能源。这是我们绿色计算处理算法。这里的测试是减少活动服务器的数量在低负载不牺牲性能现在或将来。我们需要避免在系统振荡。我们的绿色计算算法时调用活动服务器上的所有资源的平均利用率低于绿色计算阈值。我们系统中的冷点的列表基于升序排序的内存大小。因为我们需要迁移掉所有的虚拟机才能关闭一个充分利用服务器,我们定义一个冷点的内存大小总体上运行的所有虚拟机内存大小。回想一下,我们的模型假设所有虚拟机连接到一个共享的后端存储。因此,虚拟机动态迁移的成本主要由其坚定的内存占用。补充文件中的这部分解释了为什么内存是一个很好的测量深度。 We try to eliminate the cold spot with the lowest cost first. For a cold spot p, we check if we can migrate all its VMs somewhere else. For each VM on p, we try to find a target server to accommodate it. The resource utilizations of the server after accepting the VM must be below the warm threshold. While we can save energy by consolidating underutilized servers, overdoing it may create hot spots in the future. The warm threshold is designed to prevent that. If multiple servers satisfy the above criterion, we prefer one that is not a present cold spot. This is because increasing load on a cold spot reduces the likelihood that it can be eliminated. However, we will accept a cold spot as the destination server if necessary. All things being equal, we select adestination server whose skewness can be reduced the most by accepting this VM. If we can find destination servers for all VMs on a cold spot, we record the sequence of migrations and update the predict load of related servers. Otherwise, we do not migrate any of its VMs. The list of cold spots is also efficient because some of them may no longer be cold due to the proposed VM migrations in the above process. The above consolidation adds extra load onto the related servers. This is not as serious a problem as in the hot spot improvement case because green computing is initiated only when the load in the system is low. Nevertheless, we want to bound the extra load due to server consolidation. We restrict the number of cold spots that can be eliminated in each run of the algorithm to be no more than a certain percentage of active servers in the system. This is called the consolidation limit. Note that we eliminate cold spots in the system only when the average load of all active servers (APMs) is below the green computing threshold. Otherwise, we leave those cold spots there as potential destination equipment for future offloading. This is consistent with our philosophy that green computing should be conducted conservatively. |
综合运动 |
上面每一步中生成的运动是不执行,直到所有的步骤已经完成。的列表操作合并,然后每个VM最多一次搬到其最终的目的地。例如,热点缓解可能决定一个VM从a点到B点,而绿色计算规定从点B点C在实际执行,VM是直接从a到C |
系统模型 |
有一些云计算类与这项工作集中在一个公共云。公共云是基于标准的云计算模型,与服务提供者提供的服务。一个大型的公共云将包括许多节点和节点在不同的地理位置。云分区用于管理这个大云。云分区是分区的公共云部门基于地理位置。图1所示的体系结构。负载相反的策略是基于云计算分区的概念。创建云分区后,负载平衡然后开始:当工作到达系统,与主控制器决定哪些云分区应该接受这份工作。分区负载均衡器然后决定如何分配工作节点。当云的负载状态分区是正常的,这个分区可以在本地人才。 If the cloud partition load status is not normal, this job should be transferred to another partition. The whole process is shown in Fig.2. |
主控制器和平衡器 |
负载平衡解决方案是通过主控制器和平衡器。主控制器首先分配工作到合适的云分区,然后在每个分区与平衡器通信刷新状态信息。 |
因为主要经理处理信息为每个分区,较小的数据集将导致更高的处理速率。每个分区的平衡器从每个节点收集的状态然后choo |
将工作分配给云分区 |
云分区状态可分为三种类型: |
(1)空闲:当空闲节点的比例超过改变闲置状态 |
(2)正常:当超过正常节点的比例,改变正常负载状态。 |
(3)过载:当重载节点的比例超过,改变过载状态。设定的参数,,云分区平衡器。主控制器与平衡器频繁刷新对话的状态信息。然后主控制器使用以下策略:分派作业当我到达系统的工作时,主控制器查询云分配器的工作位置。如果这个位置是闲置的地位或正常,工作在本地处理。如果没有,另一个云分区是发现不超载。该算法如算法1所示。 |
将工作分配给云中的节点分区 |
云分区平衡器收集从每个节点加载为了评估云计算分区状态。这个评估每个节点的负载状态是非常重要的。第一个任务是定义每个节点的负载程度。节点的负载程度和各种静态参数和动态参数相关。静态参数包括CPU的数量的CPU分配速度,内存大小,等动态参数的内存利用率,CPU利用率、网络带宽,等等。这些参数的负载程度计算如下: |
步骤1 paramet定义一个负载与每个静态或动态参数。m代表总数的参数。 |
步骤2计算负载程度为: |
|
|
是重量可能有所不同,不同种类的工作。N代表当前节点。步骤3定义评估基准。云计算的平均节点负载分区学位学位统计: |
板凳上标记然后设置不同情况下基于第4步三个节点负载状态水平定义为:_空闲的时候吗 |
|
没有工作被这个节点处理所以闲置的状态被指控。 |
_正常 |
|
|
节点是正常的,它可以处理其他工作。_过载时 |
|
|
该节点不可用,不能接收工作,直到它返回到正常高。负载程度结果输入到负载状态表中创建的云分区平衡器。每个均衡器有负载状态表和每个固定周期T刷新它。使用的表然后平衡器计算分区状态。每个分区状态有不同的负载平衡解决方案。工作到达一个云分区时,均衡器分配工作节点基于当前加载的策略。这种策略是改变了均衡器的云分区状态更改。 |
云分区负载均衡策略 |
动机 |
|
良好的负载平衡将提高整个云的表示。然而,并没有常见的方法能够适应所有可能的不同的情况。各种方法已经发展在改善现有解决方案来解决新问题。特定区域中的每一个严格的方法有优势但不是在所有的情况下。因此,当前的模型集成方法和交换机之间的负载平衡方法基于系统状态。一个相对简单的方法可以用于分频器空闲状态和正常状态的更复杂的方法。然后,负载平衡器开关状态变化的方法。这里,空闲状态使用一种改进的轮循算法而正常状态使用一个基于博弈论的负载平衡策略。 |
负载平衡策略闲置状态 |
云分区空闲时,许多可用的计算资源和工作到达相对较少。在这种情况下,这个云分区有能力尽快处理工作,所以一个简单的负载可以使用相反的方法。有许多简单的负载均衡算法方法如随机权重轮循,和动态循环。这里使用的轮询调度算法的简单性。轮询调度算法是一种最简单的负载平衡算法,它通过每一个新的请求队列中的下一个服务器。算法不记录每个连接的状态,所以它没有状态信息。在定期轮询调度算法中,每个节点都有同等机会被选中。然而,在公共云,每个节点的配置和性能将会不一样;因此,这种方法可能过载一些节点。因此,一种改进的轮询调度算法,称为“轮询调度基于负载程度评价”。 |
该算法仍然是相当简单的。循环步骤之前,表中的节点负载平衡命令基于负载从最低到最高的程度。系统构建一个循环队列和一次又一次地遍历队列。工作将被分配到负载较低的节点度。节点的顺序将改变当均衡器刷新加载状态表。然而,可能有读和写不一致的刷新周期T。资产表刷新时,这时,如果工作到达云分区,它将把不一致的问题。系统状态会改变,但仍然是旧的信息。这可能会导致一个错误的负载的策略选择和一个错误的节点的顺序。要解决这个问题,应该创建两个负载状态表:表1负载状态和负载状态表2。 A flag is also assigned to each table to indicate Read or Write. When the flag = “Read”, then the Round Robin based on the load degree evaluation algorithm is using this table. When the flag = “Write”, the table is being refreshed, new information is written into this table. Thus, at each moment, one table gives the correct node locations in the queue for the improved Round Robin algorithm, while the other is being prepared with the updated information. Once the data is refreshed, the table flag is changed to “Read” and the other table’s flag is changed to “Write”. The two tables then alternate to solve the inconsistency. The process is shown in Fig.4. |
负载均衡策略的正常状态 |
当云分区是正常的,工作是到达速度远远超过在空闲状态和情况要复杂的多,所以不同的策略用于负载平衡。每个用户希望他的工作在最短的时间内完成,因此,公共云需要一个方法,可以完成所有用户的工作以合理的响应时间。Penmatsa和Chronopoulos提出了一种基于博弈论的静态负载平衡策略的分布式系统。这工作为我们提供了一个新的云环境中的负载平衡问题的审查。作为一个分布式系统的实现,云计算环境中的负载平衡可以看作是一场游戏。博弈论有非合作游戏和合作游戏。在合作游戏中,决策者最终达成协议,称为一个具有约束力的协议。每个决策者决定通过比较指出对方。在非合作游戏,每个决策者做决定只是为了他自己的利益。然后系统及纳什均衡,每个决策者的优化决策。 The Nash equilibrium is when each player in the game has chosen a strategy and no player can benefit by changing his or her strategy while the other players strategies remain unchanged. |
已经有许多研究在使用博弈论的负载平衡。Grosu et al.proposed基于博弈论的负载平衡策略的分布式系统使用分布式结构作为一个非合作博弈。他们比较该算法与其他传统方法来显示他们的算法减少复杂性和更好的性能。Aote Kharat给一个充满活力的基于博弈论的负载平衡模型。这个模型在相关系统的动态负载状态与用户被决策者在一个非合作博弈。由于网格计算和云计算环境也是分布式系统,这些算法也可以用于网格计算和云计算环境。以前的研究已经表明云分区的负载平衡策略在正常负载状态可以被视为一个不支持游戏,这里所描述的那样。玩家在游戏中是节点和工作。假设有n个节点在当前云分区与n工作到达,然后定义以下参数: |
|
|
|
在这个模型中,最重要的一步是找到适当的值。当前模型使用Grosu等人的方法称为“最好的回复”来计算每个节点,与贪婪算法然后用来计算所有节点。这个过程给出了纳什均衡每个作业的响应时间降到最低。战略改变节点的状态变化。 |
结论 |
因为这个工作只是一个概念性的框架,需要更多的工作来实现框架和解决新问题。一些重要的点是: |
(1)云业务规则:云师不是一个简单的问题。因此,该框架将需要一个完整的云分割方法。例如,集群中的节点可能远离其他节点或会有一些集群在同一地理区域仍远。部门规则应该是基于地理位置(省或州)。 |
(2)如何设置刷新时间:在数据统计分析,主控制器和云分区平衡器需要定期刷新信息。如果周期太短,高发病率将会影响系统的性能。如果周期太长,太旧的信息做出正确的决定。因此,测试和统计工具需要设定一个合理的刷新时间。 |
(3)更好的负载状态评估:一个好的算法需要设置和评价机制需要更全面。 |
(4)寻找其他的负载平衡策略:其他负载平衡策略可能提供更好的结果,所以测试需要比较不同的策略。许多测试都需要保证系统可用性和效率。 |
数据乍一看 |
|
|
引用 |
- r·亨特,为什么云,http://www.gartner.com/DisplayDocument?医生cd = 226469 ref = g noreg, 2012。
- m·d·Dikaiakos d . Katsaros p, g . Pallis和a . Vakali云计算:分布式网络计算和科学研究,网络计算,vol.13,没有。5、pp.10-13 Sept.-Oct。2009年。
- p .干预和t .光亮型,NIST的云计算的定义,http://csrc.nist.gov/publications/nistpubs/800145/sp800 145. - pdf, 2012。
- 微软学术研究,云计算,http://libra.msra.cn/Keyword/6051/cloudcomputing?querycloud % 20计算,2012年。
- 谷歌趋势,云计算,http://www.google.com/trends/explore q =云% 20计算,2012年。
- n . g . Shivaratri p·克鲁格,m . Singhal局部分布式系统负载分发,电脑,25卷,。1992年12月12日,页。33-44。
- 阿德勒,负载均衡的云:工具,技巧和技术,http://www.rightscale。com/infocenter/whitepapers/Load-Balancing-in-theCloud。pdf, 2012
- z Chaczko,诉马哈、美国Aslanzadeh和c . Mcdermid可用性和负载平衡在云计算,提出在2011年InternationalConference计算机和软件建模,新加坡,2011年。
- k .作者Nishant p . Sharma诉克里希纳,c·古普塔k·p·辛格,n .尼和r . Rastogi云中的节点负载平衡使用蚁群优化,inProc。14 thinternational会议上计算机建模和仿真(UKSim),剑桥郡,英国,2012年3月28 - 30页。
- m .反d .羊肉,A . Taleb-Bendiab比较研究分布式云计算负载平衡算法,在Proc。24 thinternational IEEE会议上先进的信息网络和应用程序,珀斯,澳大利亚,2010年,页551 - 556。
- 答:唤醒,公共云,http://searchcloudcomputing.techtarget.com/definition/public-cloud, 2012年。
- d . MacVittie介绍负载均衡算法开发人员,https://devcentral.f5.com/blogs/us/introtoload-balancing-for-developers-ndashthe-algorithms, 2012年。
- Penmatsa和a . t . Chronopoulos博弈论的静态负载平衡对于分布式系统,并行和分布式计算,期刊vol.71,不。4,第555 - 537页,2011年4月。
- d . Grosu a . t . Chronopoulos和m . y .梁loadbalance在分布式系统:一种方法使用合作游戏,在Proc。16 IEEE Intl。并行和分布式处理计算机协会。美国佛罗里达州,4月。2002,pp。52 - 61。
- Aote和m . Kharat,博弈论的动态负载平衡模型在分布式系统中,在Proc。国际会议onAdvances在计算、通信和控制(ICAC3 ' 09),纽约,美国,2009年,页235 - 238。
|