一种虚拟化加速方法、装置、存储器及设备与流程

文档序号:20346660发布日期:2020-04-10 22:40阅读:220来源:国知局
本发明涉及通信
技术领域
:,尤其涉及一种虚拟化加速方法、装置、存储器及设备。
背景技术
::内存虚拟化,指通过内存虚拟化共享物理系统内存,动态分配给虚拟机。客户操作系统继续控制虚拟地址到客户内存物理地址的映射(va->pa),但是客户操作系统不能直接访问实际机器内存,因此hypervisor层需要负责映射客户物理内存到实际机器内存(pa->ma),这个过程即gva(guestvirtualaddress)->gpa(guestphysicaladdress)->hpa(hostphysicaladdress)。hypervisor层根据请求启动并配置虚拟机时,根据请求附加标签的qos需求,现有采用纯软件方式如:“影子页表”,或者硬件辅助方式如:ept(extendedpagetable)机制来实现。由于在虚拟化环境中,一个逻辑cpu可以运行来自不同虚拟机的多个虚拟cpu,即vcpu,为了防止多个不同的vcpu之间,vcpu和逻辑cpu之间的地址转换cache(tlb和paging-structurecache)之间相互干扰,在每次进行vmentry(虚拟机加载)或者vmexit(虚拟机退出)操作的时候,都需要把这些地址转换所用到的cache清掉,再重新加载目标cpu/vcpu的地址转换cache,但是cache的清除和重新加载是一个比较耗时的操作,会影响到cpu/vcpu的性能。技术实现要素:针对现有的系统在虚拟机加载和退出操作时存在的上述问题,现提供一种旨在实现为系统中运行的虚拟机保留独有的高速缓存存储器cache,在克服了现有的虚拟机在操作时需要及时清除和重新加载高速缓存存储器cache带来的处理时间较长,严重影响cpu性能的问题的虚拟化加速方法、装置、存储器及设备。具体技术方案如下:一种虚拟化加速方法,其中,包括以下步骤:将每个高速缓存存储器cache带上标签,其中,所述高速缓存存储器cache为运行在系统中的虚拟机在执行地址转换时形成;解析所述标签,为执行操作的所述虚拟机调用与所述标签对应的所述高速缓存存储器cache。优选的,带有标签的所述高速缓存存储器cache在空间上彼此保持独立。优选的,为当前的所述虚拟机调用与所述标签对应的所述高速缓存存储器cache方法包括:在系统加载所述虚拟机后,系统逻辑cpu根据所述标签为所述虚拟机分配对应的所述高速缓存存储器cache。优选的,所述标签包括,所述虚拟机内的应用调用所述高速缓存存储器cache的优先级。优选的,记录所述虚拟机中的应用调用所述高速缓存存储器cache的失败次数,若计算的失败率高于一预定门限值时,动态调整当前的所述应用调用所述高速缓存存储器cache的优先级。还包括一种虚拟化加速装置,其中,包括:标签模块,用以为每个高速缓存存储器cache带上标签,其中,所述高速缓存存储器cache为运行在系统中的虚拟机在执行地址转换时形成;解析模块,用以解析所述标签;调用模块,用以根据解析结果,为执行操作的加载的所述虚拟机调用与所述标签对应的所述高速缓存存储器cache。优选的,包括,所述标签模块还用以设置所述虚拟机内的应用调用所述高速缓存存储器cache的优先级。优选的,包括:统计模块,用以记录所述虚拟机中的应用调用所述高速缓存存储器cache的失败次数;动态调整模块,若计算的失败率高于一预定门限值时,动态调整当前的所述应用调用所述高速缓存存储器cache的优先级。还包括一种存储器,其中,执行以下软件,该软件用以执行以下步骤:将每个高速缓存存储器cache带上标签,其中,所述高速缓存存储器cache为运行在系统中的虚拟机在执行地址转换时形成;通过解析所述标签,为执行操作的所述虚拟机调用与所述标签对应的所述高速缓存存储器cache。还包括一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述交互方法的步骤。上述技术方案的有益效果是:通过标签的方式对高速缓存存储器cache资源进行管理,标签具有自上而下的传递性,上层软件打好标签后,函数调用过程中将一直携带标签,硬件cpu能够解析并执行该标签对应的策略,使每个运行在系统中的虚拟机保留独有的高速缓存存储器cache,如此便可以克服vcpu/cpu所使用到的地址转换高速缓存存储器cache混到一起,每次进行vmentry或者vmexit的时,无需将地址转换的高速缓存存储器cachee清除掉,可调用之前保留着的cache,可有效地提高cpu性能。附图说明图1为本发明的一种虚拟化加速方法的实施例的流程示意图;图2为本发明的一种虚拟化加速装置的实施例的结构示意图;图3为本发明的一种虚拟化加速装置的另一实施例的结构示意图;图4为本发明的一种设备的实施例的结构示意图。上述附图标记表示:1、标签模块;2、解析模块;3、调用模块;4、统计模块;5、动态调整模块;a、存储器;b、处理器。具体实施方式下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。需要说明的是,在不冲突的前提下,以下描述的实施例以及实施例中的技术特征可以相互组合。本发明的技术方案中提供一种虚拟化加速方法,其中,包括以下步骤:将每个高速缓存存储器cache带上标签,其中,高速缓存存储器cache为运行在系统中的虚拟机在执行地址转换时形成;解析标签,为执行操作的虚拟机调用与标签对应的高速缓存存储器cache。如图1所示,具体的步骤包括:步骤s1、将每个高速缓存存储器cache带上标签,其中,高速缓存存储器cache为运行在系统中的虚拟机在执行地址转换时形成;步骤s2、解析标签,为执行操作的虚拟机调用与标签对应的高速缓存存储器cache。上述技术方案中,可通过上层软件打好标签,其中,标签具有自上而下的传递性,上层软件打好标签后,函数调用过程中将一直携带标签,硬件cpu能够解析并执行该标签对应的策略,通过该标签,克服了现有的运行在系统的虚拟机在启动或者退出时,需要执行重新执行地址转换形成高速缓存存储器cache,或者将形成的高速缓存存储器cache清除带来的处理时间过长,严重影响cpu性能的问题。在一种较优的实施方式中,带有标签的高速缓存存储器cache在空间上彼此保持独立。上述技术方案中,由于每个带有标签的高速缓存存储器cache在空间上彼此保持独立,因此vcpu/cpu使用各自独有的高速缓存存储器cache,进而可防止多个不同的vcpu之间,vcpu和逻辑cpu之间的地址转换cache(tlb和paging-structurecache)之间相互干扰。在一种较优的实施方式中,为当前的虚拟机调用与标签对应的高速缓存存储器cache方法包括:在系统加载虚拟机后,系统逻辑cpu根据标签为虚拟机分配对应的高速缓存存储器cache。上述技术方案中,当高速缓存存储器cache无法满足当前的应用时,此时需要将高速缓存存储器cache进行更新,并继续执行上述步骤分配高速缓存存储器cache,此处不再赘述。在一种较优的实施方式中,标签包括,虚拟机内的应用调用高速缓存存储器cache的优先级。在一种较优的实施方式中,记录虚拟机中的应用调用高速缓存存储器cache的失败次数,若计算的失败率高于一预定门限值时,动态调整当前的应用调用高速缓存存储器cache的优先级。上述技术方案中,为每个虚拟机提供对应的高速缓存存储器cache的同时,还可以为其中的应用针对性的提高调用高速缓存存储器cache的优先级。以下以一具体的实施例进行说明:例如存在多个应用,其中有2个应用对实时性要求高,那么可以通过在标签中标注为高优先级保证其高速缓存存储器cache命中率,同时对所有应用的cache失败率也进行统计,当某应用的失败率高于门限值时将触发回调函数对高应用的标签优先级进行提高,保证系统整体的性能。以免导致某些应用命中率非常高,某些应用命中率过低,系统整体性能变差的情况,标签除了cache之外还能够标记网卡外设,例如需要实时传输数据包时,可以通过标签,网卡设备优先发送该数据包。标签策略修改与cache是相同机制,由门限值触发软件回调函数。本发明的技术方案中那个还包括一种虚拟化加速装置。如图2所示,一种虚拟化加速装置的实施例,其中,包括:标签模块1,用以为每个高速缓存存储器cache带上标签,其中,高速缓存存储器cache为运行在系统中的虚拟机在执行地址转换时形成;解析模块2,用以解析标签;调用模块3,用以根据解析结果,为执行操作的加载的虚拟机调用与标签对应的高速缓存存储器cache。上述技术方案中,此装置的工作方式与上述的方法相同此处不再赘述,其通过标签化方式实现软硬件的协同,由硬件解析标签,完成硬件的资源分配、预留,有效的提高了提供虚拟化效率。在一种较优的实施方式中,包括,标签模块还用以设置虚拟机内的应用调用高速缓存存储器cache的优先级。在一种较优的实施方式中,如图3所示,虚拟化加速装置还包括:统计模块4,用以记录虚拟机中的应用调用高速缓存存储器cache的失败次数;动态调整模块5,若计算的失败率高于一预定门限值时,动态调整当前的应用调用高速缓存存储器cache的优先级。上述技术方案中,在硬件统计参数并在达到阈值(预定门限值)时,回调软件函数,从而达到平衡整个系统执行效率。本发明的技术方案中还包括一种存储器。一种存储器的实施例,其中,执行以下软件,该软件用以执行以下步骤:将每个高速缓存存储器cache带上标签,其中,高速缓存存储器cache为运行在系统中的虚拟机在执行地址转换时形成;通过解析标签,为执行操作的虚拟机调用与标签对应的高速缓存存储器cache。本发明的技术方案中还包括一种设备。如图4所示,一种设备的实施例,包括存储器a、处理器b及存储在存储器a上并可在处理器b上运行的计算机程序,其中,处理器b执行程序时实现上述交互方法的步骤。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件未完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤:而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1