基于变化周期和事件驱动的云计算资源监测模型

2012-06-27 05:59冯婷莹
电信科学 2012年9期
关键词:计算资源计算环境监测数据

郭 平,冯婷莹

(重庆大学计算机学院软件理论与技术重庆市重点实验室 重庆400044)

1 引言

云计算是一种新兴的商业计算模型,它将计算任务分布在资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务[1~3]。

为有效管理云计算系统中的资源并发挥其效率,资源监测是必不可少的。资源监测不仅可以及时发现云计算系统中节点或者节点上运行的虚拟机出现的故障,为解决故障赢得时间从而及时恢复系统的性能;而且能够及时发现资源使用的变化,为任务调度和负载均衡等提供可靠数据保障;同时为资源的使用计费提供准确的数据支持。因此,研究云计算环境下的资源监测,对云计算的发展有着举足轻重的作用。

对计算系统中资源监测的研究起始于20世纪60年代。随着分布式计算和网格计算的发展,资源监测的技术与方法取得了很大的发展。例如,PAPI[4]是一种硬件性能计数器,当产生特定信号或相关状态时对事件进行计数,对这些事件进行检测可以获取代码和体系结构映射效率的相关性,以便在性能上进行分析和调整;Ganglia[5]通过对集群进行监测获取包括内存、操作系统、处理器负载等基本主机数据;Autopilot[6]是一个分布式性能测量和资源控制系统,提供在分布式系统中捕获的网络和操作系统数据;Virtue[7]从 Autopilot接收实时数据并允许用户改变软件行为和资源策略;MDS[8]是一种基于网格计算环境的信息服务框架,包括资源的发现、描述、监视以及更新,可以帮助网格应用程序进行自我调整和配置,也可以帮助用户了解所搭建网格系统。这些研究对于分布式系统与网格系统中的资源监测有重要的作用,但如果直接用于云计算环境下,则会有一些不足。一方面,云计算环境下的资源是高度虚拟化和弹性化的,同时云计算向外提供如IaaS、PaaS、SaaS等不同层次的服务,除了对物理服务器的资源需要进行监测外,对运行在其上的虚拟机也需要进行监测。另一方面,云计算资源主要分为计算资源和存储资源,对不同类型的资源所需监测的信息也是不同的。例如,对计算资源主要监测CPU、内存,而对存储资源则主要监测硬盘、内存。因此,在云计算系统中,不仅监测对象发生了变化,而且监测环境也发生了变化。

目前,针对云计算环境中的资源监测,主要集中在数据传输安全性以及用户信息服务上[9]。如使用SLA(service level agreement,服务等级协议)加强用户交互时间和安全性[10]以及使用面向方面编程的方法来监测云服务数据[11]。本文提出的云计算中资源监测系统模型是对云计算环境中资源使用情况进行监测。

2 云计算环境中的资源

云计算一般分为3层:硬件层、虚拟化层和服务提供层。硬件层就是传统意义上的硬件资源,再加上云计算资源池的控制软件、操作系统和中间件等。虚拟化层主要是由虚拟化资源、虚拟化映像管理、网络和资源存储等模块组成,在该层可利用虚拟化技术扩展每一个服务器的能力,将各自的资源通过云计算平台结合起来,提供超级计算和存储能力。服务提供层是云计算和用户的交互界面,用户能够通过该界面使用后台强大的资源,该层提供的服务方式包括 SaaS、PaaS和IaaS等。

对云计算中的资源监测主要集中在硬件层和虚拟化层。此外,需要监测的云计算资源可以分为计算节点、存储节点以及管理节点。由于各个节点的特性不同,所以要监测的对象也不同。计算节点主要处理计算服务,存储节点主要处理用户数据资源的存取工作以及应用的存放与处理,管理节点则是对其他服务器进行任务分配以及管理的节点。

对云计算资源的监控,能够掌握系统实时情况以便对系统进行管理。对云计算资源监控为负载均衡提供了可靠的数据基础。对云计算资源数据进行分析有助于掌握云计算系统的薄弱环节以便进行分析。

3 资源监测模型

3.1 监测对象与监测参数

云计算系统中的监测对象,从功能角度分为存储服务器、计算服务器和管理服务器;从虚拟化角度分为物理服务器和虚拟服务器;而更细的方面,监测对象就是操作系统、CPU、内存、硬盘、I/O 等。

因为服务器的功能不同,所以各服务器所需要监测的对象也就不同。表1给出了针对不同的监测对象需要监测的主要参数。

3.2 监测方法

计算机系统资源监测的方法主要分为周期监测和事件驱动监测两种。

周期监测是指监测服务器按照一定的规律周期地发出监测请求,如每隔5 s发送一次请求,采集器采集各被监测对象的资源使用相关数据后向监测服务器反馈监测数据。监测服务器负责监控本地服务器上各虚拟机对于CPU、内存和网络带宽的使用情况,并通过综合获得当前服务器的整个资源使用情况。周期监测是为了能够更加及时地获取经常变化的对象数据,如内存的使用情况。

周期监测又分为固定周期监测和动态周期监测。固定周期是指监测的间隔完全相同,动态周期则是指根据一定的规律来调整周期。固定周期监测方便监测的统一管理,但没有根据所要监测资源的实时情况进行监测;动态周期监测能够根据监测情况实时调整周期的变化,但如果周期变化规律过于复杂又会给服务器过重的负担。因此,服务器需要能够根据监测对象情况合理调整周期。

事件驱动监测是指当被监测对象产生特定事件时,对其进行监测并将监测结果反馈给监测系统。事件驱动监测的发生时间具有不确定性,没有特定的规律,通常与系统中运行的应用以及系统的状态相关。

表1 监测对象和监测参数

一般情况下,通过周期监测来监测服务器就足够了。但当监测对象发生特定事件时,如更换操作系统,监测对象就需要给监测系统发送其所在服务器的最新信息,以便监测服务器能够得到最新的监测数据。

3.3 监测模型

本文基于对云计算下资源监测的分析,并结合云计算自身的特点,建立如图1所示的监测模型。

监测服务器是用来管理监测事务的,其主要功能包括发送监测请求、接收监测数据、存储监测数据、动态调节监测周期和更新资源状态表等。监测服务器的数据库存储发送的监测请求数据、接收的监测数据以及服务器的一些处理数据。监测周期模型模块是对服务器的检测周期进行处理的模块,能够根据监测数据实时调整监测周期。状态表包括周期状态表、监测请求状态表等。

被监测对象包括物理的或虚拟的计算、存储和管理服务器,其主要功能有接收监测请求、获取监测数据、发送监测数据以及当特定事件发生时主动进行监测等。其中,监测请求是由周期监测发送的;监测数据既包括周期监测的数据也包括事件驱动监测的数据。对象监测数据包括系统数据、网络数据、应用数据等。

数据的使用者是指将监测数据作为原始数据以进行后续工作的功能模块或人员,如负载均衡模块、服务器管理人员等。

4 监测模型的关键技术

4.1 周期的调整

假设以监测服务器的时钟为标准,监测服务器的最小周期单位为t0。监测周期状态表中保存的数据包括服务器标识、服务器类型、资源情况、时间差、服务器状态、监测时间、监测周期等。监测周期存放着还需要过多少个t0就需要对服务器发送监测请求。

在调整周期之前,先将监测资源分为3组,分别为计算、存储和管理3类。每一类又分成若干个队列,队列的数量取决于具体的云环境。假设分为3个队列,分别为qA、qB和qC。qA为资源使用情况超过某一指标v1的服务器所组成的队列,qB为低于v1但高于另一指标v2的服务器所组成的队列,其他小于v2的则组成qC。

在这3个队列中,qC是三者中运行情况最稳定也是负载最低的,通常情况下这种状态的服务器也是最多的,因此整个qC可以采用共同的监测周期进行监测,这样发送监测请求也可以减轻监测服务器的负担。

qA则是三者之中最危险的,因此需要对其进行严格的监测。对于这一队列的节点需要进行负载均衡使其摆脱危险状态。每隔t0就对这个队列的监测状态表进行如图2所示的更新。

qB是介于qA和qC二者之间,可以采取类似qC的方法,即整个队列使用共同周期,但这个周期又比qA的周期要小。如果qA为空,可以将qB中个别长时间在qB中且资源使用率比较高的移至qA中进行负载均衡调节。

不同的监测对象类型所需要的监测周期不同。数据波动大的资源需要较高的采样频率,如CPU;数据波动小的使用较低的采样频率就可以满足,如磁盘。由此可得,管理服务器、存储服务器以及计算服务器3个组的周期的变化规律是不同的。将它们分为不同的组,在各个组里使用若干个队列进行动态周期的调节由此来实时获取资源信息以及减轻监测服务器负担。

4.2 事件的选择

周期监测能够满足大部分监测要求,但仍然有一些资源使用情况会发生突然的变化,这时如果仍采用监测周期方法将影响资源监测的实时性。产生资源使用突然变化的事件就是事件驱动监测要关注的事件。

云计算环境中,事件驱动监测的事件主要包括新建虚拟机、删除虚拟机、启动新应用、结束应用、改变操作系统、服务器启动等。

4.3 监测时间同步

在资源监测中,监测服务器的时钟与监测对象的时钟往往是不同的,这种差异使监测服务器不能确定被监测对象的实时状况。为此,通过定期在监测服务器与被监测对象之间传送时间戳来计算它们的时钟差。

基于监测服务器的时钟,假设监测服务器向被监测对象发送时钟同步请求的时间戳为t1,被监测对象接收请求的时间戳为t2,被监测对象回传同步请求的时间戳为t3,监测服务器接收请求的时间戳为t4。另外,由于在监测服务器与被监测对象之间传输的仅时钟同步请求和时间戳(数据量小),可假设数据的双向传输的时延是相同的,即:

假设被监测对象的时钟比监测服务器的时钟慢δ,那么就有:

其中,t2′是被监测对象接收同步请求的实际时间戳,t3′是被监测对象向监测服务器回传同步请求的实际时间戳。结合式(1)和式(2),有:

即:

由式(2)可知,当δ>0时,被监测对象的时钟比监测服务器的时钟慢δ;当δ=0时,被监测对象的时钟与监测服务器的时钟是一致的;当δ<0时,被监测对象的时钟比监测服务器的时钟快|δ|。通过δ就可以实现监测服务器与被监测对象间的时钟同步,它为云系统内部网络的优化提供了基础。

5 结束语

资源监测是云计算环境中必不可少的组成部分。根据云计算资源的特性,本文提出了基于动态周期和事件驱动的资源监测模型。周期监测对于大多数常规监测是足够的,但在某些特殊情况下事件驱动监测对于获取实时数据可以发挥重要作用。本文提出的资源监测模型结合了动态周期和事件驱动监测,具有良好的时效性;接收的数据都以最原始的状态保存至数据库,具有良好的鲁棒性;监测者与被监测者不需要相互了解其内在结构,具有松耦合性;同时本模型具有可扩展性。

1 Hayes B.Cloud computing.Commun ACM,2008,51(7):9~11

2 Milojicic D.Cloud computing:interview with RUSS daniels and franco travostino.IEEE Internet Computing,2008,12(5):7~9

3 Armbrust M,Fox A,Griffith R,et al.Above the clouds:a berkeley view of cloud computing.Communications of the ACM,2010,53(4):50~58

4 Wolf F,Mohr B.Hardware-counter based automatic performance analysis of parallel programs.Proceedings of the Conference on Parallel Computing,Dresden,Germany,2003:753~760

5 Massie M L,Chun B N,Culler D E.The ganglia distributed monitoring system:design,implementation,and experience.Parallel Computing,2004,30(7):817~840

6 Vetter J S,Reed D A.Real-time performance monitoring,adaptive control,and interactive steering of computational grids.The InternationalJournalofHigh Performance Computing Applications,2000,14(4):357~366

7 Shaffer E,Reed D A,Whitmore S,et al.Virtue:performance visualization ofparalleland distributed applications.IEEE Computer,1999,32(12):44~51

8 Diaz I,Fernandez G,Martinm M J,et al.Integrating the Common Information Model with MDS4.Proceedings of 2008 9th IEEE/ACM International Conference on Grid Computing,Tsukuba,Japan,2008:298~303

9 杨刚,随玉磊.面向云计算平台自适应资源监测方法.计算机工程与应用,2009,45(29):14~17

10 Daniel D,Lovesum S P J.A novel approach for scheduling service request in cloud with trust monitor.Proceedings of 2011 International Conference on Signal Processing,Communication,Computing and Networking Technologies (ICSCCN 2011),Thuckalay,India,2011:509~513

11 Mdhaffar A,Ben Halima R,Juhnke E,et al.AOP4CSM:an aspect-oriented programming approach for cloud service monitoring.Proceedings of2011 11th IEEE International Conference on Computer and Information Technology,Pafos,Cyprus,2011:363~370

12 Mei Yiduo,Liu Ling,Pu Xing,et al.Performance measurements and analysis of network I/O applications in virtualized cloud.Proceedings of 2010 IEEE 3rd International Conference on Cloud Computing(CLOUD),Miami,FL,USA,2010:59~66

13 Fang Haifeng,Zhao Yiqiang,Zang Hongyong,et al.VMGuard:an integrity monitoring system for management virtual machines.Proceedings of 2010 IEEE 16th International Conference on Parallel and Distributed Systems (ICPADS),Shanghai,China,2010:67~74

14 Samba A.Logical data models for cloud computing architectures.IT Professional,2012,14(1):19~26

15 Wei Yi,Blake M B.Service-oriented computing and cloud computing: challenges and opportunities. IEEE Internet Computing,2010,14(6):72~75

16 De Chaves S A,Uriarte R B,Westphall C B.Toward an architecture for monitoring private clouds.IEEE Communications Magazine,2011,49(12):130~137

17 Meng Shicong,Liu Ling,Wang Ting.State monitoring in cloud datacenters.IEEE Transactions on Knowledge and Data Engineering,2011,23(9):1328~1344

18 Goscinski A,Brock M.Toward dynamic and attribute based publication,discovery and selection for cloud computing.Future Generation Computer Systems,2010,26(7):947~970

19 Marston S,Li Zhi,Bandyopadhyay S,et al.Cloud computing-the business perspective.Decision Support Systems,2011,51(1):176~189

20 Taylor M,Haggerty J,Gresty D,et al.Digital evidence in cloud computing systems.Computer Law&Security Review,2010,26(3):304~308

21 Morrell R,Chandrashekar A.Cloud computing:new challenges and opportunities.Network Security,2011(10):18~19

猜你喜欢
计算资源计算环境监测数据
云计算环境下网络安全等级保护的实现途径
基于模糊规划理论的云计算资源调度研究
改进快速稀疏算法的云计算资源负载均衡
GSM-R接口监测数据精确地理化方法及应用
基于Wi-Fi与Web的云计算资源调度算法研究
耦合分布式系统多任务动态调度算法
大数据云计算环境下的数据安全
云计算环境中任务调度策略
云计算环境下的知识管理系统体系结构探讨
GPS异常监测数据的关联负选择分步识别算法