云平台虚拟化性能的评测与研究①

2016-04-26 02:56吴可心李正民张兆心沈英洪
高技术通讯 2016年12期
关键词:资源分配磁盘评测

吴可心 李正民 张兆心 沈英洪

(*哈尔滨工业大学(威海)计算机科学与技术学院,网络与信息安全技术研究中心 威海 264209)(**国家计算机信息内容安全重点实验室(威海) 威海 264209)(***国家计算机网络应急技术处理协调中心 北京 100029)(****中国科学院信息工程研究所 北京 100093)

云平台虚拟化性能的评测与研究①

吴可心②***李正民*******张兆心③***沈英洪***

(*哈尔滨工业大学(威海)计算机科学与技术学院,网络与信息安全技术研究中心 威海 264209)(**国家计算机信息内容安全重点实验室(威海) 威海 264209)(***国家计算机网络应急技术处理协调中心 北京 100029)(****中国科学院信息工程研究所 北京 100093)

阐述了虚拟化技术是云平台实现的关键技术,虚拟化性能是衡量云平台性能的重要标准。为评测与研究云平台的虚拟化性能,建立了一种云平台虚拟化性能评测模型,并对UCloud和百度开放云平台这两个云平台的虚拟机性能及其损失、虚拟资源分配和虚拟机稳定性进行了测试,并对测试结果进行了分析。结果表明,建立的评测模型可以准确地分析UCloud云平台和百度开放云平台的虚拟化性能,可以应用于其它云平台虚拟化性能的评测。

云计算, 云平台, 虚拟化, 性能, 评测模型

0 引 言

随着互联网技术的不断发展,在科学、IT、信息等领域对数据计算和数据存储的要求不断提高,一种全新、高效的计算模式——云计算的概念由此被提出[1,2]。云计算是一种按使用量付费的模式,这种模式可提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池。这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互[3]。云计算具备超大规模,具有虚拟化、按需服务、高可用性、高高性价比、高通用性、高扩展性、高灵活性等特点[4]。云平台支撑了云计算服务的实现,在开发者和使用者之间起承上启下的作用。云平台对资源进行了整合和利用,其下层的支撑技术是虚拟化技术[5,6]。通过虚拟化技术,云平台将物理资源整合成虚拟资源池,增加了物理资源的利用率和服务提供的灵活性。虚拟化的概念最早出现在20世纪60年代,当时IBM发明了一种操作系统虚拟化技术,在一台主机上运行多个操作系统,节省了资源。此后,虚拟化的概念变得逐渐成熟,几乎应用于计算的所有方面——内存、处理器、软件、网络以及提供的服务[7]。云计算的概念出现以后,虚拟化技术成为云计算的技术支撑,增加了资源的利用率和灵活性,利于资源管理。但虚拟化技术增加了云平台的复杂性,带来了性能损失[8],因而对虚拟化性能的评测具有十分重要的意义。Popek和Goldberg[9]提出了经典系统虚拟化模型,该模型指出CPU的指令集体系结构中,敏感指令必须是特权指令的子集时,操作系统才能成为虚拟机监控器。这种特性使得只有当客户操作系统执行敏感指令时,虚拟机监控器才会陷入到0特权级去执行敏感指令。标准性能评测公司发布了两款不同的基准测试程序套件,分别叫做VMmark[10]和vConsolidate[11],然而它们都依赖于一个针对邮件服务器的叫做LoadSim的基准测试程序,这个基准测试程序只能配合微软的Exchange Server使用。兰雨晴等人[12]使用传统操作系统的性能评测工具评测了Linux下4款开源虚拟化技术的基本性能。他们在研究过程中使用了一些基准测试程序来分析不同的虚拟化技术在不同的工作负载中的性能。可以发现,鉴于虚拟化性能对云平台带来的复杂性等特征,目前的评测都存在一定的限制条件,不具有通用性。

本文设计了一种通用的云平台虚拟化性能评测模型,从虚拟机性能及其损失、虚拟资源分配和虚拟机稳定性三个方面对云平台的虚拟化性能进行研究。在UCloud云平台和百度开放云平台上进行了对比测试,证明了本文建立的评测模型可以对UCloud云平台和百度开放云平台的虚拟化性能进行评测,进一步可以应用于其它云平台虚拟化性能的测试,为云平台服务商改进云平台虚拟化性能和用户选择相应的云平台提供参考。

1 云平台虚拟化性能评测模型

本文的虚拟化性能评测包括虚拟机性能及其损失、虚拟资源分配和虚拟机稳定性三个方面。在每个测试项目中,包含一种或几种基准测试,基准测试内容包括:

CPU性能测试:CPU性能反映了云平台中虚拟实例的运行速度和计算能力,通过执行计算密集型任务的时间来体现。本文使用Sysbench[13]来测试CPU性能,Sysbench在测试CPU性能时,进行素数的加法运算并考察运算所用的时间。可以根据需要指定最大的素数范围。

内存性能测试:内存性能对云平台执行各种任务的速度产生影响,通过内存带宽来反映。本文使用Stream[14]来测试可持续运行的内存带宽。Stream通过Copy、Scale、Add和Triad四种操作来测试内存性能。可以根据需要指定进行随机试验的次数。

网络性能测试:云平台中的虚拟机需要通过合作完成任务,高质量的网络是良好通信的保证。网络性能可以通过带宽、延迟、丢包率等指标反映。本文采用Iperf[15]对网络性能进行测试,Iperf可以通过设置不同的参数报告带宽、抖动和数据包丢失等。可以根据需要设置不同的测试参数。

磁盘性能测试:磁盘性能对数据存储、文件读写产生影响,通过对不同大小的文件读写的速度来考察。本文采用Iozone[16]来测试磁盘性能,Iozone通过对磁盘进行不同读写操作的速度来反应磁盘性能,测试的模式包括读、写、随机读、随机写等12种。可以根据需要指定读写文件的大小和测试模式。

整体性能测试:测试虚拟机的整体性能,通过虚拟机Unixbench[17]总分来反映虚拟机的整体性能。Unixbench是开源的Linux性能测试工具,可以综合测试虚拟机的CPU、内存、文件、进程、脚本、系统调用、管道等多个维度,并且会给出一个总分,这个总分体现了虚拟机的整体性能。

1.1 虚拟机性能及其损失

云平台可以提供很多虚拟资源供用户使用,虚拟机是其中的重要代表。虚拟机不仅可以作为服务直接提供给用户,也是虚拟化性能的体现。对虚拟机性能的测试主要包括CPU性能、内存性能、网络性能和磁盘性能。

由于在云平台的物理资源与虚拟资源之间存在着虚拟化层,因此虚拟机的性能会有一定损失。虚拟机性能损失是虚拟化性能的重要体现,因此对虚拟机性能损失进行考察是必要的。虚拟机性能损失测试相同配置的物理机的CPU性能、内存性能、网络性能和磁盘性能,与虚拟机形成对比,得出虚拟机性能损失情况。

1.2 虚拟资源分配

由于云平台的虚拟化特征,一台物理主机可能虚拟出多台虚拟机,因此虚拟机之间会形成资源竞争,对虚拟资源的分配是否公平是云平台虚拟化性能的体现,因此对云平台的资源分配进行考察。在云平台上可同时运行多台配置相同的虚拟机,虚拟机的CPU性能、内存性能、网络性能和磁盘性能,可反映云平台对各种虚拟资源的分配是否公平。

1.3 虚拟机稳定性

虚拟机运行在共享的硬件上,单一时刻的性能并不能体现虚拟机的综合性能和性能的稳定性。因此,还需要考察虚拟机性能随时间变化的情况。考察在一段连续的时间内,虚拟机整体性能的变化,以此来反映虚拟机稳定性。

1.4 虚拟化评测模型的建立

利用模糊综合评价法[18]建立虚拟化性能评测模型。

(1) 确定虚拟化性能评测模型因素集

根据测试内容及其包含的基准测试,将整个因素集分为两级。设因素集为U,因素集需要满足条件是划分的子集不相交,并且可以构成全部评价因素,U的两级模型如表1所示。

表1 虚拟化性能评测模型两级因素

U(评价因素集)={u1,u2,u3}={虚拟机性能及其损失,虚拟资源分配,虚拟机稳定性};u1={u11,u12,u13,u14}={CPU性能及其损失,内存性能及其损失,网络性能及其损失,磁盘性能及其损失};u2={u21,u22,u23,u24}={CPU资源分配,内存资源分配,网络资源分配,磁盘资源分配}。

(2) 确定虚拟化性能评测模型评语集

评语集是对被评价对象可能被评价的评语集合。根据最后的测试结果,对虚拟化性能进行评价,确定评语集为V={合理,不合理}。最后评价结果的原则是取最大的评判值,假设最后的结果为(0.6,0.4),则认为虚拟化性能合理。

(3) 确定各因素的权重

由于涉及到两级因素模型,因此按照多级因素的方法进行评判,利用层次分析法[19]确定每级因素的权重指标。首先确定第一级因素的权重,步骤如下:

(a) 建立层次结构模型

建立的层次结构模型,主要包括两层因素,目标层和因素层,如图1所示。

图1 云平台虚拟化性能层次结构图

(b) 构造判断矩阵

对各个因素的相对重要性进行判断。在进行判断时采用一致矩阵法,有两条原则:一是将所有影响因素每两个进行相互比较,而不是一次性比较所有因素;二是在进行比较时,采用相对重要性量度,这样可以降低各影响因素的比较困难,提高准确度。判断矩阵中的元素 用1到9标度方法给出。表2给出了相对重要性比例标度。

利用如表2所示的相对重要性比例标度,对虚拟机性能及其损失、虚拟机资源分配及虚拟机稳定性进行相对重要性比较,例如虚拟机性能及其损失比虚拟机稳定性稍微重要,于是记a13为3,a31为1/3,其他同理,得到判断矩阵如下式所示:

(1)

表2 相对重要性比例标度

(c) 确定权重系数

对矩阵B首先按列归一化得到矩阵C,C中元素计算公式如下式所示;

(2)

然后按行相加得到矩阵D,D中元素计算公式如下式所示:

(3)

最后将矩阵D进行归一化处理,得到权重向量A,计算公式和计算结果如下:

(4)

A=(0.54 0.30 0.16)

(5)

(d) 一致性检验

在构造判断矩阵的过程中,如果a比b重要2倍,b比c重要3倍,a比c重要2倍,就出现了不一致现象。在出现不一致的情况下,定义一致性指标CI和一致性比率CR:

(6)

(7)

其中λ是矩阵的最大特征值,n为矩阵阶数;RI是平均一致性指标,与矩阵的阶数相关,三阶矩阵的RI是0.58,λ的计算公式为

(8)

计算得出λ=3.005,CI=0.0025,CR=0.0043<0.1,认为矩阵具有满意的一致性。综上,确定一级权重指标为A=(0.54 0.30 0.16)。同理确定二级权重指标A1=(0.25 0.25 0.25 0.25),A2=(0.25 0.25 0.25 0.25),A3=(1)。

(4) 确定模糊关系矩阵

设模糊关系矩阵为R,R根据测试结果而来。在测试结果中,将虚拟机及其性能损失分为4部分。对于每一部分性能及损失来说,跟物理机相比的损失部分如果在可接受的范围,则认为性能及其损失是合理的,将对应的值记为(1,0),否则记为(0,1),其他类似;将虚拟资源分配分为4部分,对于每一部分资源分配来说,分配到不同虚拟机的资源差距在一定范围内,则认为资源分配合理,将对应的值记为(1,0),否则记为(0,1);对于虚拟机稳定性来说,在测试时间内,性能没有出现太大的波动,则认为稳定性为合理,将对应的值记为(1,0),否则记为(0,1)。

根据对u1集合中的元素进行测试,得到R1;根据对u2集合中的元素进行测试,得到R2;根据u3集合中的元素进行测试,得到R3。

(5) 多指标综合评价

利用合适的模糊合成算子将A与R合成得到模糊综合评价矢量B,首先进行一级模糊综合评判,利用式

(9)

计算B1,B2,B3,其中“°”代表模糊合成算子,常见的模糊合成算子有4种,课题中采用M(·,⊕),计算公式为

(10)

接下来进行二级综合评判,利用式

B=A°R

(11)

得到B之后取最大的评判作为模糊评价结果,其中R如下式所示:

(12)

2 测试结果

利用本文建立的云平台标准评测模型,针对其中的每项测试内容和测试指标,用相应的测试工具在UCloud云平台和百度开放云平台上进行实际测试,给出测试结果和分析。测试过程中使用的虚拟机配置如表3所示。为不同的测试项目编写了不同的测试脚本,测试脚本中会进行测试工具及依赖软件的自动安装和部署,并且收集测试结果。为了保证测试的正确性,每一项测试都单独进行。

表3 虚拟机配置

2.1 虚拟机性能及其损失测试

虚拟机性能测试在单个虚拟机上进行,主要体现云平台中单个虚拟机的性能;虚拟机性能损失测试在与虚拟机配置相同的物理机上进行。虚拟机性能及其损失测试包括CPU性能、内存性能、网络性能、磁盘性能等4个方面。

CPU性能通过密集型任务的计算时间来反映,图2展示了计算200000之内的素数的Sysbench结果。可以看出两个云平台的计算时间相差不是很大,但是两个云平台的计算时间与物理机相比都存在一定差距,即两个云平台的计算性能低于物理机。

图2 CPU性能及其损失测试结果

图3展示了对虚拟机进行10次随机Copy、Scale、Add和Triad操作的平均读写速度结果。可以看出,UCloud云平台和百度开放云平台在Copy、Scale、Add和Triad四种操作上内存性能接近,但与物理机相比,UCloud云平台和百度云平台还存在2000MB/s左右的差距。

图3 内存性能及其损失测试结果

网络性能测试在两台虚拟机上进行,分别作为服务器和客户端,测试在UDP模式下,以100Mbps为数据发送速率,客户端到服务器上传带宽测试,测试时间为60s,每次报告的时间间隔是5s。图4表示UCloud云平台、百度开放云平台和物理机网络性能测试结果。从图中可以看出,物理机和两个云平台的网络性能都很稳定,物理机的带宽达到最大,两个云平台带宽接近最大;抖动基本小于0.02ms;由于内网测试,都没有出现丢包情况。

磁盘性能测试测试虚拟机对从1MB到8GB大小的文件进行随机读/写的速度。测试结果如图5所示。从图5可以看出,UCloud云平台和百度开放云平台的随机读写性能整体趋势相似,当文件大小超过本身内存时,文件随机读写能力迅速下降,与物理机相比磁盘性能还存在一定的差距。

图4 网络性能及其损失测试结果

图5 磁盘性能及其损失测试结果

从虚拟机性能及其损失的测试结果来看,两个云平台的网络性能与物理机相接近,而计算性能、内存性能和磁盘性能都与物理机存在差距。虚拟机的性能取决于三个因素:物理机的性能、物理机上虚拟出的虚拟机个数以及虚拟化方式。对于UCloud来说,在业务层面,一直主打IaaS,技术相对成熟;在磁盘方面,采用特有的存储技术,能够将磁盘随机读写I/O能力提高10倍于普通SAS盘。对于百度开放云平台来说,在业务层面,开放IaaS的时间不长,使用的硬件应该都比较新;在磁盘方面,使用的是系统盘和临时数据盘,数据存储速度较快。由于虚拟化的存在,云平台虚拟机出现性能损失是不可避免的,两个云平台可以通过改进虚拟化方式、增加虚拟机的物理配额等方法对虚拟机性能进行改进。

2.2 虚拟资源分配测试

资源分配测试在配置相同的5台虚拟机上进行,执行相同的测试,对测试结果进行对比,考察云平台的资源分配是否公平。测试包括CPU性能、内存性能、网络性能和磁盘性能。图6是CPU资源分配测试结果,图7是内存资源分配测试结果,图8是网络资源分配测试结果,图9是磁盘资源分配测试结果,测试文件大小为4096MB。

从资源分配情况可以看出,在网络性能测试方面,多个虚拟机同时向同一个服务器发送数据,都出现了不同程度的丢包,而带宽和延时没有明显的变化;其余几项测试中,虚拟机的性能只有微小差别,说明两个云平台对资源的分配都比较公平。资源分配公平的原因可能是:(1)两个云平台对资源分配调度的算法比较合理;(2)测试虚拟机需要的总资源数量比物理资源总量小,没有出现资源争抢。

2.3 虚拟机稳定性测试

此部分测试考察在虚拟机连续运行一段时间内的性能变化,测试了虚拟机的Unixbench总分的变化,使Unixbench连续运行12h(8:00-20:00),收集Unixbench总分情况,以此来反应整个虚拟机的稳定性。图10是运行一个核的Unixbench总分的变化情况。

(a) UCloud云平台 (b) 百度开放云平台

(a) UCloud云平台 (b) 百度开放云平台

(a) UCloud云平台 (b)百度开放云平台

(a) UCloud云平台 (b) 百度开放云平台

从虚拟机稳定性可以看出,两个云平台的虚拟机Unixbench总分没有随着时间变化出现很大波动,最高分数和最低分数相差很小,这个结果可以看出两个云平台在测试时间段内都具有较好的稳定性。云平台整体上来说稳定性较好,然而在某个时间点可能会出现稳定性突变的现象,即稳定性能突然下降,如在凌晨云平台进行备份时。

2.4 虚拟化性能分析

依据建立的虚拟化性能评测模型对两个云平台的虚拟化性能进行评价。根据测试数据得到两个云平台的模糊关系矩阵,根据模糊关系矩阵计算综合评价矢量,对云平台的虚拟化性能进行评判。

图10 虚拟机稳定性测试结果

(1) UCloud的RC1,RC2,RC3表示为

(2) 百度开放云平台的RB1,RB2,RB3表示为

(3) 根据最大评判原则,UCloud云平台的评判值是0.73,百度开放云平台的评判值是0.60,两个云平台的虚拟化性能都在合理的范围内。

3 结 论

在云计算领域内,虚拟化技术发挥越来越重要的作用,随着云计算和虚拟化技术的不断发展,虚拟化会出现更多的应用,云平台的虚拟化性能也会越来越重要。本文建立了云平台虚拟化性能评测模型,在UCloud云平台和百度开放云平台上进行了虚拟机性能及其损失、虚拟资源分配和虚拟机稳定性三个方面的测试,并对测试结果进行分析。根据分析结果可以看出,两个云平台虚拟化性能都在合理的范围内,其中虚拟资源分配合理,虚拟机稳定性较好,虚拟机性能及其损失方面可以进行改进。本文的虚拟化性能评测模型可以准确的测试UCloud云平台和百度开放云平台的虚拟化性能,进一步应用于其他云平台虚拟化性能评测。

[ 1]ArmbrustM,FoxA,GriffithR,etal.Aviewofcloudcomputing.CommunicationsoftheACM, 2010, 53(4): 50-58

[ 2] AVANADE. 2009 global survey of cloud computing. http: //avanade.dk/_uploaded/pdf/avanadethoughtleadershipcloudsurveyexecutivesummary833173.pdf: AVANADE, 2009

[ 3] Mell P, Grance T. The NIST definition of cloud computing.NationalInstituteofStandardsandTechnology, 2009, 53(6): 50

[ 4] Zhang Q, Cheng L, Boutaba R. Cloud computing: state-of-the-art and research challenges.JournalofInternetServicesandApplications, 2010, 1(1): 7-18

[ 5] Padala P, Hou K Y, Shin K G, et al. Automated control of multiple virtualized resources. In: Proceedings of the 4th ACM European Conference on Computer systems, New York, USA, 2009. 13-26

[ 6] Barham P, Dragovic B, Fraser K, et al. Xen and the art of virtualization.ACMSIGOPSOperatingSystemsReview, 2003, 37(5): 164-177

[ 7] Vouk M A. Cloud computing-issues, research and implementations.CIT.JournalofComputingandInformationTechnology, 2008, 16(4): 235-246

[ 8] Huber N, von Quast M, Hauck M, et al. Evaluating and modeling virtualization performance overhead for cloud environments. In: Proceedings of the 1st International Conference on Cloud Computing and Services Science, Noordwijkerhout, Netherlands, 2011. 563-573

[ 9] Popek G J, Goldberg R P. Formal requirements for virtualizable third generation architectures.CommunACM, 1974, 17(7):412-421

[10] Makhija V, Herndon B, Smith P, et al. VMmark: A scalable benchmark for virtualized systems. VMware Inc, CA, Technical Report VMware-TR-2006-002, 2006

[11] Casazza J P, Greenfield M, Shi K. Redefining server performance characterization for virtualization benchmarking.IntelTechnologyJournal, 2006, 10(3): 243-252

[12] 兰雨晴, 宋潇豫, 马立克等. 系统虚拟化技术性能评测. 电信科学, 2010, 8A: 19-24

[13] Kopytov A. SysBench: a system performance benchmark. URL: http://sysbench. sourceforge. net: SourceFORGE, 2004

[14] McCalpin J D. STREAM: Sustainable memory bandwidth in high performance computers. 1995

[15] Tirumala A, Qin F, Dugan J, et al. Iperf: The TCP/UDP bandwidth measurement tool. http://dast. nlanr. net/Projects: NLANR, 2005

[16] Norcott W D, Capps D. Iozone filesystem benchmark. www. iozone. org: IOZONE, 2003

[17] Smith B, Grehan R, Yager T, et al. Byte-unixbench: A Unix benchmark suite. 2011

[18] Zhao H F, Qiu W H, Wang X Z. Fuzzy integrative evaluation method of the risk factor.SystemsEngineering-Theory&Practice, 1997, 7(1): 95-123

[19] Saaty T L. How to make a decision: the analytic hierarchy process.Europeanjournalofoperationalresearch, 1990, 48(1): 9-26

Evaluation and research of the virtualization performance of cloud platforms

Wu Kexin***, Li Zhengmin*******, Zhang Zhaoxin***, Shen Yinghong***

(*Network and Information Security Technology Research Center, Harbin Institute of Technology at Weihai, Weihai 264209)(**State Key Laboratory of Computer Information Security at Weihai, WeiHai 264209)(***The National Computer Network Emergency Response Technical Coordination Center, Beijing 100029)(****Institute of Information Engineering,Chinese Academy of Sciences, Beijing 100093)

The study described that the virtualization technique is the key to implementation of a cloud platform and the virtualization performance is an important criterion for measurement of a cloud platform’s performance. To evaluate and study the virtualization performance of cloud platforms, a virtualization performance evaluation model was established, and it was used to test the virtual machine’s performance and loss, the virtual resource allocation and the virtual machine’s stability of the cloud platforms of UCloud and Baidu Open. The analysis of the testing results show that the evaluation model can accurately measure the virtualization performance of the cloud platforms UCloud and Baidu Open. The evaluation model can be applicable to evaluation of other cloud platforms, virtualization performance.

cloud computing, cloud platform, virtualization, performance, evaluation model

10.3772/j.issn.1002-0470.2016.12.005

①国家科技支撑计划(2012BAH45B01),国家自然基金(61100189, 61370215, 61370211)和国家信息安全242计划(2015A072)资助项目。

2016-04-20)

②女,1991年生,硕士;研究方向:网络与信息安全,E-mail: 18766312061@163.com

③通讯作者,E-mail: heart@hit.edu.cn

猜你喜欢
资源分配磁盘评测
叶腊石聚合成型及其旋转磁盘的制作方法
次时代主机微软XSX全方位评测(下)
次时代主机微软XSX全方位评测(上)
新研究揭示新冠疫情对资源分配的影响 精读
解决Windows磁盘签名冲突
攻坡新利器,TOKEN VENTOUS评测
修改磁盘属性
QoS驱动的电力通信网效用最大化资源分配机制①
基于动态规划理论的特种设备检验资源分配研究
基于动态规划理论的特种设备检验资源分配研究