The invention relates to a cloud application oriented SSD cache management system and method, its core idea is cut from the cloud application perspective, using multilayer network model to describe the mapping relationship between the virtual machine and the solid state disk, and to determine whether each virtual machine obtains the optimal solid state disk cache size. When the workload of Cloud Applications changes, the system will automatically trigger the adjustment process, perform dynamic migration of virtual machines and cache capacity changes, thereby enhancing the performance of cloud applications and improving the utilization of solid state disk.
【技术实现步骤摘要】
一种云应用导向的固态盘缓存管理系统及方法
本专利技术涉及一种云应用导向的固态盘缓存管理系统及方法,尤其涉及一种基于多层网络的固态盘缓存分配和缓存导向的虚拟机动态迁移方法。属于软件
技术介绍
虚拟化技术目前得到了广泛应用。借助虚拟化技术,一台物理服务器上可以聚合(Consolidation)多台虚拟机,从而有效提升硬件资源利用率。虚拟化服务器(Hypervisor)上通常部署基于磁介质的机械硬盘(HardDiskDrive,HDD),或通过iSCSI等协议连接到后端的大容量共享存储,用作保存虚拟机镜像。在这一架构中,虚拟化服务器的IO性能直接影响了虚拟机本身的性能。固态盘(SolidStateDisk,SSD)作为一种快速的非易失性介质,通常部署在Hypervisor上,用作后端虚拟机镜像存储的读写缓存。虚拟机的IO请求会先经过缓存,若缓存命中,则缓存数据会立刻返回,不会进一步触发针对后端HDD或共享存储的相对速度较慢的读写操作,从而有效提升IO性能。一台Hypervisor上部署的固态盘缓存是由这台Hypervisor上承载的所有虚拟机共享的,因此,合理使用固态盘缓存资源至关重要。云应用是虚拟化环境下的主要服务模式。一个典型云应用通常由多台虚拟机组成,这些虚拟机上部署了不同的组件,互相之间存在关联,并共同对外提供服务。虚拟化环境下一种典型的云应用场景是基于Web的事务型云应用。这一类云应用通常由前端负载均衡器、服务中间件以及后端数据库或持久化存储组成,通常提供了基于HTTP(S)协议的接口供用户通过浏览器访问,或开放了诸如RESTful风格的AP ...
【技术保护点】
一种云应用导向的固态盘缓存管理系统,其特征在于包括:控制模块、监测模块、分析模块、决策模块和执行模块;控制模块:用于协调监测模块、分析模块、决策模块和执行模块的工作,与各模块进行交互并收集结果,基于自适应闭环实现固态盘缓存管理,在一个完整的闭环执行过程中,控制模块首先与监测模块进行交互,依赖监测模块持续监测云应用的工作负载以及虚拟机间的依赖关系,并收集云应用状态和性能数据供后续分析使用;之后与分析模块进行交互,将云应用状态和性能数据传递给分析模块,并收集生成的多层网络模型的相关信息;之后与决策模块进行交互,传入多层网络模型并依赖决策模块完成固态盘缓存管理决策,包括虚拟机放置方案的计算以及进一步的Hypervisor上缓存分配方案的计算;最后与执行模块进行交互,传递具体的固态盘缓存管理决策,由执行模块完成具体的虚拟机的在线迁移以及缓存容量的动态调整;控制模块还负责在检测到云应用工作负载发生突变时触发新一轮的闭环执行;监测模块:包括部署在Hypervisor上的监测模块和部署在虚拟机上的监测模块;部署在Hypervisor上的监测模块负责监测Hypervisor、固态盘以及缓存的相关信息, ...
【技术特征摘要】
1.一种云应用导向的固态盘缓存管理系统,其特征在于包括:控制模块、监测模块、分析模块、决策模块和执行模块;控制模块:用于协调监测模块、分析模块、决策模块和执行模块的工作,与各模块进行交互并收集结果,基于自适应闭环实现固态盘缓存管理,在一个完整的闭环执行过程中,控制模块首先与监测模块进行交互,依赖监测模块持续监测云应用的工作负载以及虚拟机间的依赖关系,并收集云应用状态和性能数据供后续分析使用;之后与分析模块进行交互,将云应用状态和性能数据传递给分析模块,并收集生成的多层网络模型的相关信息;之后与决策模块进行交互,传入多层网络模型并依赖决策模块完成固态盘缓存管理决策,包括虚拟机放置方案的计算以及进一步的Hypervisor上缓存分配方案的计算;最后与执行模块进行交互,传递具体的固态盘缓存管理决策,由执行模块完成具体的虚拟机的在线迁移以及缓存容量的动态调整;控制模块还负责在检测到云应用工作负载发生突变时触发新一轮的闭环执行;监测模块:包括部署在Hypervisor上的监测模块和部署在虚拟机上的监测模块;部署在Hypervisor上的监测模块负责监测Hypervisor、固态盘以及缓存的相关信息,相关信息包括Hypervisor的空闲CPU和内存资源;固态盘的最大带宽和IOPS、当前使用的带宽和IOPS;缓存的使用率、读写次数和命中率;部署在虚拟机上的监测模块负责监测虚拟机上部署的云应用组件的相关信息和虚拟机的IO性能,云应用组件的相关信息包括云应用在应对当前工作负载时各事务所占比例及在各组件上的执行时间,组件间的网络交互和依赖关系;虚拟机的IO性能包括已使用的带宽和IOPS,以及由此计算得到的虚拟机的IO负载状况,即已使用的IO资源占可用资源的比例;监测模块会持续监测这些信息,并在闭环执行过程中接收控制模块的请求,返回相应的云应用状态及性能数据供后续分析、决策使用;控制模块在自适应闭环的执行过程中,会首先与监测模块进行交互,以获取必要信息供后续分析模块、决策模块和执行模块使用;分析模块:用于接收监测模块传递的信息,并构建多层网络模型;多层网络模型包括资源需求端和资源供给端,以及用于匹配的多个决策层;通过分析部署在虚拟机中监测模块传回的云应用组件的网络交互情况和虚拟机IO性能,构建出虚拟机之间的依赖关系图,并进一步遍历出集群中所有虚拟机的依赖关系的所有强连通分量,从而刻画云应用的边界;再结合依赖关系图和虚拟机的IO负载状况构建出虚拟机对固态盘缓存的需求,完成资源需求端的构建;之后,分析模块会组装需要调用的决策模块并适配后端的资源供给端,完成多层网络模型的构建;控制模块在自适应闭环的执行过程中,会将从监测模块处收集得到的云应用的相关信息和虚拟机IO性能信息传递给分析模块,并接收分析模块计算得到的多层网络模型的拓扑结构和其中选取的决策层,供后续与决策模块交互时使用;决策模块:用于匹配多层网络模型中的供给端和需求端,实现资源供给和需求的最优化匹配;决策模块基于特定算法以实现资源管理的目标,表现为多层网络中的决策层;目前包含两个默认的决策层,第一决策层采用二分图匹配算法计算虚拟机的放置方案;第二决策层采用网络流中的最小花费最大流算法计算每一个Hypervisor上虚拟机的应被分配的最优缓存大小;实施时可以根据需求不同扩展出更多决策层;在比实行控制模块在接收到分析模块传回的多层网络模型之后,会调用其中指定的决策层,以完成相应的资源管理方案的计算,在调用完模型中选取的所有决策层之后即完成了资源需求端和资源供给端的匹配,并生成了最终的资源管理方案,包括虚拟机的放置方案和缓存分配方案;执行模块:部署在Hypervisor上;执行模块接受决策模块计算得到的虚拟机放置方案和每个Hypervisor上的虚拟机的固态盘缓存大小,执行具体的虚拟机的动态迁移和缓存容量调整操作;控制模块在自适应闭环的执行过程中,会最后与执行模块进行交互,传入由决策模块生成的资源管理方案,将其应用到虚拟机上;此外,当控制模块触发了新一轮自适应闭环执行时,执行模块也会计算最少步骤的虚拟机动态迁移方案以及对虚拟机上工作负载影响最小的缓存容量调整方案,并进行调整;最终完成云应用导向的固态盘缓存管理。2.一种云应用导向的固态盘缓存管理方法,其特征在于实现步骤如下:(1)在目标应用中进行程序插装(Instrumentatio...
【专利技术属性】
技术研发人员:黄涛,唐震,吴恒,魏峻,王伟,支孟轩,
申请(专利权)人:中国科学院软件研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。