APP下载

一种基于CloudSim的分级云存储仿真模型

2019-11-05龙赛琴曾令斌刘子浩周思恒

计算技术与自动化 2019年3期

龙赛琴 曾令斌 刘子浩 周思恒

摘   要:随着云存储技术的发展,云存储平台解决了大数据存储与管理的难题。然而当数据量与用户量进一步扩大,系统性能要求逐步提升,需要对目前云存储环境中的数据存储管理技术进行深入的研究与改进。由于应用实际的云存储集群进行优化研究极易受到平台环境的限制,因此基于CloudSim实现了一个分级云存储的仿真模型TCSS,给出了一种三层次的设备分级组织结构,构建了完善的数据I/O业务处理与数据存储管理等功能结构。已经将所有拓展功能模块集成到了CloudSim仿真工具的CloudSim层中,用户可以依据TCSS模型,突破平台限制,完成云存储优化策略的建模与测试工作。

关键词:分级云存储;CloudSim;仿真建模

中图分类号:TP301                                       文献标识码:A

Abstract:With the development of cloud storage technology,the cloud storage platforms meets the storage and management requirements of big data. However,when the amount of data and the number of users are further expanded,the system performance requirements of cloud storage are gradually improved,and the data storage management technology in the current cloud storage environment needs to be deeply researched and improved. Considering that the application of the actual cloud storage cluster for optimization research is very vulnerable to the platform environment,this paper implements a hierarchical cloud storage simulation model named TCSS in CloudSim,while implements a three-level hierarchical organization structure of storage devices,then the functional structure such as data I/O service processing and data storage management has been established. In this paper,all the extended function modules have been integrated into the CloudSim layer of the CloudSim simulation tool. Based on the given TCSSmodel,Users can complete the modeling and testing of the cloud storage optimization strategy proposed by themselves.

Key words:hierarchical cloud storage;CloudSim;simulation and modeling

云计算是当前主流的分布式计算方案,已被广泛应用于以互联网科技为主的各个技术领域[1]。而作为云计算生态圈中的重要组成部分,云存储技术的出现,为需求剧增的数据存储问题提供了有效的解决方案,能够满足多用户的大体量数据存储需求,并向上提供高性能计算的应用支持[2]。目前,诸如Google的GFS(gGooglefFilesSystem)[3]、Hadoop生态环境中的HDFS[4]、微软的 Azure Storage[5]等分布式存储平台的出现,开拓了云存储在技术研究与实际应用等层面的发展道路。随着云存储技术的发展,面向用户的云数据存储应用变得越来越多样,服务方式与计费方式也更加灵活,云存储平台的集群规模日益增大,同时也对云存储系统有了更高的性能要求,這就需要进一步优化云存储的部分功能与服务模式。然而,在实际的云存储集群平台上搭建运行环境工作量极大,实现并测试自身所提出的云存储优化策略极易受平台架构的限制,复杂的设备条件难以进行策略的二次改进与重复实验。因此,开发相应的仿真工具是实现云存储优化策略、评估方案性能的可行方法。仿真工具能够提供可控的异构环境配置与完整的平台日常事物模拟,从而方便研究人员进行优化策略的开发。

数据存储是云存储平台中最基础服务,而为了改善服务质量、提升系统性能,优化数据存储策略是最直接且行之有效的方法。考虑到目前没有云存储环境的模拟仿真工具,本文基于主流的开源云计算仿真平台CloudSim[6],提出了一个分级云存储的仿真模型TCSS(Tiered cloud storage simulation model),主要的功能特性包括:(1)实现了一个可动态调整的三层设备分级组织结构,能够按设备性能进行建立分级结构。(2)实现了元数据管理结构,可以对数据进行副本、分块、树型目录组织的管理。(3)在基本的数据存储之上,增加了系统业务日志、设备运行情况记录等功能部件,有利于评估数据热度分布、分析集群资源利用情况。(4)优化了数据存储业务的费用计算过程,能够获取更准确的测试结果。本文所提出的新功能增强了CloudSim对云存储业务的模拟仿真能力,开发人员可以快速实施自己所提出的云存储优化策略,从而进行模拟测试。同时,本文所提出的分级云存储仿真模块细化了部分云存储功能,开发人员可以提出更为复杂的设备组织与细粒度的数据管理策略,具有较广阔的仿真应用前景。

1   相关工作

云存储是基于云计算衍生而来的新技术,倡导的是存储即服务,能够应对数据爆发式增长所带来的存储困境。相较于传统的文件存储系统,云存储突破了数据存储在单一物理机上的限制,在众多集群化硬件设备上,通过网格技术进行部署,可以将数据文件以及副本存储在不同的集群节点中,有较高的存储虚拟化特征,表现出极高的可拓展性和安全性,并对外提供统一的数据存储业务[7]。

云存储系统中的硬件设备多样、性能异构;用户群体广泛,数据访问规律复杂多变;超大量的数据存储表现出持续性的价值密度变化特征;高性能与低成本结合的诉求成为亟待解决的难题。作为一种高效的数据存储放置布局模型,分级存储立足于信息生命周期管理理论,能够较好的地适应设备性能异构的集群环境,获取数据热度分布情况,趋向于将最重要的数据存储于高性能设备中,并将低价值的数据迁移到普通设备中,以提升系统性能。目前,Ceph的组件UMStor已经将分级存储应用于云存储环境中[8],除了具备混合云环境的对象存储能力外,UMStor还包含了一个分级存储组件Cloud Tier,能够自动监测评估客户端数据的热度,并将冷数据迁移归档到云端进行备份,有效地提高了客户本地存储的可用空间。

云存储技术的研究内容包括数据安全[9]、数据访问控制、数据迁移、数据去重、能耗管控与建模等方向,致力于提升系统的高可用性与存储性能、降低能耗。然而,很多关于云存储的性能优化策略并未经过理论验证,直接在实际的云存储环境中落地部署,这无疑需要很高的资源配置来完成实施过程,且成本过高,后续实验难以进行。因此,以CloudSim为代表的开源仿真工具,成为了研究人员进行模拟仿真、完成策略实施与相关测试的首要选择。Xingdon You[10]等人提出了一种基于热度预测的绿色数据分类方法,在CloudSim中实现了数据的细粒度分类,从而每类数据选择合适的存储目标。Long S[11]等人在CloudSim中实现了一种数据副本布局的仿真模型,实现了数据副本优化存储放置与数据条带化分块管理。Li X[12]等人提出了一种增强型CloudSim云模拟系统,具有可视化的用户配置界面,能够快速完成网络拓扑配置、实现自定义的云中心管理算法。Shi Y[13]等人提出了在CloudSim中实现了一种名为MQMPM的资源利用分析與分配方法,为云计算中心的能耗建模提供了新思路。

目前,对CloudSim进行模拟仿真与功能拓展的研究有很多,却没有用于模拟云存储系统的解决方案。因此,本文基于CloudSim提出了一种云存储的仿真模型TCSS,实现了云存储系统的数据分级存储管理。

2   TCSS模型结构

ClousdSim作为一款应用较为广泛的云计算仿真工具,主要的业务模拟方向为云计算工作处理中的虚拟机控制与任务调度[6]。在CloudSim的代码结构中,以系统实体代表业务产生来源、事务对象保存业务处理所需的信息、消息及事务队列模拟业务处理机制、模拟时钟控制业务流程。最终,以主类CloudSim作为中间对象,控制实体、事务、消息队列间的通信,以完成云计算业务处理过程。在目前的仿真版本中,CloudSim层囊括了主要的资源管理与数据存储实施的功能代码结构。因此,为了将提出的分级云存储模型TCSS集成到CloudSim中,本文在ClousdSim实现了部分功能拓展模块,如图1所示。在TCSS模型中,主要的功能模块包括:

数据管理模块,用于管理系统中的所有数据对象。其中,数据集保存了全部数据;数据副本机制与数据副本目录实现了分布式存储系统中通用的数据冗余结构,能够有效保障数据安全性与可用性;数据分块与数据块目录模块实现了存储放置前的数据分块操作,有利于提升系统资源利用率。

设备管理模块,用于管理系统中的集群设备结构。该模块通过设备属性列表来计算设备性能值,并以此为依据对系统内所有的设备进行分级组织。此外,在设备管理结构中融入了数据读写控制与业务计费子模块,保障了数据能够在目标设备上实施存储放置过程,并据此将所占的系统资源与作为业务处理成本,用于存储业务的费用评估。

中间件作为本文原创的一个功能补充模块,依据CloudSim业务处理方式的特点,结合一般数据存储业务的要求,新增了ID标识机制与数据I/O处理子模块。其中,ID标识机制是一个产生对象ID标识属性的单例对象,可以按起始设置数值(起始数值可动态配置)按增序生成一系列独占的标识性ID,保证了标识对象的唯一性,简化了逻辑操作对象的判断过程。此外,由于CloudSim的业务处理采用实体间通信传递的逻辑处理过程,该过程需要实体执行事务信息与相关参数作为逻辑输入。因此,本文在执行用户产生的数据I/O事件之前,对事件进行解析,将事件处理的信息进行封装,再分发到事务处理实体中。

存储管理模块主要用于数据到设备间的存储放置管理,通过数据存储映射表维护了系统内所有数据与存储设备的存储映射关系,是执行数据存储业务的基础数据项。作为分级云存储模型中较为重要的功能部分,获取数据访问规律,评估数据热度分布情况,是最终实现数据分级存储决策的基础。在本文提出的TCSS模型中,数据热度评估过程由统计时间检查点进程触发,统计了阶段时间T内的数据访问情况,并以此计算数据热度。作为数据热度评估的依据,数据访问增量表用于记录在阶段时间T内有访问增量的数据对象,用来滤除大部分未被访问的数据对象,有效缩短了数据评估所需的时间,减少了额外的系统消耗。此外,数据访问增量表以数据对象的ID标识为主要记录项,不受数据对象属性变化与数据对象删除所带来的影响。

业务控制模块是面向用户的上层控制部件,为用户提供动态可控的关键参数配置,并提供模拟测试过程的各项业务费用,便于用户进行策略效果评估。此外,该模块还依据下层的数据存储与设备分级管理等部分功能结构,能够为用户提供数据存储放置优化过程,将数据存储在合适的设备层级上,同时,用户也可以依据自己的策略来定义存储放置过程。

3   TCSS实现方案

为了将图1中所示的TCSS模型结构集成到CloudSim中,本文改进了CloudSim的部分功能代码,最终实现的TCSS代码功能结构如图2所示,依据主要的操作对象可将TCSS功能分为两个主要模块,包括存储设备分级组织部件与数据存储管理部件。

3.1   设备分级组织部件

首先,CloudSim的存储架构功能简单,所有存储相关代码结构集中在数据中心实体DC(DataCenter)与数据中心代理实体(DatacenterBroker)中。对存储设备的模拟仅有硬盘对象(HarddriveStorage)与SAN存储网络(SanStorage)对象,虽然存储设备属性丰富,然而无法体现云存储系统中存储设备的异构性。

为了实现提出的三层存储结构,本文在模拟器CloudSim中,对数据中心实体DC(DataCenter)与存储设备实体进行了功能拓展。由于实际的云存储环境中设备异构性突出,在CloudSim原有的硬盘对象与网络磁盘对象基础上,增加了硬盘与网络磁盘类型,包括混合硬盘(SSD、HDD等),基于混和硬盘的网络存储器(SAN存储网络),丰富了数据中心实体的存储性能表现。在将所有云存储环境下的存储设备进行性能评估之后,最终虚拟化出三层存储组织结构。

为了实现设备分级组织模块,本文对CloudSim进行了代码拓展。保留了存储对象Storage的公共字段集,包括存储容量、IOPS速率(读、写速率)、基本工作能耗、延迟等。特别地,设置了存储设备类别标识字段StorageType,用于指定存储器的类型,1为HDD,2为SSD,3为SAN设备等。此外,设立了物理存储设备对象列表集合Storage [] StorageList,用于描述SAN存储网络中的实际物理存储设备构成。通常情况下,SAN存储网络由一个或多个物理存储设备组成,且设备性能不尽相同,原有CloudSim中的SAN网络对象直接基于硬件存储对象,仅能指定一个物理存储机,不符合实际应用情况。为了更好地描述SAN的网络特征,新增网络带宽与网络延迟字段,作为SAN网络存储对象的独有字段。存储对象的处理函数除了基本的数据存储以外,还包括用于分级依据的设备存储性能计算,用于存储控制的存储余量感知,用于指定文件大小读写的成本计算(主要为读写时间与能耗)等。

拓展CloudSim的设备存储管理功能之后,如图2所示,计算所有数据存储节点中存储设备的性能值,并划分出热点存储、基本存储、冷区存储的三层结构(level1 ~ level3)。其中,对于性能集为={cpu,存储容量,读写速率,IOPS,带宽,延迟,运行功率……}的存储设备,其性能计算公式为:

其中,PVk为设备的性能属性,εk为该性能属性的评估参数。对所有存储设备按性能排序,通过存储器分级阈值Sleft与Sright进行层级划分。

3.2   数据存储管理部件

此外,CloudSim的文件组织模式单一,仅有文件对象File与FileAttribute,系统所有文件元信息直接存储在数据中心的文件列表中。此外,文件I/O事务處理流程简单,不具备云存储系统的数据访问控制、元数据管理等功能模块。因此,本文以分布式云存储系统HDFS[4]为原型,拓展了CloudSim中的数据存储组织结构。首先,拓展了数据对象的访问控制功能,增加了数据对象的ID属性,系统依据用户提供的文件名获取ID,形成了ID单一标识结构。同时,增加了数据的副本与分块机制,包括主副本标识、副本目录、块目录等。基于这些新增的属性,实现了数据的分块存储与副本布局管理。此外,为了更好的评估数据的访问情况,新增了数据对象的访问量属性,并据此实现了数据对象的访问变化统计功能以及访问增量表机制。

其次,根据统计阶段时间?T内,文件的访问量,来计算其访问热度,以评估存储价值。在STDC策略中,取文件的属性元组FV{文件大小f_size,用户数Uers,I/O数量AN,最近访问时间LastTime,读写比率RW,上阶段热度值TF'},则文件的热度可计算为:

其中,为文件的读写比率,表示文件读取的操作次数越多,其热度值越高。nowTime为系统的当前时间,再依据文件最近访问时间,用于评估文件近期的访问操作频繁程度。CTF为文件热度值评估常量。

在评估数据的热度之后,本文还提供了数据按热度聚类划分的接口,用户根据此结构来实现自己的数据分级存储放置决策方案,从而对热度不同的数据进行升迁或降级的存储调整。

4   结束语

基于CloudSim实现了一个分级云存储的仿真模型TCSS,给出了一种三层次的设备分级组织结构,构建了完善的数据I/O业务处理与数据存储管理等功能结构。已经将所有拓展功能模块集成到了CloudSim仿真工具的CloudSim层中,包括业务控制、存储管理、中间件、设备管理、数据管理等模块,能够提供云存储环境下的数据分级存储、数据存储放置优化的仿真环境与模拟测试结果,用户可以通过TCSS模型,进行快速的仿真建模与测试,以验证自身提出的云存储性能优化策略。

为了分析本文所提出的TCSS模型的仿真性能,下一步工作是对该模型进行仿真能力测试,并给出具体的分级存储决策方案,以验证TCSS模型实现分级云存储模拟的有效性。

参考文献

[1]    ARMBRUST M,FOX A,GRIFFITH R,et al. A view of cloud computing[J]. International Journal of Computers & Technology,2013,4(2b1):50—58.

[2]    NACHIAPPAN R,JAVADI B,CALHERIOS R,et al. Cloud storage reliability for big data applications: a state of the art survey[J]. Journal of Network and Computer Applications,2017:S1084804517302734.

[3]    BORTHAKUR D. HDFS architecture guide[J]. Hadoop Apache Project,2008,53:1—13.

[4]    CALDER B,WANG J,OGUS A,et al. Windows azure storage: a highly available cloud storage service with strong consistency[C].Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles. ACM,2011: 143—157.

[5] CALHEIROS R N,RANJAN R, BELOGLAZOV A,et al. CloudSim:a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms[J]. Software:Practice and Experience,2011,41(1):23—50.

[6]    WU J,PING L,GE X,et al. Cloud storage as the infrastructure of cloud computing[C]. International Conference on Intelligent Computing & Cognitive Informatics. IEEE Computer Society,2010.

[7]    SHI H,ARUMUGAM R V,FOH C H,et al. Optimal disk storage allocation for multitier storage system[J]. IEEE Transactions on Magnetics,2013,49(6):2603—2609.

[8]    WEIL S A,BRANDT S A,MILLER E L,et al. Ceph: a scalable,high-performance distributed file system.[J]. 特色文獻库,2010,n/a:307—320.

[9]    蔡刚山,周刚. 一种基于人工免疫的云存储安全检测方法[J].计算技术与自动化,2018,37(01):107—111.

[10]  YOU Xin-dong,CHI Dong,LI Zhou,et al. Anticipation-based green data classification strategy in cloud storage system[J]. Applied Mathematics & Information Sciences. 2015,9(4): 2151—2610.

[11]  LONG S,ZHAO Y. A toolkit for modeling and simulating cloud data storage: an extension to CloudSim[C]. International Conference on Control Engineering & Communication Technology. IEEE,2013.

[12]  LI X,JIANG X,HUANG P,et al. DartCSim: an enhanced user-friendly cloud simulation system based on CloudSim with better performance[C]. IEEE International Conference on Cloud Computing & Intelligent Systems. IEEE,2013.

[13]  SHI Y,JIANG X,YE K. An energy-efficient scheme for cloud resource provisioning based on CloudSim[C]. 2011 IEEE International Conference on Cluster Computing (CLUSTER),Austin,TX,USA,2011.