一种跨数据中心云计算系统的资源供给方法与流程

文档序号:11960291阅读:251来源:国知局
本发明涉及虚拟化云领域,特别地,涉及一种跨数据中心云计算系统的资源供给方法。
背景技术
::数据产生的速度从来没有当今这么快过:YouTube每天产生近40亿条视频查看记录与总时长近432000小时的新视频。随着大数据时代的到来,各行各业数据量不断增长,其潜在的巨大价值值得挖掘,例如FaceBook这样的社交网站可以通过分析网站历史记录(包括点击记录,活动记录等)揭示用户使用模式以及潜在的关系,并以此检测社会热点事件或为其市场决策服务。然而,对地理分散的大容量数据进行快速处理极其复杂,以至于传统PC机已经无法满足其处理要求,为此,许多公司部署了多数据中心云与混合云来处理此问题。这些云技术提供了强大而高效解决方案来处理不断高速增长的多元大数据集合,其中一些已经投入商用以应对不断增长的计算需求,同时向用户提供可保证的服务质量。映射-规约模型(MapReduce)是一种针对大规模数据并行处理的分布式编程模型,已经在许多应用中显示出其引人注目的优势。最初的MaprRduce模型不是针对跨数据中心设计的,不过近期研究已经将最初的MapReduce模型从单数据中心扩展到多数据中心。最值得关注的问题包括:①如何将不同位置的大规模数据迁移至地理分布的数据中心?②需要在这些数据中心中提供多少量的计算资源以保证性能同时又最小化花费?大数据的异构性、多元性以及动态的效用驱动资源价格模型使这两个问题非常具有挑战性。另外,分布式计算多个阶段之间的内部依赖性,如MapReduce计算中映射阶段与规约阶段的相互作用,进一步加剧了在地理分布的多数据中心之间的数据迁移、资源供给以及规约器选择问题的复杂性。针对现有技术中缺乏基于映射-规约模型的跨数据中心云计算系统调度方案的问题,目前尚未有有效的解决方案。技术实现要素:有鉴于此,本发明的目的在于提出一种跨数据中心云计算系统的资源供给方法,能够平衡跨数据中心的花费来高性能、高可用且以最小花费解决跨数据中心云计算系统的调度问题。基于上述目的,本发明提供的技术方案如下:根据本发明的一个方面,提供了一种跨数据中心云计算系统的资源供给方法,包括:从云计算系统中获取系统参数;根据系统参数获得目标函数与约束;使用李雅普诺夫优化框架获得目标函数的飘移-惩罚因子与其上界;从飘移-惩罚因子中的上界中提取虚拟机供给项并生成资源供给方法。其中,根据系统参数获得目标函数包括:使用系统参数描述决策变量;使用系统参数与决策变量描述数据中心的成本;根据决策变量与数据中心的成本描述目标函数与约束。并且,云计算系统包括多个数据源与多个数据中心,其中每个数据中心均包括一个映射器与一个规约器;云计算系统在进行数据迁移时,先将数据源的数据转移到任意数据中心的映射器上执行映射操作并生成中间键值对,后将中间键值对从任意数据中心的映射器转移到单个数据中心的规约器上执行规约操作。并且,其特征在于,系统参数包括:数据中心集合、虚拟机类型集合、数据集合;某时刻从某数据源转移至某数据中心的数据量、某时刻某数据源产生的数据量、每时刻某数据源产生的最大数据量;某数据源转移单位数据量至某数据中心的价格、单位数据在数据中心的存储价格、某时刻数据中心尚未处理完的数据量、某数据源到某数据中心间的延迟、延迟经济花费转换因子、某时刻某数据中心内某类虚拟机的价格、某时刻从某数据中心转移的数据量、某两数据中心间的迁移花费。同时,决策变量包括数据分配变量、虚拟机供给变量与规约器选择变量,使用系统参数描述决策变量包括:使用某时刻从某数据源转移至某数据中心的数据量、某时刻某数据源产生的数据量、每时刻某数据源产生的最大数据量描述数据分配变量;使用某时刻从某数据中心提供的用作映射的某类虚拟机数量、某时刻从某数据中心提供的用作规约的某类虚拟机数量描述虚拟机供给变量;使用某时刻映射器产生的所有数据汇集到的数据中心描述规约器选择变量。并且,数据中心的成本包括带宽花费、存储花费、延迟花费、计算花费与迁移花费,使用系统参数与决策变量描述数据中心的成本包括:使用从某数据源转移单位数据量至某数据中心的价格与数据分配变量描述带宽花费;使用单位数据在数据中心的存储价格、某时刻数据中心尚未处理完的数据量与数据分配变量描述存储花费;使用某数据源到某数据中心间的延迟、延迟经济花费转换因子与数据分配变量描述延迟花费;使用某时刻某数据中心内某类虚拟机的价格与虚拟机供给变量描述计算花费;使用某时刻从某数据中心转移的数据量、某两数据中心间的迁移花费、虚拟机供给变量与规约器选择变量描述迁移花费。并且,根据决策变量与数据中心的成本描述目标函数与约束包括:某时刻从某数据源转移至各数据中心的数据量之和等于该时刻该数据源产生的数据量之和;某时刻某数据中心用作映射与规约的虚拟机数量小于等于该时刻该数据中心的可用虚拟机数量;同一时刻只有一个数据中心被选作规约器;某数据中心的数据平均到达率小于等于该数据中心的数据平均处理率;带宽花费、存储花费、延迟花费、计算花费与迁移花费之和最小。其中,使用李雅普诺夫优化框架获得最小花费函数的飘移-惩罚因子与其上界,包括:根据目标函数与约束构建实际队列与虚拟队列,并使用李雅普诺夫优化框架构建李雅普诺夫函数;根据李雅普诺夫函数计算获得1时隙李雅普诺夫飘移与飘移-惩罚因子;计算飘移-惩罚因子的上界。并且,根据目标函数与约束构建实际队列与虚拟队列,并使用李雅普诺夫优化框架构建李雅普诺夫函数包括:根据目标函数与约束、以及某时刻某数据中心映射器中未处理的数据量,描述映射队列实际队列;根据目标函数与约束、以及映射队列实际队列的最大延迟,描述映射队列虚拟队列;根据目标函数与约束、以及某时刻某数据中心规约器中未处理的数据量,描述规约队列实际队列;根据目标函数与约束、以及规约队列实际队列的最大延迟,描述规约队列虚拟队列;根据映射队列实际队列、映射队列虚拟队列、规约队列实际队列与规约队列虚拟队列使用李雅普诺夫优化框架构建李雅普诺夫函数。同时,从飘移-惩罚因子中的上界中提取虚拟机供给项并生成资源供给方法包括:从飘移-惩罚因子中的上界中提取带有虚拟机供给变量的多项式;根据虚拟机供给变量描述的约束对多项式求极小值;根据多项式在极小值时虚拟机供给变量的解生成资源供给方法。从上面所述可以看出,本发明提供的技术方案通过使用李雅普诺夫优化框架获得目标函数的飘移-惩罚因子与其上界并提取虚拟机供给项的技术手段,平衡了跨数据中心的花费,高性能、高可用且花费最小地解决了跨数据中心云计算系统的调度问题。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为根据本发明实施例的一种跨数据中心云计算系统的资源供给方法的流程图;图2为根据本发明实施例的一种跨数据中心云计算系统的资源供给方法中,一个跨数据中心利用MapReduce进行大数据处理的系统结构图;图3为1998年世界杯网站6月21至27日的用户访问数据变化图;图4为根据本发明实施例的一种跨数据中心云计算系统的资源供给方法中,使用MiniBDP算法的系统总花费随时间的变化折线图;图5为根据本发明实施例的一种跨数据中心云计算系统的资源供给方法中,使用MiniBDP算法的系统各项花费随时间的变化折线图;图6为根据本发明实施例的一种跨数据中心云计算系统的资源供给方法中,使用MiniBDP算法的系统平均花费随参数V的变化折线图;图7为根据本发明实施例的一种跨数据中心云计算系统的资源供给方法中,各数据源对数据中心进行数据分配量的详细矩阵图;图8为根据本发明实施例的一种跨数据中心云计算系统的资源供给方法中,各数据源到数据中心距离的详细矩阵图;图9为根据本发明实施例的一种跨数据中心云计算系统的资源供给方法中,各数据中心被选作Reducer次数的柱状图;图10为根据本发明实施例的一种跨数据中心云计算系统的资源供给方法中,多种策略在花费上的对比柱状图;图11为根据本发明实施例的一种跨数据中心云计算系统的资源供给方法中,多种策略在队列长度上的对比折线图;图12为根据本发明实施例的一种跨数据中心云计算系统的资源供给方法中,MiniBDP算法与线下最优方法在累计花费上的对比折线图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。根据本发明的实施例,提供了一种跨数据中心云计算系统的资源供给方法。如图1所示,根据本发明实施例的提供的一种跨数据中心云计算系统的资源供给方法包括:步骤S101,从云计算系统中获取系统参数;步骤S103,根据系统参数获得目标函数与约束;步骤S105,使用李雅普诺夫优化框架获得目标函数的飘移-惩罚因子与其上界;步骤S107,从飘移-惩罚因子中的上界中提取虚拟机供给项并生成资源供给方法。其中,根据系统参数获得目标函数包括:使用系统参数描述决策变量;使用系统参数与决策变量描述数据中心的成本;根据决策变量与数据中心的成本描述目标函数与约束。并且,云计算系统包括多个数据源与多个数据中心,其中每个数据中心均包括一个映射器与一个规约器;云计算系统在进行数据迁移时,先将数据源的数据转移到任意数据中心的映射器上执行映射操作并生成中间键值对,后将中间键值对从任意数据中心的映射器转移到单个数据中心的规约器上执行规约操作。并且,其特征在于,系统参数包括:数据中心集合、虚拟机类型集合、数据集合;某时刻从某数据源转移至某数据中心的数据量、某时刻某数据源产生的数据量、每时刻某数据源产生的最大数据量;某数据源转移单位数据量至某数据中心的价格、单位数据在数据中心的存储价格、某时刻数据中心尚未处理完的数据量、某数据源到某数据中心间的延迟、延迟经济花费转换因子、某时刻某数据中心内某类虚拟机的价格、某时刻从某数据中心转移的数据量、某两数据中心间的迁移花费。同时,决策变量包括数据分配变量、虚拟机供给变量与规约器选择变量,使用系统参数描述决策变量包括:使用某时刻从某数据源转移至某数据中心的数据量、某时刻某数据源产生的数据量、每时刻某数据源产生的最大数据量描述数据分配变量;使用某时刻从某数据中心提供的用作映射的某类虚拟机数量、某时刻从某数据中心提供的用作规约的某类虚拟机数量描述虚拟机供给变量;使用某时刻映射器产生的所有数据汇集到的数据中心描述规约器选择变量。并且,数据中心的成本包括带宽花费、存储花费、延迟花费、计算花费与迁移花费,使用系统参数与决策变量描述数据中心的成本包括:使用从某数据源转移单位数据量至某数据中心的价格与数据分配变量描述带宽花费;使用单位数据在数据中心的存储价格、某时刻数据中心尚未处理完的数据量与数据分配变量描述存储花费;使用某数据源到某数据中心间的延迟、延迟经济花费转换因子与数据分配变量描述延迟花费;使用某时刻某数据中心内某类虚拟机的价格与虚拟机供给变量描述计算花费;使用某时刻从某数据中心转移的数据量、某两数据中心间的迁移花费、虚拟机供给变量与规约器选择变量描述迁移花费。并且,根据决策变量与数据中心的成本描述目标函数与约束包括:某时刻从某数据源转移至各数据中心的数据量之和等于该时刻该数据源产生的数据量之和;某时刻某数据中心用作映射与规约的虚拟机数量小于等于该时刻该数据中心的可用虚拟机数量;同一时刻只有一个数据中心被选作规约器;某数据中心的数据平均到达率小于等于该数据中心的数据平均处理率;带宽花费、存储花费、延迟花费、计算花费与迁移花费之和最小。其中,使用李雅普诺夫优化框架获得最小花费函数的飘移-惩罚因子与其上界,包括:根据目标函数与约束构建实际队列与虚拟队列,并使用李雅普诺夫优化框架构建李雅普诺夫函数;根据李雅普诺夫函数计算获得1时隙李雅普诺夫飘移与飘移-惩罚因子;计算飘移-惩罚因子的上界。并且,根据目标函数与约束构建实际队列与虚拟队列,并使用李雅普诺夫优化框架构建李雅普诺夫函数包括:根据目标函数与约束、以及某时刻某数据中心映射器中未处理的数据量,描述映射队列实际队列;根据目标函数与约束、以及映射队列实际队列的最大延迟,描述映射队列虚拟队列;根据目标函数与约束、以及某时刻某数据中心规约器中未处理的数据量,描述规约队列实际队列;根据目标函数与约束、以及规约队列实际队列的最大延迟,描述规约队列虚拟队列;根据映射队列实际队列、映射队列虚拟队列、规约队列实际队列与规约队列虚拟队列使用李雅普诺夫优化框架构建李雅普诺夫函数。同时,从飘移-惩罚因子中的上界中提取虚拟机供给项并生成资源供给方法包括:从飘移-惩罚因子中的上界中提取带有虚拟机供给变量的多项式;根据虚拟机供给变量描述的约束对多项式求极小值;根据多项式在极小值时虚拟机供给变量的解生成资源供给方法。下面根据具体实施例进一步阐述本发明的技术特征。在映射-规约模型(MapReduce)中,映射器(Mapper)对输入数据集进行处理然后输出一系列的由映射阶段产生的中间键值对,记作<key,value>;而规约器(Reducer)从Mapper接收所有的中间数据并根据特定的键对这些值进行融合形成更小的值。Mapper与Reducer能够部署在不同的数据中心中。在分布式数据中心环境下,地理性分散的数据处理执行路径非常重要。利用MapReduce跨数据中心处理地理分散的数据可分为三种执行路径:COPY、MULTI与GEO。其中,COPY是一种将所有子数据(Map产生的中间数据)复制到单一数据中心的策略,当MapReduce产生的输出数据比输入数据小时,这种方法不高效;MULTI是一种在各个数据子集上分别作MapReduce操作,然后对结果进行汇总的方法,MULTI的缺点在于仅当MapReduce工作顺序不对最终结果产生影响时才能得到预期的结果;GEO是一种在不同的数据中心执行Map操作,然后将所有的中间结果复制至单个数据中心进行Reduce操作的策略,GEO适用于那些在Reduce节点各工作之间是相互关联的,如计算网页缓存中页面数的中值。鉴于多数应用各工作都是关联的,本实施例建模时考虑GEO的路径执行策略。图2示出的是一数据服务提供商(DSP,DataServiceProvider)管理多个数据源(例如大型网站多区域的用户请求记录)并将所有数据传送至云中进行处理的系统结构图。如图2所示,不同地理位置数据源(DataSource)连续不断地产生大量数据,数据分析应用被部署在云中,而数据源与处于不同位置的数据中心相连接。在此模型中,数据源中的数据一旦产生,就会被实时转移至数据中心采取增量方式进行处理,其中,增量方式为只计算新增的数据,而过去产生的中间数据则可被重用。特别地,在每个数据中心中都部署有Map操作的Mapper以及Reduce操作的Reducer。由于在跨数据中心MapReduce计算方面前述的GEO执行路径,因此数据迁移过程存在对应的两个阶段:在第一阶段,数据可以被转移至任何数据中心作Map操作;在第二阶段,考虑到各数据之间的关联性,各数据中心Map操作产生的中间数据必须转移至单个数据中心。如图2所示,粗线代表了示例执行路径,其显示了来自数据源1与数据源2的原始数据被转移至多个数据中心进行Map操作,然后各Map操作输出的中间数据被聚集至数据中心1的Reducer中进行Reduce操作。形式化地,设为地理分布的数据中心集合,其数据容量为取值为d(1≤d≤D。为不同类型的虚拟机集合,其大小每个虚拟机有不同的CPU和内存配置,即特定的计算速度vk,且每个数据中心可提供所有类型的虚拟机。数据是从个数据中心中动态生成的(取值为r,1≤r≤R),记之为集合任何位置产生的数据可以被转移至任何数据中心作Map操作,然后将各Mapper产生的中间数据汇聚至单一的数据中心进行Reduce操作。为更贴合实际,本实施例假设从数据位置r至数据中心d的带宽Brd是有限的,且带宽是影响系统性能的瓶颈部分,而数据中心内部的网络带宽非常高。另外,各地区产生的数据是相互独立的;每个数据中心的资源价格(例如,虚拟机,存储等等)是不同的,价格也随时间变化。云计算系统依照时间序列运行,划分为t=0,1,…,T。在每个时间序列中,数据服务提供者需要作以下几个方面的决策:①决定从数据所在地r移动多少数据到数据中心d?②每个数据中心租用多少资源来支持数据处?③选择哪个数据中心作Reduce操作?我们的目标是最小化云端大数据分析的总成本,并且能保证在长期运行中的处理延迟。基于以上系统模型,我们将问题数学化,使用三个决策变量描述三个决策。①数据分配变量:记为t时刻从数据位置r转移至中心d的数据量,这意味着各位置产生的数据可以被转移至任何数据中心作数据分析。设ar(t)为t时刻第r个区域产生的数据量,为位置r每时刻产生的最大数据量。因此,我们有:式(2)确保了某时刻位置r分配至各数据中心的数据之和与此时刻该位置产生的数据总量相等。变量集合可记为②虚拟机供给变量:分别记为t时刻数据中心d提供的用作Map操作和Reduce操作的k类虚拟机数量,虚拟机数量可随时间不断变化。由于单个数据中心计算资源有限,设数据中心d中k类虚拟机的最大量为因此有:以上式子意味着在特定的数据中心中,用作Map操作和Reduce操作的资源数量不会超过当前数据中心的可用资源数,同理,我们也可以定义n(t)。③Reducer选择变量:由于t时刻来Mapper产生的所有数据都将汇聚至单一的数据中心进行reduce操作,xd(t)被定义二值变量。当xd(t)=1时,指示数据中心d被选择进行Reduce操作,否则,不进行reduce操作。即:其中,确保t时刻只有一个数据中心被选作进行Reduce操作,定义集合根据3个决策变量进一步描述花费成本。数据服务提供商的目的就是通过优化分配至各数据中心的数据,各数据中心提供的资源以及某时刻合适的Reduce目标数据中心,最小化系统产生的整体花费。本实施例考虑以下成本:带宽花费、存储花费、延迟花费、计算花费以及迁移花费。①带宽花费:通常,由于有不同的网络运营商,带宽价格会随着不同的VPN不同而不同。设为从数据源r转移1Gb数据至数据中心d的价格,则t时刻将数据转移至云中的总带宽花费为②存储花费:由于庞大的数据量需要分析,这对于选择数据中心进行存储非常重要。设sd,Wd(t)分别表示数据存储价格以及数据中心尚未处理完的数据量,则t时刻存储总花费可表示为:特别地,由式(16)与式(18),我们可得Wd(t)=Md(t)+Rd(t).③延迟花费:将数据上传至数据中心产生的延迟同样对系统系能有重要影响,在数据处理过程中,我们需要将其最小化。记为位置r与数据中心d之间的延迟,其由数据源位置与数据中心的地理距离决定,实际运行时,可通过简单命令,如Ping,计算获得。我们将延迟转化为经济花费。因此,可定义延迟花费为:其中α为延迟与经济花费之间的转换因子。带宽花费、存储花费、延迟花费的总体花费为:④计算花费:由于虚拟机价格在时间上不断变化,因而从数据中心租用的虚拟机数量对大数据分析应用的整体花费以及系统性能至关重要。假设为t时刻数据中心d中k类虚拟机的价格,则计算花费可由以下实际计算:⑤迁移花费:在诸多应用中,对数据进行分析不仅需要当前时刻的新数据,还需要历史数据(例如,当新数据到达时增量数据分析法重用历史计算结果而不是重新计算它们)。因此,其他数据中心产生的历史中间数据将会迁移至所选的Reducer中,必然产生数据迁移花费。不失一般性,假设前面μ时刻的中间数据会被重用,则t时刻从数据中心i中转移的数据量为其中fi(τ)代表τ时刻数据中心i产生的中间数据。对于特定的应用来说,由于原始数据量与输出的中间数据量之间存在一个因子γ,因此可利用τ时刻数据中心i中Map操作的产生的中间数据进行估计;βτ∈[0,1]表示历史数据需要被迁移的比例,需要满足条件βa<βb(a<b),这意味着历史数据的重要性随着时间的递增而递减,具体值可由特定的应用决定。另外,我们记Φid(·)为将数据从数据中心i迁移至数据中心d的迁移花费函数(包含带宽花费与延迟花费),其可由带宽价格与两数据中心之间的地理位置距离决定。同样,由于不考虑同一数据中心内部的数据迁移,迁移花费函数需要满足当i=d时Φid(·)=0。因此,t时刻系统产生的总迁移花费为:基于以上5种花费的数学描述,t时刻系统产生的总花费可描述为:C(m(t),n(t),λ(t),x(t))=Cp(m(t),n(t))+Csbl(λ(t))+Cmgr(m(t),x(t)).---(8)]]>因此,最小化一段时间内[0,T]数据迁移与数据处理的平均花费问题可形式化为:P1.min:C‾---(9)]]>s.t.:λrd(t)≥0,∀r,∀d,t∈[1,T];---(10)]]>0≤ndk(t)+mdk(t)≤Ndk,max,∀d,∀k,t∈[1,T];---(12)]]>mdk(t)∈Z+∪0,ndk(t)∈Z+∪0,∀d,∀k,t∈[1,T];---(13)]]>λ‾d≤m‾d,F‾d≤n‾d,∀d;---(15)]]>其中,为T时刻内分配至数据中心d的平均数据量,为数据中心d提供的用于Map操作的平均虚拟机数量,为数据中心d提供的用于Reduce操作的平均虚拟机数量。代表输入数据中心d中进行Reduce操作的中间数据平均量。约束(15)通过确保数据到达率不超过数据平均处理率以保证了Map负载队列Md以及Reduce负载队列的稳定性。由于数据生成是随机的,x为一整数约束变量,hi(t)为非线性函数,以上问题很容易被证实为一随机整数非线性优化问题。通常,当T非常大时,难以采用集中化的方法以高效地解决此问题。有鉴于此,本实施例采用李雅普诺夫优化框架对该问题进行求解。李雅普诺夫优化方法的最独特的优势就是不需要关于未来的任何信息,通过贪婪地最小化在每个时间序列中的漂移惩罚,它可以获得可证明的任意接近于线下最优解的解决方案。本实施例先将问题P1转化为最小化李雅普诺夫漂移-惩罚项的优化问题,然后设计算法进行求解。由于本实施例考虑增量的数据处理方式,数据处理过程会被建模成一个演化的队列模型。在每个数据中心中,为了描述数据处理MapReduce的两阶段,设计相应的队列如下:在Map阶段:假设Md(t)为t时刻数据中心d的Map队列中为处理的数据量。初始化Md(0)=0,则队列的更新可描述如下:以上更新规则说明t时刻数据中心d中数据处理量与新到达的数据量分别为为保证队列Md(t)的最差延迟为lm,设计与之相应的虚拟队列Yd(t)。同样,初始化Yd(0)=0,则其服从以下更新规则:其中,当Md(t)>0时,否则同理,当Md(t)=0,否则其中εd是以预先设置的用以控制Map队列最差延迟的常量。可以证明,若队列Md(t)与Yd(t)的长度有界,则数据处理的最大延迟为lm个时隙,其中与分别为队列Md(t)与Yd(t)的最大长度。在Reduce阶段:与Map阶段相似,数据中心d中相应的队列为Rd(t)(设Rd(0)=0),则此对列的更新过程如下所示:其中,为t时刻从其他数据中心迁来的u时刻历史中间数据。从以上等式可知,系统只允许同一个时隙内的部分数据被处理与中间数据迁移。实际系统部署时,系统会等待所有的中间结果以进一步输出最终结果。相应地,其虚拟队列可定义为:理论上,同样可保证队列Rd(t)的最差延迟。设M(t)=[Md(t)]、Y(t)=[Yd(t)]、R(t)=[Rd(t)]、Z(t)=[Zd(t)],为Map队列与Reduce队列的联合矩阵。为了测量数据处理过程中系统拥塞程度,记Θ(t)=[M(t);R(t);Y(t);Z(t)]。李雅普诺夫函数可以定义如下:其中,L(Θ(t))表示系统中的队列积压情况。为了通过持续地保持李雅普诺夫函数处在较低的拥塞状态以保证队列的稳定性,我们引入1-时隙李雅普诺夫漂移如下:根据李雅普诺夫优化理论,可通过在以上李雅普诺夫漂移量上增加系统花费函数计算漂移-惩罚因子:其中,V为平衡系统总花费与稳定性的非负因子。直观结论是,V越大,花费越小,反之亦然。因此,问题P1可以转化成求解问题P2:P2.min:(22)(23)s.t.:(10)(11)(12)(13)(14).(24)为解决问题P2,我们致力于寻找式子(22)的上界,而不直接求该式的最小值。此方法已被证明不会影响结果的最优性以及算法性能。因而,问题的核心在于找到式子(22)的上界。可以证明,对于任何决策方案,式子(22)满足:其中,通过分析式子(25)的右半部分,我们从问题P2中提取出虚拟机供给问题。对式子(25)等式右边部分观察可知,与变量和有关的部分被认为是虚拟机供给项,最优的虚拟机供给策略可以通过求解下式获得:由于各数据中心的资源供给是相互独立的,互不约束的,问题(29)可在各数据中心独立地分布式实现。考虑数据中心d的资源供给问题,我们可重写问题为:利用线性规划的最基础知识,容易得到以上线性规划问题的解为:(mdk(t),ndk(t))=(0,0),ifMd(t)+Yd(t)≤Vpdk(t)vk∩Rd(t)+Zd(t)≤Vpdk(t)vk(Ndk,max,0),ifRd(t)+Zd(t)≤Md(t)+Yd(t)∩Md(t)+Yd(t)≥Vpdk(t)vk(0,Ndk,max),ifRd(t)+Zd(t)>Nd(t)+Yd(t)∩Rd(t)+Zd(t)≥Vpdk(t)vk---(31)]]>可见,t时刻当虚拟机价格较低的时候会供给的比较多,且vk越大(性能越好)的虚拟机供给得越多。本实施例提供了长时间运行的在线算法如下所示:对比实验验证了算法的有效性。我们采用worldcup98数据集来评估本文算法性能,此数据集记录了1998年世界杯网站从4月30日至7月26日的用户访问数据,来自4个位置共30台服务器的数据(巴黎4台,赫恩10台,普莱诺10台,圣克拉拉6台)。每个记录包含了以下详细信息:请求时间、请求客户、请求对象、处理请求的服务器等。我们提取了6月21至27日一周的数据进行实验,为仿真大规模的网站,原始的请求数被扩大1000倍,每隔30分钟对请数进行汇总,并设每次请求的记录内容为100KB,则可得如图3所示的数据变化图。在实验中,我们假设模型包含四个数据源(对应数据集中的美国的圣克拉拉、普拉诺、赫恩、巴黎4个数据位置)以及12个数据中心(对应阿什本、达拉斯、洛杉矶、迈阿密、纽瓦克、帕洛阿尔托、西雅图、圣路易斯、阿姆斯特丹、都伯林、法兰克福、伦敦的12个亚马逊在欧洲和美洲的服务器);实验中还考虑AmazonEC2所提供的5种类型的虚拟机实例(c3.large,c3.xlarge,c3.2xlarge,c3.4xlarge,c3.8xlarge)。数据中心与数据源之间的距离通过在线工具获得。模型参数设置如下:采用RTT(RoundTripTime)测量数据源于数据中心的链路延迟,即RTT(ms)=0.02*distance(km)+5;虚拟机价格与存储价格分别采用亚马逊所Spotinstance价格和S3的价格,而通过链路<r,d>上传数据的单位价格服从[0.1,0.25]美元/GB;设置数据迁移代价为与数据相关的线性函数;只利用前面两个时隙的中间数据作为历史数据,即βt-1>βt-2>βt-3=...=0;其他参数中,V=60,γ=0.5,α=0.01,εd=1,σd=γ×εd。实验主要考虑花费与队列长度两种指标,其中花费代表了系统的经济因素,而队列长度描述了系统的稳定因素。为便于比较,实验中我们用某种情况占总费用的花费比(CostRatio,CR)作为指标。它可通过公式计算,其中Ci为第1中情况的费用,Ccur为当前情况的费用,N为总情况数。我们在参数固定情况下进行了实验,以显示MiniBDP(本发明实施算法的名字)的在问题求解上的有效性。图4显示了系统总花费随时间的变化情况。从图3与图4可知,系统总花费随着数据量的大小变化而变化,这说明算法MiniBDP能够在没有预测未来需求的情况下自适应动态地调整虚拟机的供给量以满足不断变化的数据处理需求。图5显示了各种费用(即处理费用、存储费用、带宽费用、延迟费用以及迁移费用)随在时间上的对比情况,结果显示数据处理费用占了总费用的大部分而其他类型费用只占用较低的水平。这从另一个侧面可说明,本文所提算法能够选择适合的数据中心进行数据处理从而降低额外的费用。为剖析算法的内部特性,我们对数据分配以及reducer选择结果的详细结果进行了展示。结合图7和图8可知,本文算法结果表现出数据本地化的特性,因为数据倾向于转移至数据源附近的数据中心处理。即使北美的价格比欧洲的价格要低,巴黎产生的数据几乎不会转移至北美的数据中心(阿什本,达拉斯,洛杉矶,迈阿密,纽瓦克,帕洛阿尔托,西雅图,圣路易斯)进行处理,这意味着算法又具有避免过大延迟费用从而保证数据处理延迟的能力。图9示出了各数据中心被选择Reducer的次数,如图9所示,大部分的Reduce操作聚集于北美的数据中心。这是因为从欧洲的4个数据中心迁移中间数据至北美的8个数据中心比反方向的迁移要更经济。我们还通过实验分析了参数V对算法性能的影响。图6显示了花费与队列长度随着参数V的变化情况,如图6所示,系统产生的时间平均花费随着V的递增而递减,并且当V足够大时,系统平均费用有最小值。这一结果为我们在部署真实系统时降低费用提供了理论指导。然而,随着V的增长,负载队列长度也随之增长,而队列的增长又会导致数据处理的时延。因此,如何选择合适的V以平衡系统总费用以及延迟非常重要。我们还将本文算法MiniBDP与其他算法进行对比,这些算法由不同的数据分配策略,资源供给策略以及Reducer选择策略组合而成。对于数据分配部分,主要考虑3种代表性策略:①就近分配原则(Proximity-awareDataAllocation,PDA),将各数据源产生的数据分配至离其最近的数据中心中。此策略具有最小的延迟,适合对于延迟敏感的场景。②负载均衡分配原则(LoadBalancingDataAllocation,LBDA),将数据分配至具有最小负载的数据中心。此策略能够保持各数据中心的负载均衡。③价格最低分配原则(MinimalPriceDataAllocation,MPDA),将数据分配至当前时刻资源价格最低的数据中心以降低费用。对于资源供给部分,主要考虑了两种简单策略:①启发式策略(HeuristicVMProvisioning,HVP),基于历史时刻的资源需求决定当前时刻虚拟机资源供给量。为应对负载的波动性强的问题,我们在前一时刻所需要的资源量上增加50%作为当前时刻的资源需求量。②固定式策略(StableVMProvisioning,SVP),每种类型虚拟机保持固定供给量。为便于比较,我们将这一固定值设置为算法MiniBDP所得结果的平均值,此策略在T时刻内的总量与算法MiniBDP所供给的总量相等。对于Reducer选择部分,主要考虑两种策略:①迁移费用最小原则(MinimalMigrationCostReducerSelection,MCRS),即选择数据迁移费用最小的数据中心作为Reducer。②负载均衡原则(LoadBalanceReducerSelection,LBRS),即选择数据中心中Reduce负载最小的数据中心作为Reducer。因此,对以上各策略进行组合,可形成以下的不同方案:MiniBDP;SVP+PDA+MCRS、SVP+PDA+LBRS、SVP+LBDA+MCRS;SVP+LBDA+LBRS、SVP+MPDA+MCRS、SVP+MPDA+LBRS;HVP+PDA+MCRS、HVP+PDA+LBRS、HVP+LBDA+MCRS;HVP+LBDA+LBRS、HVP+MPDA+MCRS、HVP+MPDA+LBRS。图10示出的是不同方案的时间平均费用对比。如图10所示:①除了方案SVP+PDA+MCRS与SVP+PDA+LBRS之外,本文算法MiniBDP比其他算法在费用上都更优,这是因为这两种方案都将数据分配至距数据源最近的数据中心进行处理,必然导致最小的延迟费用。尽管如此,由于以上两种方案所对应的负载随着时间递增而递增,意味着不能保证系统的长时间运行,因此从实际情况来讲,方案SVP+PDA+MCRS与SVP+PDA+LBRS是不可行的,而本文算法MiniBDP具有保持数据本地化的特性。因此,考虑到以上结果,MiniBDP能够在数据本地化以及系统稳定性之间进行平衡。②HVP+LBDA+MCRS和HVP+LBDA+LBRS产生了最高的花费,这主要是因为这两种方案都采用了负载均衡的数据分配策略,数据分配至各数据中心是均等的,而从USA迁移大规模数据至巴黎不需要考虑延迟代价以及资源价格,必然导致高昂的延迟代价以及计算费用。如图11所示,在长时间运行后,MiniBDP是最稳定的(因为其队列长度保持最稳定)。然而,其他策略的队列长度随着时间的增长而增长,时间长了后必然导致系统的瘫痪。又注意到SVP资源供给策略与MiniBDP策略所供给的资源量是相同的,却比MiniBDP产生更高的费用以及更低的系统稳定性,因此MiniBDP能够在这三种决策之间进行优化以降低总体费用并提高系统稳定性。如前所述,HVP所供给的虚拟机资源量是在前一个时隙所需的基础上增加额外50%,利用了这些策略的方案并没有表现出好的性能,因为其对应的队列长度在时间轴上不稳定。另外,我们还将MiniBDP与线下最优结果进行了比较。由于原始问题包含60480个变量,(每个时隙中m、n包含60个变量;x包含12个变量;λ包含48个变量;因此对于336个时隙来讲共有180*336个变量),利用现存的优化工具(如GLPK、CPLEX、LPSOLVE等)很难在PC机上有效求解这种大规模整数非线性规划问题。因此,我们每隔一定间隔interval将T个时隙分割成若干时间段分别进行求解。由于这种方式中数据达到率是已知的,所获得的结果是线下次优解。并且在这种情况下,数据处理的最大延迟实际上被设置为interval时隙因为数据必须在interval个时隙内处理完成。在试验中,我们对比了不同interval对结果的影响。图12示出了不同时间间隔情况下时间累积费用的对比情况(optimal-x代表间隔为x),如图12所示,MiniBDP费用比interval=1interval=2以及interval=4的情况都要更低,并且interval越大,费用越低。我们认为这主要有以下原因:首先,在情况optimal-1、optimal-2以及optimal-4情况下,数据处理分别必须在1、2以及4时隙内完成;其次,更小的interval需要更多的虚拟机资源以更快地完成数据处理。然而,对于MiniBDP来说,其具有软延迟控制机制,可以通过设置参数ε和σ进行调整,通过设置较长的延迟,可降低总的费用。我们将MiniBDP与以上线下次优方法在求解时间上进行了对比,实验结果表明,MiniBDP求解时间远远低于线下次优方法,具有非常明显的优势。综上所述,本发明设计了一种最小化总费用为目标的数据移动的理论框架。借助于本发明的上述技术方案,通过使用李雅普诺夫优化框架获得目标函数的飘移-惩罚因子与其上界并提取虚拟机供给项的技术手段,平衡了跨数据中心的花费,高性能、高可用且花费最小地解决了跨数据中心云计算系统的调度问题。我们平衡了跨数据中心MapReduce数据处理两阶段产生的带宽费用,存储费用,计算费用,迁移费用以及延迟费用等5种费用;我们将复杂的费用最优化问题建模成联合的随机整数非线性优化问题,并同时最小化以上五种费用;通过利用李雅普诺夫技术,我们将原问题转化为对应虚拟机供给的子问题;我们对所提算法MiniBDP进行了详细的理论分析以证明MiniBDP在费用最优性以及最差延迟等方面的性能;基于真实世界历史数据,我们还通过仿真实验验证了理论分析的正确性以及MiniBDP相比其他典型算法的优越性。所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1