英语原文共 13 页,剩余内容已隐藏,支付完成后下载完整资料
混合云平台上对于硬实时限制程序基于成本的有效在线调度
摘要
随着公共云产品现在越来越多地与私有基础架构相结合,云计算在工业和科研领域也得到了广泛的应用。技术方面,如网络延迟,带宽限制,数据的保密性和安全性,以及经济方面的,如沉没成本和价格的不确定性的影响,是采用这样一个混合云模式的关键驱动因素。使用混合云需要确定哪些负载被外包,以及外包给哪些云提供商。考虑到应用的要求,如时间限制和对数据的要求等,这些决定应尽量减少在一个或多个公共云提供商的总工作量的一个分区上运行的成本。同时考虑到各种成本因素,定价模式和云供应商提供的产品,也就更需要在混合云模式下的自动化调度方式了。
在这个项目中,我们通过提出一系列算法来经济有效地在公共云及私有产品上对有时间限制的任务袋应用进行调度。我们的算法全面地考虑到了计算和数据传输费用以及网络带宽的限制。也对其在现实应用中的性能进行了评估,如是否节约成本、是否满足时间限制以及其计算效率等,并且在作业执行时间预估偏差对这些性能的影响进行了试验。
1、简介
外部托管的可以访问可扩展的IT服务的IT外包模式可以被灵活地获得并且以随收随付的方式进行释放。在云计算环境下,这种模式正日益地被广泛应用。我们通常采用美国国家标准与技术研究所的定义来描述这一计算模式,它的特点是按需自助服务,并通过广泛的网络访问获取由供应商的资源池为用户提供的快速的可扩展的资源。云服务进一步分类为基础架构即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS),它们分别提供IT基础设施、框架、软件开发和部署、以及焦点成品软件产品。
这个项目主要基于IaaS,即消费者能够获得在供应商的网站获得计算、存储和网络容量。为了获得计算资源,消费者在供应商的基础架构上发起一个服务实例,从而指定实例的特性,如可用的处理能力、主内存和I / O能力。我们常常把实例的概念物化成是在提供者的物理IT基础设施发起虚拟机。
在过去的几年中,随着供应商在定价计划,实例类型和服务方面快速地丰富他们的产品,IaaS的市场已经迅速成熟。例如亚马逊的弹性计算云,在不到六年的时间里,实例类型的数量从一增加到了十六,并从单一的按需定价模式变为了三种不同的定价模式。对实例区域的选择影响了可用带宽和等待时间方面的网络特性以及运行实例的费用。同时,IaaS供应商的数量也在显著增加,每个供应商以提供不同的服务、不同的价格、不同的资源(入口和出口的网络带宽,存储器,CPU容量)和性能交付来与其他供应商进行区分。
然而,虽然许多工具用于使消费者处理一些在多个公共云提供商分配资源时出现的技术问题。但是它们不以一种性价比最优的方式分配资源及提供应用程序级的服务限制支持,例如执行程序的完成时间期限等。由于这方面的缺陷,使得该方法容易出错并且耗时。尽管在目前的研究现状中,考虑到本地的IT基础架构的可用性,成本最优的资源调度和外部资源采购仍然是一个悬而未决的问题。此外,结构化的方法是必需的,它可以在多用户环境下优化资源分配。
在混合云建设和管理项目中,我们正在研究能够有效地构建和部署混合云软件组件和算法的设计,并且能自动进行资源配置和管理。在图1的软件架构概述图中,云采购端点(CPE)负责管理从公共云供应商进行资源采购。执行应用程序的请求由不同的决策支持系统(DSS)送到CPE,可以帮助用户在服务水平和成本的质量之间做一个折衷的决定。
本文中,我们主要关注兼容私有云和多个公共云供应商的成本优化的调度方式,分析了如何通过使用不同的调度算法,在资源配置中的批处理工作负载的情况下进行优化,并且使得能够降低作业成本的工作量模型参数得以实现。据我们所知,我们是第一个解决这种形式的混合云的资源分配问题的。在之前的工作中,我们为应用程序静态设置的优化问题提出了一个线性的解决方法。我们也在更为复杂且大规模的环境下对其进行了实验,结果表明其时间差异很大。在文献[22]中,采用了通过开发定制算法,使用具有成本效益的调度来解决这个问题的初步措施。我们扩展了工作量模式,使它包含了与数据集相关联的应用,使得我们能在进程调度中计算数据的传输速度。实验结果表明,当满足时间限制时,以成本为导向的方法得以实现,并且有助于显著降低潜在成本。
第2节的内容是问题描述及本文中使用的工作量模型。第3节介绍公共云调度算法和混合云调度算法。在第4节对提出的算法进行评估和实验设置的说明,相应的评估结果在第5节中进行展示。最后,我们在第6节中列举出该领域的相关工作并在第7节对我们的工作进行总结。
2、问题描述
2.1 云环境
在混合云环境,程序通过虚拟机实例对消费者内部资源进行部署和执行公共云提供商提供的资源。一个确定的实例类型需要确定CPU的数量和速度、存储器的数量、本地存储和虚拟机实例的架构。需要注意的是,一些供应商(如CloudSigma)没有固定的实例类型,并且允许用户自定义云服务器来满足他们的应用程序的具体硬件需要。在硬件性能的连续光谱上对一个应用程序的最佳云服务器配置是使得一个或多个服务器配置适用于应用程序相关联的成本的。从调度的观点来看,这些结构与供应商特有的实例类型相似,虽然简单,但增加支持细粒度用户配置的实例类型,几乎不影响作业的结果。因此,我们假设在这项研究中,每一个公共云提供商在虚拟机的每个实例上提供了许多固定实例类型和价格。如Amazon EC2 和GoGrid 按小时计费,这意味着运行云服务器61分钟和运行云服务器2小时收费相同。我们不考虑如持久性数据存储,监视或自动工作负载平衡额外服务的费用,因为它们和计算及数据传输费用相比是微不可计的。当数据集是数百TB的容量,或者应用程序需要经常存取数据,那么存储成本就非常高了。使用长期规划问题来决定数据存储的位置则超出了它的工作范围。研究的目的在于,消费者的内部架构被假定为支持一个类似于在一个公共云提供商也能允许虚拟机的灵活部署的资源分配模式,这种系统通常被称为私有云。我们假设一个公共云提供商能够满足所有实例的请求,从用户的角度来看,就具有无限量的可用IaaS资源了。但是我们的私有云允许同时运行的任务数量是有限的:所有正在运行的实例的CPU数量之和不得超过可用的CPU的总数。
应用程序可以在一个云提供商运行的前提是:应用程序的数据集应该在可用供应商的网站上。一些供应商,如亚马逊,在不同的大洲定义多个区域,以满足数据局部性的需求。我们假设所有的数据集驻留在该组织的私有云,由于数据集驻留在该组织的私有云,它们是立即可用的。
2.2 负载模型
异构工作量特征和发散用户要求确定特定应用程序的最佳云服务提供商和实例类型。在本文中,我们将范围缩小到某些特点和要求上,我们认为,它们足以展示一个混合云调度的操作和实施。目前的应用模型侧重于间歇式工作负载。适合这种模式的工作负载的例子是由一个包含仿真、图像和视频的独立实例包和高度并行的数据分析代码组成的模拟实验。
我们假设每个应用程序的工作负荷由若干平凡并行任务组成。任务上的实例类型建模为一组不相关的并行机。这意味着,每个任务可以在不同实例的类型上运行,每个实例类型都有由它执行任务的特定速度。此外,应用程序也与数据集相关联。我们假设全部数据集已经被转移到运行应用程序的云服务供应商上。并且,我们只专注于入站流量。
在本文中,应用程序在一个云供应商上进行整体调度,因为将应用程序分割在多个供应商上增加了其复杂性,并导致额外的数据传输费用。最后,每个应用程序都是硬实时相关的,应用程序中所有的计算任务在规定时间内必须已经完成其执行。
确定作业运行时间、模拟在不同进程上的任务的加速是一个很复杂的问题,这个问题已经被广泛地进行研究了,不在本文的讨论范围内。对于那些经常被重复执行的工作,我们认为它应该有可能建立比较精确的模型。但我们承认精确的预测可能是困难的,有时甚至是不可能的。但若要使得调度范围最佳,则依赖于所提供的运行时间估计的准确度。
3、算法设计
我们引入第2节中描述的问题域混合调度方法。所提出的解决方案由两个松耦合的部分组成:
·公共云调度程序决定所传入应用的一些参数,如为每个可用实例分配任务执行时间,并且决定公共云上的数据集大小,以此来执行这些应用。它考虑到了执行程序和数据传输的成本,以及在云供应商之间的数据传输速度的差异。
·混合云调度根据应用的时间期限和潜在成本决定了一个传入应用是否可以在组织者的私有基础架构上进行调度,或者是被卸载。
3.1 公共云调度
我们为应用程序A引入公式1,它由计算成本和在公共云供应商p上运行的数据相关成本组成。用Ta来表示任务组a,供应商p提供的实例组为ITp,在p上执行一个任务t的成本记为Ctask(t, p, it),由公式2来描述。a的时间期限是DLa。任务t的运行时间则由RTtit,p给出,这是在p的计费周期上,有成本计算四舍五入后得到的值。
调度程序计算在每个可连接的云供应商上运行程序的成本,并计算出调度一个应用中所有任务的成本最低的供应商。公式1中的第一个成本因子为公式3中在成本最低的实例类型上运行每一个任务的时间限制的情况下的计算成本Ccost。
公式1中的Cdata由公式4计算得出。应用的数据集大小为Da(GB级)。
需要注意的是,应用的数据集大小不仅影响到不同云提供商上数据传输的价格,还会影响到单个任务的运行时间。对于大量数据的应用,需要额外的传输数据时间要求,可以将其调度在一个更快的实例类型上以满足应用的时间期限。
为了使公共云调度程序将本地数据计算在内,我们更新了公式2中的Ctask的计算方法,只有实例类型被计算在应用的数据传输时间内,任务运行时间要小于时间期限DLa。我们将数据传输到云供应商p上的速度定义为TSp,如公式5所示。
3.2 混合云调度
在混合设置中,决定是否在用户自己的计算基础设施上运行一个程序还是由公共云提供商运行需要额外的计算逻辑。公共云调度组件决定将应用程序分配到公共或私有云调度组件上。它应该能够优化运行程序的总体成本,将程序因堵塞或高数据传输时间无法在时间期限内完成的可能性降到最低。在之前的研究中,曾经提出过一种混合云调度算法,计算在截止期限内在公共云上执行应用程序的潜在成本。该调度算法由私有调度的逻辑决定,然后由混合调度将控制权移交给公共或私有调度组件。但这种方法对于时间估计的误差十分敏感。一个较为简单的方法是将运行时间高估一段,这样能减少对于调度的负面影响,但也同时导致了成本的增加。另一个针对这个问题的解决办法是合并私有和混合组件,并通过不断估计时间来抵消误差。它依赖于单队列,其中应用等待要在私有云中执行。
图2为集成调度策略的概要,接下来对其进行更为详细的描述。CPUit为实例类型的cpu的数量,私有云供应商p中实例类型it上的task t的loadtask由公式6给出。
从混合调度的角度来看,在私有云上运行程序的成本微不可计,而且可用数据集几乎没有延时。因此,调度试图最大限度地提高本地的基础设施利用率。内部成本核算模型可以将成本分配到用户群,同时结合了在私有云上执行一个单个程序的机会成本。
结合先到先服务策略(FCFS)和最早时限优先策略(EDF),当一个新的程序被提交执行,它将被队列排序策略插入到队列中的适当位置。当处理在单处理器上的独立和先发制人的工作时,EDF被认为是最优的调度算法。我们预计在多处理器环境下处理带有额外数据请求的非先发制人的“任务袋”类型应用时,EDF策略对成本和满足截止期限的任务的数量有非常积极的作用。当程序还远未到其截止期限时,将有可能以更低成本的方式在公共云上运行,并且在其截止期限之前完成。
当拥有足够资源时,排在队列前面的应用将被尽快在私有云上调用。有一个经常被用于提高利用率的优化技术——回填。它允许短期工作在不耽误队列中其他作业的情况下被插入到队列头部,它可以应用在作业或CPU级别。当在当前状态下,某应用不能再其截止期限前完成的话,它将被从队列中移除,并送到公共云上。这种应用被称为不可行。在队列扫描算法2中,通过构建一个暂定时间表来检测不可行应用。这个时间表是基于不同应用的当前进展及其执行时间预估的,它将每N秒更新一次。
·成本最低的公共云:调度算法会忽略已经在私有云上运行的程序和比不可行程序工作负载更小的程序,并且选择成本最低的运用来在公共云上运行。算法4即这种选择策略的算法。
4、实验装置
我们用基于JAVA的离散时间模拟器来对调度算法进行评估。模拟器在拥有64个CPU核心和196GB存储器的基于6274的AMD Opteron系统上运行。
模拟运行时间取决于调度技术和仿真设置中使用的私有云的大小,以及队列扫描间隔N。我们在第5节中对N对于运行时间的影响进行评估。
4.1 云设置
我们在这里介绍亚马逊的EC2和GoGrid为使用者按需提供的公共云景观,以及他们所有的实例类型配置。对于亚马逊EC2而言,若不考虑实例类型,价格是按照区域进行区分的。作为参考,实例类型和对应的价格由表1-3给出。
在第2节中,我们假设从组织到每个公共数据中
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[153790],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。