云计算平台相关研究.docx

上传人:b****6 文档编号:5961725 上传时间:2023-01-02 格式:DOCX 页数:14 大小:110.92KB
下载 相关 举报
云计算平台相关研究.docx_第1页
第1页 / 共14页
云计算平台相关研究.docx_第2页
第2页 / 共14页
云计算平台相关研究.docx_第3页
第3页 / 共14页
云计算平台相关研究.docx_第4页
第4页 / 共14页
云计算平台相关研究.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

云计算平台相关研究.docx

《云计算平台相关研究.docx》由会员分享,可在线阅读,更多相关《云计算平台相关研究.docx(14页珍藏版)》请在冰豆网上搜索。

云计算平台相关研究.docx

云计算平台相关研究

云计算平台虚拟机调度策略研究

摘要

虚拟化是云计算平台资源能够灵活分配的基础,虚拟机资源分配和调度策略是影响用户体验与云平台性能的主要瓶颈。

传统的随机分配与轮询调度方式存在资源负载失衡、调度延时、扩展困难等问题。

本文考虑负载均衡、资源利用、用户体验、优化配置、高可靠性等,分别研究了集中式云平台与多域分布式云平台的虚拟机分配和资源调度策略。

针对IaaS模式下的云计算平台进行了调研分析。

首先对云计算平台进行了详细介绍,特别是IaaS模式的云计算平台的相关知识进行重点介绍。

在此基础上介绍了IaaS资源调度的相关理论和技术,其次是分析了当前IaaS模式云平台的资源管理技术现状与使用的虚拟机调度算法,然后对本文研究工作所要用到的基本理论进行介绍,主要包括具体的负载均衡理念和系统中使用到的一致性哈希算法。

关键字:

云平台,虚拟机调度,集中式调度,分布式调度

 

ABSTRACT

Virtualizationisthebasisforflexibleallocationofcloudcomputingplatformresources.Virtualmachineresourceallocationandschedulingstrategyisthemainbottleneckaffectingtheuserexperienceandcloudplatformperformance.Traditionalrandomallocationandpollingschedulingmethodshavesomeproblems,suchasresourceloadimbalance,schedulingdelay,andexpansiondifficulties.Consideringtheloadbalancing,resourceutilization,userexperience,optimizedconfiguration,andhighreliability,thispaperstudiesthevirtualmachineallocationandresourceschedulingstrategyofcentralizedcloudplatformandmultidomaindistributedcloudplatform.

FortheIaaSmodeofcloudcomputingplatformtocarryouttheinvestigationandanalysis.Firstofall,thecloudcomputingplatformisintroducedindetail,especiallytheIaaSmodelofcloudcomputingplatformrelatedknowledgeisintroduced.OnthebasisoftheIaaStheoryisintroducedandtheresourceschedulingtechnology,thesecondistheanalysisofthevirtualmachineschedulingalgorithmusingresourcemanagementtechnologystatusandthecurrentIaaSmodeofcloudplatform,andthenthebasictheoryoftheresearchworkinthispaperwilluseareintroduced,includingtheconsistenthashingalgorithmtousethebalancedideaandconcretesystemloadin.

Keywords:

CloudPlatform,VirtualMachineScheduling,CentralizedScheduling

 

 

第一章绪论

借助于云计算平台,用户可以使用云存储、服务计算、云应用,也可以利用云计算平台提供的虚拟机进行计算或者搭建自有服务,如何能够高效的利用云计算平台的虚拟机,将是我们主要关注并解决的问题。

1.1引言

云计算平台也称为云平台,云计算平台可以分为三种模式:

以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台[1]

云平台能够利用互联网提供各种服务与资源,包括软硬件资源与各种云计算服务。

云平台可以提供给用户各种配置的机器,从而省去用户自己购置、部署、维护自己的硬件设备的麻烦,并且可以随时随地去访问各种云平台服务[2]。

云计算平台中包含大量的物理硬件资源,这些资源或集中或分散的放置在各个地域,包括存储设备、网络设备、主机设备、处理器、内存、数据库等等[3]。

云平台要解决的首要问题就是如何利用这些硬件设备构建安全、高效的云计算资源池,将这些资源以虚拟机的形式提供给用户使用或者构建属于用户自己的服务。

1.2研究背景与意义

如今,在云计算技术及相关产品的不断发展与普及下,越来越多的企业与个人已经将云计算平台作为使用IT资源的首要选择。

云平台的许多优良的特性使得他在民生、金融、军事、商业领域有广泛的应用,很多国家的相关领域已把云计算纳入国家重点发展规划中。

在我国,关于云计算的研究与应用正处于摸索阶段,很多技术与方案也都是借鉴与国外的成熟商业应用或者开源框架,自身关于云计算研究方向的人员与规划也较少,因此,积极开展云计算领域相关研究与工作是当前我国信息化建设的重中之重。

规模化的硬件部署与较高的资源利用率是云计算平台重点关注的两个问题,同时也是决定整个云计算平台发展与应用的重要因素。

云计算平台利用虚拟化技术将大量的物理硬件资源整合成虚拟的巨大的网络资源池,形成源源不断的云资源,云服务提供商可以将普通硬件资源划分成具体配的虚拟机,用户根据自己的需求去支配虚拟机,而不用关心这些具体资源的来源与维护。

作为云平台提供者必须关注各式各样的用户需求,可提供的资源利用方式也是难以预料的规模[4],因此,能够在尽可能保证用户具体需求的前提下,运用较为合理的云计算资源分配策略与针对性的资源调度方案,避免用户使用成本的增加与不可靠情况出现,降低云计算服务提供商设备成本与资源浪费情况,已经成为当前云计算平台领域较为突出的问题。

第二章云计算平台概述

2.1云计算平台

云计算技术是信息技术产业发展的大趋势,是近年逐渐兴起的一种共享基础架构的方法。

云计算技术将庞大的资源池连接在一起,通过互联网提供多种应用和服务。

云计算技术可以延伸到IT基础设施、软件研发等方面的服务。

随着云计算技术的兴起,云计算平台己经成为全球信息技术行业的热门话题。

转向云计算,是业内的趋势,各种类型的云平台在这种环境下应运而生。

云计算平台包含:

SaaS(Software-as-a-Service)软件即服务,PaaS(Plartform-as-a-Service)平台即服务以及laaS(Infrastructure-as-a-Service)基础设施即服务。

SaaS是Software-as-a-service的简称,意为软件即服务。

随着互联网技术的发展,SaaS从21世纪之初开始兴起,是一种新颖的软件模式,是逐渐成熟的应用软件技术在互联网环境下的产物。

它是云计算领域应用最广泛的服务,也是最成熟的产品。

用户可以通过互联网使用SaaS提供的软件和应用程序。

SaaS模式大幅降低了软件的使用成本,同时,由于软件是托管在供应商的服务器上,可以降低客户运维的成本,安全性和可靠性也相应提高。

Salesforce是SaaS模式的一个典型代表。

PaaS是Platform-as-a-Service的简称,意为平台即服务。

PaaS将提供计算能力和开发环境的平台作为一种服务提供给用户来使用。

使PaaS平台的开发人员可以在不购买服务器的情况下,方便、高效地开发应用程序。

Google的App引擎,微软的Azure是PaaS模式的典型代表。

laaS是Infrastructure-as-a-Service的简称,意为基础设施即服务。

laaS把数据、虚拟资源、基础设施等资源通过互联网提供给用户。

laaS领域最引人瞩目的产品是亚马逊公司的ElasticComputeCloud。

同时,IBM、VMware等公司也推出了相应的laaS产品。

laaS模式体现了云计算按需付费的理念,通过“弹性计算云”,用户可以根据自身的需要选择接入基础设施资源。

清华大学陈康与郑纬民在《云计算:

系统实例与研究现状》一文中指出了云计算所包含的三个基本的特征:

第一个是云计算平台由大规模的廉价服务器所构成的集群所支撑;第二是应用程序与底层服务协作开发,最大限度地利用云计算平台各个节点的系统资源;第三个是通过使用廉价服务器进行数据资源的冗余存储,之后通过软件来保证云计算平台的高可用性。

Google云计算平台的实践表明用廉价服务器组成的超大规模集群,在可靠性、稳定性和计算能力上,均能达到大型计算机的标准。

即对于Google每天需要处理的海量数据和复杂计算,在保证系统延展性和良好运行效率的基础上,都可以通过架构在廉价集群之上的云计算平台得以实现。

Hadoop是Apache软件基金会旗下的一个开放源码的分布式计算编程工具和分布式文件系统,它主要包括两方面的内容:

HDFS——分布式文件系统,MapReduce—分布式计算模型,它们是Google云计算平台中MapReduce计算模型与和Google文件系统(GFS)的一个开源实现。

在世界范围内,Hadoop在地震研究、自然语言处理研究、数据挖据等方面也有着广泛的用途[5]

2.2云计算平台的特点

云计算平台,尤其是PaaS平台,具有以下特征:

1.需要互联网接入,通过互联网连接用户和云计算平台,使用户获得云计算平台所提供的服务。

服务无所不在,没有时间、地点限制,任何设备上只要登录后即可使用。

2.服务无所不在,没有时间、地点限制,任何设备上只要登录后即可使用云平台的服务。

3.用户决定应用,用户只需要使用云计算平台提供的计算能力,遵守云计算平台设置的限制,开发出多种多样的应用。

4.服务按需付费,比如存储服务,数据服务,带宽等,用户可以根据需求定制。

5.云计算平台通常提供给多于一个的租户,各租户之间相互隔离,像不能感知彼此存在一样地独立的使用平台。

6.云计算租户内部会有不同用户的分工,用户会被指派不同的角色,不同角色对平台的使用各不相同。

2.3云计算平台的服务类型

计算机体系结构将计算机划分为拥有CPU、硬盘、内存等硬件设施的硬件层,运行在硬件层使用和管理这些具体硬件资源的操作系统层,以及运行在操作系统上运用系统提供的开发平台并依靠这些平台开发的具有具体功能的应用软件层。

云计算平台正是依照这一思想,将整个云计算平台根据逻辑和运行在云计算按照服务提供方式大致上可以分为三种类型:

以基础设施作为服务(IaaS)、将平台作为服务(PaaS)和将软件作为服务(SaaS),如图2.1所示:

图2.1云计算的服务类型

1)基础设施即服务(IaaS)

IaaS通过将基础硬件设备等计算机相关硬件资源封装成服务以便客户使用,例如亚马逊云计算AWS(AmazonWebService)的弹性计算云平台EC2与简单存储服务S3[15]。

在基础设施即服务环境下,用户使用服务就如同使用一些基本的计算机裸机和存储介质,既可以选择windows,也可以选择linux,因此用户可以使用服务完成任何需要的服务。

IaaS最显而易见的优势是可以允许用户动态申请或者释放服务节点,按使用规格收费。

搭建IaaS平台的服务器数量能够达到百万台甚至更高数量级,因而可以保证用户能够使用的平台资源是绝对能够保证需求的。

2)平台即服务(PaaS)

PaaS对物理硬件资源的抽象更加深了一层,它可以将硬件资源搭建成一个软件平台,提供云应用的运行环境以及构建云应用的一些开发环境,例如GoogleAppEngine,微软公司的云计算操作形同MicrosoftWindowsAzure也属于这一类应用。

PaaS模式能够自我进行资源的动态变化与稳定性管理,用户完全不用考虑应用在多个节点间的协同工作问题。

但是这种模式带来了一定的问题,用户失去了自主权,无法自主决定和配置相应的软件环境,必须利用平台提供的编程环境以及遵守平台特有的程序编写模型。

这种方式如同在高性能计算机集群里面执行MPI编程,它只应用于解决一些需求既定的计算问题。

比如,上面提到的GoogleAppEngine只能限制用户使用Python和Java语言、依靠Djiango的web服务框架、借助于自身提供的GoogleAppEngineSDK来编写平台在线服务程序。

平台即服务的最关键的技术点是利用分布式系统技术,平台即服务中的整个平台的操作系统的组织结构是将资源以分布式集群的方式组织利用起来,在此结构上,平台提供相应的系统开发环境已经系统软件和应用平台供用户使用。

3)软件即服务(SaaS)

软件及服务利用Internet来提供软件应用的模式,服务提供商将自由的软件应用部署在云计算服务器上,使得用户可以根据自身需求,利用互联网向云计算服务提供者订购符合自己业务需求的软件应用,按照使用时长与服务类型支付费用。

这样可以免去用户购买某些高昂软件所需的代价,而是根据需求去租用部署在云平台上面以web应用方式提供的软件应用,来完成具体的工作或者任务。

用户无需对这些软件应用进行升级或者维护,而把所有的软件应用管理和维护重担都落在了服务提供商的身上,使得用户可以把更多的精力放在自己的核心业务上,而且平台服务提供者在向用户提供互联网应用的同时,也向用户提供数据存数等附加业务,这样便方便用户随时随地订购和使用平台软件服务。

在很多小企业或者一般用户看来,软件即服务是自身能够采用先进的IT技术的最佳方式,这种模式免去了用户或者企业购买、搭建和后期维护硬件设施和所需要的软件应用的巨大的工作量,大大提高了硬件资源的利用率以及降低自身使用成本。

软件即服务的针对性更强,它将一些特定功能的软件应用封装成云服务供用户使用。

例如Salesforce公司推出的客户在线关系管理CRM(ClientRelationshipManagement)服务。

软件即服务既不同于平台即服务一样可以提供操作系统以及存储资源等平台性的软件框架,也不同于基础设施即服务一样提供用户人已部署或者使用的硬件平台基础设施,它只是提供给用户一些特定功能的软件应用供用户使用,目前Amazon的EC2/S3也是此种模式的典型应用。

第三章云平台虚拟机资源调度策略研究

3.1IaaS模式介绍

在云计算平台的以上三种构建模式中,IaaS模式是现有的平台使用最广泛也是最可靠的使用模式,因为无论是PaaS和SaaS两种模式,用户只能使用现有的平台提供的服务,因此上述两种模式由于平台提供服务类型的局限性以及用户需求的多样性很难满足现有的市场需要,而IaaS模式只是提供硬件资源,而允许用户搭建任意满足自身需要的软件及应用环境,因此具有相当大的市场前景。

由于IaaS使用模式对用户限制最小而且也对云服务提供者留下更多的业务扩展空间,并且PaaS模式与SaaS模式都可以在IaaS模式的基础上扩展而来[8],使得IaaS成为最主要的云平台最初部署方式,本文所研究的虚拟机分配算法即是针对IaaS模式的。

3.1.1基础设施即服务模式简介

如上文所述,IaaS模式是以基础硬件设施为具体服务的资源应用模式,以目前云计算平台的发展与现状来看,IaaS模式是当前云计算领域最具有发展前景的平台部署方式。

就应用方式来看,用户在使用IaaS服务过程中,用户的使用模式与其使用普通web资源的方式无太大差别,用户设置可以利用浏览器来获取具体的服务。

但是,这种新型的互联网资源获取方式与之前的通过web浏览器获取资源的方式的主要区别在于,以往的互联网资源都只是一些具体的信息资源,而IaaS模式下的用户可以访问到具体的硬件资源,比如存储、网络带宽、服务器、分布式计算资源等一些基础硬件设施资源,用户可以利用这些基础资源自主化的部署并使用互联网服务。

通常情况下,IaaS模式的出发点是将一些IaaS服务(例如存储、网路、计算能力等)组合搭配起来提供给用户,而这种方式最直接的办法就是将这些硬件资源虚拟成具体配置的虚拟机[9],由于地域等原因,用户并不能直接去接触到具体的服务器、存储设备、网络设备等,因此服务提供者将用户所需的具体资源配置划归到一个虚拟机中。

客户根据需求申请到相应的虚拟机,利用账户名和密码就可以登陆进具体的虚拟机来进行操作,就如同使用自己配置的具体硬件设备,从而节省大量的成本。

IaaS模式具有特别弹性的资源利用机制,用户在使用时获取到一定量的资源组合,在使用结束后,平台便可以将这些资源回收回去,继续组成资源池,各部分资源可以按一定的需求随意组合。

因此,这种使用方式必然会需要特别严密的逻辑结构以保证合理的平台资源管理。

3.1.2IaaS模式逻辑架构

在IaaS模式下,虚拟化技术主要是对硬件资源池进行物力资源的抽象化管理,划归成各种配置的虚拟机。

平台底层主要是对部署的物理资源的虚拟化,中间层就主要是对整个虚拟化资源池的管理与接入优化,服务层则主要是针对相应的用户进行管理与虚拟机的使用调度。

IaaS模式的逻辑结构如图3.1

1)资源层

位于平台架构最底层的是资源层,即是整个平台的基础设施部分,主要包含有整个平台所拥有的物理硬件资源,如硬件服务器、网络资源、存储资源与其他硬件资源。

在基础设施云计算平台中,资源层的所有设备都不是单一或者独立的物理硬件,也不局限于特定的地域范围,而是将可用的物理硬件整合起来,构建一个超大规模的硬件资源池。

2)虚拟化层

处在底层资源层之上的是虚拟化层,虚拟化的目的就是将物理资源池的硬件资源按照用户需求或者相关业务需要,按照一定的组合将各部分硬件打包成一个虚拟机,即特定规模的计算资源。

虚拟化层主要囊括了各种虚拟化技术,其是IaaS平台的核心功能,是确保IaaS平台能够顺利实施的基础。

凭借这些先进的虚拟化技术,才能够使得IaaS模式下的云平台灵活构建不同规模、不同配置的资源组合方式,并且也能够在使用过程中对相应的资源进行动态调整。

在IaaS模式的云平台构建中,虚拟化技术是必不可少的一项技术。

图3.1IaaS模式逻辑架构

3)管理层

虚拟化层之上则是平台的管理层,管理层的主要任务是对下层资源组织方式的管理与维护,包括对虚拟机资源池的管理,也包括对物力资源的分配,并且也肩负着对硬件资源运行状况的收集与维护。

管理层要时刻关注当前物理资源的运行状况,决定如何依靠虚拟化技术将组成平台的物理硬件资源打包划归到具体虚拟机,也要时刻关注当前平台运行的可靠性、稳定性与负载均衡。

4)服务层

服务层处在整个平台架构的最上层,同时也是处在直接与用户进行交互的地位,主要任务是面向用户,给用户提供使用上述的管理层、虚拟化层和资源层的方式。

该层不论是利用虚拟化层将物理硬件资源构建出特定需求的虚拟机,或是利用管理层的功能去调度或者控制虚拟机以及虚拟机所使用的资源,都是需要一种很易于交互的方式来使用这些具体服务,因此能够在IaaS平台上成功跨越多层的提供服务将是一个具有挑战性的工作。

3.1.3Iaas模式关键技术

IaaS模式之所以成为主流云平台搭建模式,主要依赖于该模式下相应的技术支撑,多项先进技术不但能够确保云平台的服务提供可靠稳定,也是确保云平台管理者高效、合理的利用或者部署硬件资源的前提。

其中,虚拟化技术、平台管理技术、调度监控技术是最主要的核心技术。

1)虚拟化技术

虚拟化技术最初是在上世纪六十年代被IBM所提出的,当时的出发点是IBM想用此技术来保证对公司内部的所有的代价高的硬件最优化利用。

随后由于IT产业的不断发展,各种硬件成本的快速下降以及硬件性能的不断提升,个人计算机的性能越来越强大,导致虚拟化技术应用的场景不断缩小,其关注度迅速降温,但是伴随着云计算以及分布式平台的发展又导致虚拟化技术越来越被人重视,而且虚拟化技术的发展前景也是一片光明。

虚拟化技术采用硬件模拟与仿真的方式,可以利用现有的硬件设施虚拟出相互独立的虚拟硬件集成环境,即虚拟机。

用户使用这些虚拟机就如同使用自己的个人PC或者相关设备,可以自主部署各种操作系统以及运行相关的应用程序。

虚拟化技术主要是对主要的硬件设备进行虚拟化操作,包括CPU虚拟化、内存虚拟化、存储设备虚拟化和I/O虚拟化等,为了确保底层设备的抽象,保证上层虚拟机与相关硬件的低耦合性,虚拟机被屏蔽掉对底层硬件的直接访问而是将

指令或者请求发送到硬件服务器上的虚拟机监控守护程序,然后监控程序对相关指令进行解释,并交由底层硬件完成具体指令。

虚拟机监控器可以对下层硬件诸如CPU、内存、硬盘、网络、IO等任何设备进行调度,然后会将这些硬件资源根据虚拟机配置划归给相应的虚拟机,并且也能够对上层的虚拟机进行控制。

为了方便平台使用者利用平台资源,虚拟机监控程序可以将上述管理方式以API的形式提供给用户,这就保障了平台管理者不用去关注具体实现细节,而将精力放在具体的调度维护上。

2)平台管理技术

正是由于虚拟化技术将云计算底层硬件设备完全利用,同时也提供了相应的管理接口供管理者利用,因此,管理者只需将工作重点放在如何合理的管理并调用大量的服务器与硬件资源[10]。

这就需要如何利用底层接口并配合高效的平台管理技术去对资源池进行合理的规划与调度,从而确保服务的可靠性与稳定性。

现如今,很多企业或者组织都关注着IaaS模式下的平台管理技术,例如vmware公司的vSphere,很多开源机构的cloudstack、openstack和Eucalyptus等一系列开源平台架构。

这些现有的系统大多数都会囊括服务器资源管理、网络设备管理和相应的存储等服务,而且会提供相应的操作接口或者交互性良好的界面管理面板。

底层主要是利用XEN或者KVM等虚拟化平台对服务器进行虚拟化,从而去管理硬件资源。

网络设备管理则是可以提供虚拟的网络配置、网络路由的网络划分等网络服务。

开放接口和图形界面都可以提供给上层管理者相应的管理、监控、调度资源池资源的功能,例如对虚拟机的创建、删除、挂起、关闭等基本操作,而且也包含有对虚拟机的资源进行动态扩展、磁盘分配、网络划分等高级操作,功能十分健全。

3)平台监控技术

为了确保IaaS模式云平台的可靠运行,对平台的监控则成为了一项必要的工作任务。

监控管理是云平台必不可少的一项举措,特别是针对云平台运行时的故障检测、负载均衡以及动态资源调整是监控工作的核心内容。

监控程序可以统计并反馈控制云平台的资源利用、健康程度、资源调度并提供处理依据,监控功能在云平台中具有极其重要的作用。

由于云计算平台规模十分庞大,因此在设立监控模块时不仅要对平台能够进行可靠地监控,而且还要考虑规模过大而导致的监控性能下降等因素,因此要针对不同的云平台部署防暑提供不同的监管机制。

在规模较小的情况下,一般考虑对所有的资源进行集中式监控,只设立一个监控服务中心

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1