一种基于访问频率和动态优先级的预取目标识别方法技术

技术编号:19388748 阅读:21 留言:0更新日期:2018-11-10 01:58
本发明专利技术提供一种基于访问频率和动态优先级的预取目标识别方法,属于云计算技术领域,本发明专利技术通过对VMM的COW磁盘访问统计信息进行分析,将访问频率最高或优先级最高的COW磁盘作为预取目标。通过将预取集中在用户所使用软件对应的少数几个COW磁盘上,大大提高了预取的针对性,有助于减少按需取块的次数和提高虚拟机中软件的运行性能。

A prefetching target recognition method based on access frequency and dynamic priority

The invention provides a method for identifying prefetched objects based on access frequency and dynamic priority, which belongs to the field of cloud computing technology. By analyzing the statistical information of VMM's COW disk access, the COW disk with the highest access frequency or priority is regarded as the prefetched object. By concentrating prefetching on a few COW disks corresponding to the software used by users, the pertinence of prefetching is greatly improved, which helps to reduce the number of blocks on demand and improve the performance of software in virtual machines.

【技术实现步骤摘要】
一种基于访问频率和动态优先级的预取目标识别方法
本专利技术涉及云计算技术,尤其涉及一种基于访问频率和动态优先级的预取目标识别方法。
技术介绍
预取目标的准确性对于提高预取的针对性,进而提高虚拟机中软件任务的本地命中率是至关重要的。确保预取目标准确性的关键是如何利用从VMM层获取的COW磁盘访问信息来实时和准确地识别用户所使用软件对应的COW磁盘。DPM(Demand-drivenPrefetchMechanism,需求驱动的虚拟机映像预取机制)识别用户所使用软件对应的COW磁盘的机制主要基于以下事实:1.如果一个COW磁盘在较短时间内的访问频率高于其它COW磁盘,那么其中安装的软件很可能就是用户正在使用的软件,该COW磁盘应该作为当前的预取目标;2.如果一个COW磁盘在一段较长的时间内访问频率较高,那么其中安装的软件很可能就是用户正在或频繁使用的软件,其成为预取目标的优先级应该较高。
技术实现思路
针对分布式环境下的虚拟机部署存在的用户端等待时间和虚拟机运行性能的矛盾。本专利技术提出了一种基于访问频率和动态优先级的预取目标识别方法AFPTR(AccessFrequencyanddynamicPriority-basedprefetchTargetRecognition),通过对VMM的COW磁盘访问统计信息进行分析,将访问频率最高或优先级最高的COW磁盘作为预取目标。本专利技术主要包括如下几个步骤:1.时间分片:将用户使用虚拟机中软件的时间分成长度为t的较短时间片TS(TimeSlice),单个时间片内的COW磁盘访问统计信息是本专利技术识别预取目标的基本依据。2.当前预取目标:根据上一个时间片的COW磁盘访问统计信息,将访问频率最高或优先级最高的COW磁盘作为当前时间片的预取目标;当用户使用多种软件时,当前预取目标会随着使用软件的变化而变化。3.COW磁盘优先级:每个COW磁盘被赋予一个优先级;当一个COW磁盘在一个时间片内由于访问频率最高而成为预取目标时,递增该COW磁盘的优先级;当一个COW磁盘在N个连续的时间片内未成为预取目标时,递减该COW磁盘的优先级。4.超时机制:对于无读请求的时间片,将上个时间片的预取目标作为当前预取目标;如果在连续经过M个无读请求的时间片后仍然无读请求,则将优先级最高的COW磁盘作为当前预取目标。VMM将每个时间片的COW磁盘访问统计信息记录在如图1所示的访问统计信息区(access_profile)中。当一个COW磁盘被访问时,VMM递增访问统计信息区中相应的计数值。利用访问统计信息区中的COW磁盘访问统计信息,预取策略模块prefetch_policy每个时间片执行一次上述步骤以确定当前时间片的预取目标COW磁盘。预取模块prefetch根据预取目标COW磁盘,在VMM无按需取块请求时执行预取过程。设pre_target和cur_target分别为上一个时间片和当前时间片的预取目标COW磁盘的序列号,Max_Seq_No为最大的COW磁盘序列号,access_profile、TS_counter和cow_prio是以COW磁盘序列号为下标的数组,access_profile记录每个COW磁盘的被访问次数,TS_counter记录每个COW磁盘的时间片计数值,cow_prio是记录每个COW磁盘优先级的数组,函数Inc_Slice_Counter递增给定时间片计数数组中的每个时间片计数值,函数Get_Max返回给定数组中的最大值,函数Fetch_Complete判断给定的COW磁盘是否已完全缓存到本地,函数Clear_Access_Profile清除access_profile中上一个时间片的COW磁盘访问计数,M和N为超时阈值,m为计数值且初值为0,则本专利技术的伪代码描述如下文所示。输入:COW磁盘访问次数数组access_profile,COW磁盘时间片计数数组TS_counter,COW磁盘优先级数组cow_prio,超时阈值M、N输出:预取目标COW磁盘的序列号cur_target当用户使用多种软件协同工作并在它们之间频繁切换时,利用AFPTR算法识别的预取目标也会相应频繁地发生变化。DPM通过在同一个时间片中保持多个预取目标的方法来避免单个预取目标的频繁切换导致的较低的预取效率。无论当前预取目标(cur_target)和上一个时间片的预取目标(pre_target)是否相同,DPM的预取模块prefetch将对上一个时间片的预取目标(pre_target)的预取保持一个时间片,因此预取模块在一个时间片中最多同时对两个不同的预取目标(COW磁盘)进行预取。AFPTR算法通过细粒度的时间分片和基于访问频率的预取目标识别方法实时地识别用户当前所使用软件对应的COW磁盘,提高了预取的针对性;通过动态调整COW磁盘的优先级,使得在一段较长的时间内访问频率越高的COW磁盘成为预取目标的几率越大,进一步提高了预取目标识别的准确性;通过设置合适的超时参数实现了利用访问局部性和高优先级COW磁盘优先预取之间的平衡,尽可能减少针对错误预取目标的无效预取。相比较于单个大尺寸虚拟磁盘映像,AFPTR算法通过将预取集中在用户所使用软件对应的少数几个COW磁盘上,大大提高了预取的针对性,有助于减少按需取块的次数和提高虚拟机中软件的运行性能。附图说明图1是需求驱动虚拟机映像预取机制主要部件示意图。具体实施方式下面对本专利技术的内容进行更加详细的阐述:在基于QEMU虚拟机的实现中,将集中式的虚拟机按需部署机制原型系统中实现按需取块功能的客户和服务程序分别扩展为如图1所示的预取客户程序cow_client和预取服务程序cow_server。除了按需取块线程,对预取客户程序cow_client扩展了prefetch线程和prefetch_policy线程以实现预取功能。cow_client在程序启动时将创建用户端块缓存区(block_cache)用于缓存从服务器端获取的块,并采用LRU替换策略对块缓存区进行管理。对服务器端的预取服务程序cow_server扩展了两条请求队列以区分不同类型的取块请求:按需取块请求队列和预取请求队列。cow_server按照先来先服务(FIFO)的策略来服务每条队列中的请求,并优先服务按需取块请求队列中的取块请求;只有按需取块请求队列为空时,才服务预取请求队列中的取块请求。通过将配置文件mcow.cfg中的DEMAND_FETCH和SHARED_MEM_MGNT标志都设置为true以启用mcow驱动的按需取块和共享内存区管理功能,以支持预取机制。mcow在虚拟块设备初始化时创建共享访问统计信息区(access_profile),并在虚拟机运行过程中将COW磁盘的访问统计信息(COW磁盘访问计数值、按需取块次数、历史访问信息等)实时记录在访问统计信息区中。mcow在虚拟机运行过程中会访问由预取客户程序cow_client创建的块缓存区(block_cache)以提高虚拟磁盘的访问性能。mcow和cow_client通过Linux的信号量机制实现对两块共享内存区的读写互斥。本文档来自技高网...

【技术保护点】
1.一种基于访问频率和动态优先级的预取目标识别方法,其特征在于,主要包括如下几个步骤,1)、时间分片:将用户使用虚拟机中软件的时间分成长度为t的较短时间片TS,单个时间片内的COW磁盘访问统计信息是识别预取目标的基本依据;2)、当前预取目标:根据上一个时间片的COW磁盘访问统计信息,将访问频率最高或优先级最高的COW磁盘作为当前时间片的预取目标;当用户使用一种以上的软件时,当前预取目标会随着使用软件的变化而变化;3)、COW磁盘优先级:每个COW磁盘被赋予一个优先级;当一个COW磁盘在一个时间片内由于访问频率最高而成为预取目标时,递增该COW磁盘的优先级;当一个COW磁盘在N个连续的时间片内未成为预取目标时,递减该COW磁盘的优先级;4)、超时机制:对于无读请求的时间片,将上个时间片的预取目标作为当前预取目标;如果在连续经过M个无读请求的时间片后仍然无读请求,则将优先级最高的COW磁盘作为当前预取目标。

【技术特征摘要】
1.一种基于访问频率和动态优先级的预取目标识别方法,其特征在于,主要包括如下几个步骤,1)、时间分片:将用户使用虚拟机中软件的时间分成长度为t的较短时间片TS,单个时间片内的COW磁盘访问统计信息是识别预取目标的基本依据;2)、当前预取目标:根据上一个时间片的COW磁盘访问统计信息,将访问频率最高或优先级最高的COW磁盘作为当前时间片的预取目标;当用户使用一种以上的软件时,当前预取目标会随着使用软件的变化而变化;3)、COW磁盘优先级:每个COW磁盘被赋予一个优先级;当一个COW磁盘在一个时间片内由于访问频率最高而成为预取目标时,递增该COW磁盘的优先级;当一个COW磁盘在N个连续的时间片内未成为预取目标时,递减该COW磁盘的优先级;4)、超时机制:对于无读请求的时间片,将上个时间片的预取目标作为当前预取目标;如果在连续经过M个无读请求的时间片后仍然无读请求,则将优先级最高的COW磁盘作为当前预取目标。2.根据权利要求1所述的方法,其特征在于,VMM将每个时间片的COW磁盘访问统计信息记录在访问统计信息区中;当一个COW磁盘被访问时,VMM递增访问统计信息区中相应的计数值;利用访问统计信息区中的COW磁盘访问统计信息,预取策略模块prefetch_policy每个时间片执行一次上述步骤以确定当前时间片的预取目标COW磁盘;预取模块prefetch根据预取目标COW磁盘,在VMM无按需取块请求时执行预取过程。3.根据权利要求2所述的方法,其特征在于,p...

【专利技术属性】
技术研发人员:李永胜于治楼吴登勇张磊
申请(专利权)人:山东超越数控电子股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1