【技术实现步骤摘要】
一种虚拟机调度方法、装置、设备及可读存储介质
[0001]本专利技术涉及虚拟化
,特别涉及一种虚拟机调度方法、装置、设备及可读存储介质。
技术介绍
[0002]随着现代社会科技的发展,虚拟化技术的应用越来与广泛。在虚拟化场景下,会出现物理环境下不存在的同步延迟问题,其中自旋锁(spinlock)问题尤为突出,自旋锁主要用于线程之间的同步,在物理环境持有自旋锁的内核线程不会被抢占,而在虚拟化环境下,持有自旋锁的虚拟机(VM,Virtual Machine)的子线程(vcpu)会被其他线程抢占,因为,vcpu在物理环境下表现为用户态线程,可以被其他高优先级的线程抢占,只有被抢占的vcpu再次获得物理cpu(pcpu,cpu超线程)运行时才能完成与其他vcpu的同步,这被抢占的时间便会导致同步延迟,同时也会导致其他等待该自旋锁的vcpu被阻塞,进而导致虚拟机性能严重下降;在现有案例中,出现过数据库性能下降30%,以及windows虚拟机蓝屏的问题。
[0003]现有技术中,往往采用co
‑
sched ...
【技术保护点】
【技术特征摘要】
1.一种虚拟机调度方法,其特征在于,包括:获取各物理cpu的pcpu利用率;根据所述pcpu利用率,确定所述物理cpu中的待调整物理cpu;其中,所述待调整物理cpu包括源物理cpu和目的物理cpu,所述源物理cpu的pcpu利用率大于所述目的物理cpu的pcpu利用率;根据所述待调整物理cpu上的虚拟机的子线程的vcpu利用率,确定所述子线程中的目标子线程;将所述目标子线程从所述源物理cpu调度到所述目的物理cpu。2.根据权利要求1所述的虚拟机调度方法,其特征在于,所述待调整物理cpu的数量为2时,所述根据所述pcpu利用率,确定所述物理cpu中的待调整物理cpu,包括:将所述pcpu利用率中数值最大的物理cpu确定为所述源物理cpu,并将所述pcpu利用率中数值最小的物理cpu确定为所述目的物理cpu。3.根据权利要求1所述的虚拟机调度方法,其特征在于,所述根据所述pcpu利用率,确定所述物理cpu中的待调整物理cpu之前,还包括:判断所述pcpu利用率中是否存在差值大于利用率阈值的两个pcpu利用率;若是,则执行所述根据所述pcpu利用率,确定所述物理cpu中的待调整物理cpu的步骤。4.根据权利要求1所述的虚拟机调度方法,其特征在于,还包括:当前虚拟机启动时,将当前虚拟机的每个子线程分配到各自对应的一个物理cpu;其中,任意两个所述物理cpu对应的当前虚拟机的子线程的数量之差小于或等于1。5.根据权利要求1所述的虚拟机调度方法,其特征在于,所述获取各物理cpu的pcpu利用率,包括:从预设用户态数据结构获取所述pcpu利用率;其中,所述预设用户态数据结构用于记录所述pcpu利用率以及各虚拟机的子线程的vcpu利用率和运行位置。6.根据权利要求1至5任一项所述的虚拟机调度方法,其特征在于,所述待调整物理cpu的数量为2时,所述根据所述待调整物理cpu上的虚拟机的子线程的vcpu利用率,确定所述子线程中的目标子线程,包括:...
【专利技术属性】
技术研发人员:陈列,
申请(专利权)人:深信服科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。