【技术实现步骤摘要】
一种虚拟CPU的处理方法及装置
本申请涉及虚拟化
,具体涉及一种虚拟CPU的处理方法及装置。
技术介绍
云计算已经成为现代信息技术产业的核心技术框架,未来越来越多的信息技术应用会部署在云上。云计算的核心技术就是虚拟化。自旋锁,即spinlock,是用于保护共享资源的一种锁机制。在虚拟机中,CPU在获取自旋锁失败的时候,会一直处于忙等待状态。虽然CPU制造厂商Intel在自旋锁的实现中引入了PAUSE指令,可以提高自旋锁的性能,并且在一定程度上降低了CPU忙等待的功耗,但是这些性能提高还不能满足要求。为了提高物理CPU的利用率,Intel引入了PLE(Pause-LoopExiting)技术。PLE技术是指当虚拟机监控程序发现虚拟CPU一直在进行忙等待,且忙等待的时间超过了预定的阈值,则虚拟机监控程序将该虚拟CPU上的物理CPU处理走,被处理走的物理CPU用于运行其他虚拟CPU或者其他任务。这样就避免了虚拟CPU一直处于忙等待时,物理CPU资源的浪费。但是目前Intel的PLE也存在问题,即当虚拟机中存在 ...
【技术保护点】
1.一种虚拟CPU的处理方法,其特征在于,包括:/n确定虚拟CPU在同一个自旋循环中执行PAUSE指令的次数;/n判断所述执行PAUSE指令的次数是否满足次数条件;/n如果所述执行PAUSE指令的次数满足次数条件,则将所述虚拟CPU从所述虚拟CPU所占用的物理CPU资源上移除。/n
【技术特征摘要】
1.一种虚拟CPU的处理方法,其特征在于,包括:
确定虚拟CPU在同一个自旋循环中执行PAUSE指令的次数;
判断所述执行PAUSE指令的次数是否满足次数条件;
如果所述执行PAUSE指令的次数满足次数条件,则将所述虚拟CPU从所述虚拟CPU所占用的物理CPU资源上移除。
2.根据权利要求1所述的虚拟CPU的处理方法,其特征在于,所述确定虚拟CPU在同一个自旋循环中执行PAUSE指令的次数,包括:
判断准备执行的PAUSE指令对应的自旋循环是否为之前执行的PAUSE指令对应的自旋循环,如果是,则针对所述执行PAUSE指令的次数进行递增操作,否则,针对所述执行PAUSE指令的次数进行重新计数。
3.根据权利要求2所述的虚拟CPU的处理方法,其特征在于,所述判断准备执行的PAUSE指令对应的自旋循环是否为之前执行的PAUSE指令对应的自旋循环,包括:判断准备执行的PAUSE指令对应的第一自旋循环标识与第一存储空间预先存储的与之前执行的PAUSE指令对应的第二自旋循环标识是否相同;
所述如果是,则针对所述执行PAUSE指令的次数进行递增操作,包括:如果所述第一自旋循环标识与所述第二自旋循环标识相同,则针对所述执行PAUSE指令的次数进行递增操作;
所述否则,针对所述执行PAUSE指令的次数进行重新计数,包括:如果所述第一自旋循环标识与所述第二自旋循环标识不相同,则针对所述执行PAUSE指令的次数进行重新计数。
4.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,还包括:如果所述第一存储空间未存储任何一个自旋循环标识,则将所述第一自旋循环标识存入所述第一存储空间。
5.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,还包括:如果所述第一存储空间未存储任何一个自旋循环标识,则针对所述执行PAUSE指令的次数进行递增操作。
6.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,如果所述第一自旋循环标识与所述第二自旋循环标识不相同,则将所述第一自旋循环标识写入所述第一存储空间。
7.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,所述第一存储空间为MSR。
8.根据权利要求7所述的虚拟CPU的处理方法,其特征在于,所述MSR位于虚拟CPU的PauseControl模块中。
9.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,还包括:
当虚拟CPU无法获取自旋锁时,在进入所述准备执行的PAUSE指令对应的自旋循环之前,获取操作系统为所述准备执行的PAUSE指令对应的自旋循环分配的所述第一自旋循环标识。
10.根据权利要求3所述的虚拟CPU的处理方法,其特征在于,针对不同的自旋循环采用不同的自旋循环标识。
11.根据权利要求1所述的虚拟CPU的处理方法,其特征在于,所述判断所述执行PAUSE指令的次数是否满足次数条件,包括:
判断所述执行PAUSE指令的次数是否达到次数阈值;
所述执行PAUSE指令的次数满足次数条件包括:所述执行PAUSE指令的次数达到所述次数阈值。
12.根据权利要求1所述的虚拟CPU的处理方法,其特征在于,还包括:如果所述执行PAUSE指令的次数不满足次数条件,则所述虚拟CPU继续在所述同一个自旋循环中运行。
13.根据权利要求1所述的虚拟CPU的处理方法,其特征在于,所述将所述虚拟CPU从所述虚拟CPU所占用的物理CPU资源上移除,包括:通过执行VMExit操作将所述虚拟CPU从所述虚拟CPU所占用的物理CPU资源上移除。
14.一种虚拟CPU的处理装置,其特征在于,包括:
确定单元,用于确定虚拟CPU在同一个自旋循环中执行PAUSE指令的次数;
判断单元,用于判断所述执行PAUSE指令的次数是否满足次数条件;
移除单元,用于如果所...
【专利技术属性】
技术研发人员:宋文俊,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。