CN105955796A - 一种云平台上高性能并行应用的调度方法及系统 - Google Patents
一种云平台上高性能并行应用的调度方法及系统 Download PDFInfo
- Publication number
- CN105955796A CN105955796A CN201610256113.7A CN201610256113A CN105955796A CN 105955796 A CN105955796 A CN 105955796A CN 201610256113 A CN201610256113 A CN 201610256113A CN 105955796 A CN105955796 A CN 105955796A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- vcpu
- information
- spin lock
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种云平台上高性能并行应用的调度方法及系统;其方法为:设置虚拟机类型;采集网络数据包信息和自旋锁信息,并发送给宿主机;宿主机根据Hypercall调用号获取信息处理函数,获取自旋锁计数和网络数据包计数,并根据自旋锁计数单节点虚拟机同步需求,根据网络数据包计数判断跨节点虚拟机同步请求;根据虚拟机类型、网络数据包计数、自旋锁计数以及同步请求信号,确定vCPU队列中下一次被调入运行的vCPU;其系统包括虚拟机信息采集模块、信息处理模块、虚拟CPU动态分配模块、虚拟CPU调度模块;本发明通过对高性能应用的虚拟机与普通应用的虚拟机进行区分,并让所有相关vCPU同时运行,解决了高性能计算在云平台上的并行应用的同步延迟频繁问题。
Description
技术领域
本发明属于云平台资源管理与调度技术领域,更具体地,涉及一种云平台上高性能并行应用的调度方法及系统。
背景技术
云计算提高了底层硬件资源利用率和计算成本,已经成为传统集群运行高性能计算的一种替代方案。但是在多虚拟机环境下,虚拟化技术使得guest OS(客户机操作系统,guest Operation System)发生自旋锁抢占问题;在多虚拟机争用硬件资源的虚拟化环境中,持有自旋锁的vCPU(虚拟处理器,virtual Central Processing Unit)可能被其他虚拟机的vCPU抢占CPU资源,从而使等待自旋锁释放的相关vCPU处于长时间的忙等状态,而影响系统性能。
在云平台运行高性能并行应用,需要多节点的多虚拟机资源;但是每个节点上虚拟机的调度都是相互独立的;这使得一个虚拟机上的计算任务不可感知另一个虚拟机上相关计算任务的同步请求,从而导致虚拟机之间的同步延迟,形成“木桶效应”。
现有技术中,主要有两种vCPU调度方法应对高性能应用在多节点虚拟机上运行时的同步问题;其一是Co-scheduling(协同调度,CoperationScheduling),通过强制一个虚拟机的多个vCPU同时运行、同时终止,解决自旋锁抢占导致的CPU时间片浪费问题,提高同步率;但是强迫vCPU同步带来很多弊端,比如CPU碎片、优先级反置、缓存命中率下降等;或者针对自旋锁等待时间超出正常范围的虚拟机进行vCPU同步操作,减少vCPU同步带来的弊端;或者根据vCPU运行时间的相对偏差,抑制运行较快的vCPU,加速运行较慢的vCPU;但是这些Co-scheduling策略主要针对SMP(对称多处理机,Symmetric Multi-Processing)系统上单VM的调度问题,没有考虑跨节点的VM(虚拟机,VirtualMachine)同步问题。
其二是为动态时间片的调度方法,缩短时间片会减少同步等待时间,但是可能会因为频繁的进程上下文切换开销而得不偿失;延长时间片,切换开销减少,但同步等待时间会变长;该方法很难把握时间片的最佳长度;并且时间片的概念只适用于XEN的虚拟化环境,不适合基于KVM(Kernel-based Virtual Machine)的底层是红黑树结构的云平台。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种云平台上高性能并行应用的调度方法及系统,其目的在于通过两阶段同步感知的手段,解决跨节点的虚拟机的同步请求响应延迟频繁的问题。
为实现上述目的,按照本发明的一个方面,提供了一种云平台上高性能并行应用的调度方法,具体如下:
(1)在宿主机上创建虚拟机,并根据虚拟机上运行的应用类型将虚拟机类型设置为高性能应用虚拟机或者非高性能应用虚拟机;
(2)当高性能应用运行于云平台的多个虚拟机上,虚拟机内核自动采集网络数据包信息和自旋锁信息,并发送给宿主机;
(3)宿主机根据Hypercall调用号获取相应的信息处理函数,并进行信息采集,获取自旋锁计数和接收的网络数据包计数;
并根据自旋锁计数单节点虚拟机同步需求,根据网络数据包计数判断跨节点虚拟机同步请求;
(4)根据虚拟机类型、网络数据包计数、自旋锁计数以及同步请求信号,确定vCPU队列中下一次被调入运行的vCPU;
在下一个调度周期内优先调度有同步请求信号的vCPU,然后是网络数据包计数最大的vCPU,其次是自旋锁计数最大的vCPU,最后是KVM系统完全公平性调度器选择的vCPU。
优选地,上述云平台上高性能并行应用的调度方法,其步骤(3)包括以下子步骤:
(3-1)虚拟机信息处理模块根据最近三次的接收数据包计数平均值判断跨节点虚拟机同步请求;并把该参数作为虚拟机调度的关键参数;
(3-2)虚拟机信息处理模块根据最新的自旋锁计数值判断单节点虚拟机同步需求;并把该自旋锁计数作为虚拟机调度依据。
优选地,上述云平台上高性能并行应用的调度方法,其步骤(4)包括以下子步骤:
(4-1)判断当前虚拟机类型是否为高性能应用虚拟机,若是则进入步骤(4-2),若否,则进入步骤(4-5);
(4-2)判断数据包计数值是否超过第一阈值,若是,则表明虚拟机之间的高性能应用有同步需求,进入步骤(4-4);若否,则进入步骤(4-5);
第一阈值根据数据包传输的频繁程度以及实验数据调整;对于耦合性高的高性能应用,数据通信密集,数据包传输频繁;
(4-3)判断vCPU的自旋锁计数值是否超过第二阈值;若是,则表明虚拟机内部vCPU需要同步,进入步骤(4-4);若否,则进入步骤(4-5);
第二阈值根据是否发生锁持有者抢占以及实验数据调整;当发生LHP(锁持有者抢占,LockHolder Preemption),虚拟机自旋锁时间变长;
(4-4)由产生同步需求的vCPU向所有包含相关vCPU的处理器发送虚拟机同步中断信号,重新触发虚拟机调度函数,将相关vCPU调入CPU上执行;
(4-5)使用KVM自带的完全公平性调度机制选择下一个调入的vCPU。
为实现本发明目的,按照本发明的另一方面,提供了一种云平台上高性能并行应用的调度系统,包括虚拟机信息采集模块、信息处理模块、虚拟CPU动态分配模块和虚拟CPU调度模块;
其中,虚拟机信息采集模块用于采集虚拟机相关信息,包括虚拟机的网络数据包信息和自旋锁信息;
信息处理模块用于根据上述虚拟机相关信息判断虚拟机上是否有高性能并行应用的同步请求;
虚拟CPU动态分配模块用于根据调度程序需求,将同一个VM上相关的虚拟CPU动态地部署在不同的物理CPU上;
虚拟机调度模块用于根据标志位判断相关虚拟机上运行的是否为高性能应用;并用于根据自旋锁信息、数据包信息、标志位以及同步标志信息动态调整虚拟机调度机制。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果;
(1)本发明提供的云平台上高性能并行应用的调度系统,与现有的KVM默认虚拟机调度策略CFS相比,由于采用了虚拟机信息采集模块,通过Hypercall技术和KVM的虚拟机信息读取API将虚拟机的数据包信息和自旋锁信息传递给hypervisor,丰富了虚拟机调度依据,实现了跨节点和单节点虚拟机同步请求的有效判断,加速高性能计算应用的运行;
(2)本发明提供的云平台上高性能并行应用的调度系统,由于采用了虚拟CPU动态分配模块,避免了CFS调度中的相关vCPU被随机分配到同一个CPU上的现象,提高了CPU有效利用率;
(3)本发明提供的云平台上高性能并行应用的调度方法,在系统运行时,不断采集网络数据包信息和自旋锁信息,以此来判断当前高性能计算虚拟机是否有同步需求,以及该同步需求是跨节点的虚拟机之间的还是单节点虚拟机引起的;
(4)本发明提供的云平台上高性能并行应用的调度方法,通过对高性能应用的虚拟机与普通应用的虚拟机进行区分;并且,在系统运行时,需要同步操作的VM的第一个被调度的vCPU使用IPI操作触发CPU中断,让所有相关vCPU同时运行,从而解决高性能计算在云平台上运行时同步延迟频繁的问题;
(5)本发明提供的云平台上高性能并行应用的调度系统及方法,由于工作在内核态环境,对上层用户完全透明,不需要对用户态程序做额外的修改和特殊的设置,因而具有很强的通用性。
附图说明
图1是KVM虚拟机通用架构图;
图2为在云平台上运行高性能应用时的跨节点同步场景图;
图3为本发明实施例提供的云平台上高性能并行应用的调度系统的模块框图;
图4为本发明实施例提供的云平台上高性能并行应用的调度方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,是KVM虚拟机通用架构图,KVM虚拟机构建的云平台通用架构包括物理硬件设备、虚拟机管理器,虚拟机操作系统、具体的应用等几个层次;物理硬件设备包括CPU、网络、内存、I/O等资源,虚拟机管理器Hypervisor主要涉及指KVM虚拟化工具,虚拟机操作系统GuestOS主要是开源的Linux系统;本发明的主要作用对象在于Hypervisor和GuestOS。
图2所示,是实施例中的运行场景;节点1上的VM1和节点2上的VM2运行同一个高性能应用的两个子任务,分别持有两个vCPU;在一个迭代周期完成时需要MPI_Barrier进行数据同步操作;由于VM1和VM2相互不知道对方的执行进度,可能会出现VM1的vCPU0比VM2上vCPU1快的现象,因此在一个迭代周期内虚拟机之间会产生同步等待,即VM1需要等待VM2的相关数据,从而使得整个程序运行时间变长;在整个程序运行过程中产生同步等待的累积时间将不可忽略,由此降低了计算性能。
如图3所示,是本发明实施例提供的平台上高性能并行应用的调度系统的模块框图;该系统包括虚拟机信息采集模块、信息处理模块、虚拟CPU动态分配模块、虚拟CPU调度模块;
虚拟机信息采集模块用于采集虚拟机相关信息,包括虚拟机的网络数据包信息和自旋锁信息;
实施例中,虚拟机信息采集模块在对应用程序运行时虚拟机的自旋锁信息和网络数据包信息进行采样的同时,采用虚拟机的Hypercall机制和KVM相关虚拟机内存读取API把VM信息传递给Host;
在单个物理机上虚拟机over-committed的环境下,采集到的虚拟机自旋锁信息可以用来判断单个虚拟机上不同vCPU的自旋等待状况;在多物理机的云环境下,一段固定时间内虚拟机接收的网络数据包的数量反映了跨界点虚拟机之间的同步请求状况;虚拟机调度模块根据上述两点,通过信息处理模块得到的参数来选择相应的虚拟机调度机制;
信息处理模块用于根据上述虚拟机相关信息判断虚拟机上是否有高性能并行应用的同步请求;
虚拟CPU动态分配模块用于根据虚拟机的vCPU数量和物理机上CPU的数量,动态的分配vCPU在物理CPU上的位置;
例如,一个物理机有16个CPU,上面有一个虚拟机VM1,VM1有8个vCPU;若vCPU0和vCPU1同时分配在CPU0上,那么当vCPU0和vCPU1有同步需求时,会因为分布在同一个CPU上而不能同时运行,从而降低计算性能;而vCPU动态分配模块针对这个问题,在给每个虚拟机的vCPU分配物理CPU时会去检查每个CPU上是否已经有该虚拟机上其他的vCPU在运行队列中,如果有,就避免两个vCPU同时被分配在一个CPU上;
虚拟机调度模块TPSched用于根据标志位判断相关虚拟机上运行的是否为高性能应用;并根据标志位、自旋锁信息、数据包信息以及同步标志信息判断高性能计算的同步请求,以确定是否要通过Linux内核的CPU中断函数抢占正在运行的进程,触发不同CPU上所有相关vCPU的同时调度;动态调整虚拟机调度机制,从而解决同步问题;
实施例提供的这种平台上高性能并行应用的调度系统,采用虚拟机信息采集模块,通过Hypercall技术和KVM的虚拟机信息读取API将虚拟机的数据包信息和自旋锁信息传递给hypervisor,从而丰富了虚拟机调度依据,实现了跨节点和单节点虚拟机同步请求的有效判断,加速高性能计算应用的运行;采用了虚拟CPU动态分配模块,通过vCPU的CPU掩码检测,避免了CFS调度中的相关vCPU被随机分配到同一个CPU上的现象,提高了CPU有效利用率。
如图4所示,是实施例提供的云平台上高性能并行应用的调度方法的流程图,该方法具体如下:
(1)在宿主机上创建一台虚拟机,根据需要设置虚拟机类型为高性能应用虚拟机或者非高性能应用虚拟机;
(2)当高性能应用运行于云平台的多个虚拟机上,虚拟机内核自动采集网络数据包信息和自旋锁信息,通过Hypercall传送给宿主机;
(3)宿主机根据Hypercall调用号找到相应的信息处理函数,在虚拟机内采集的网络数据包信息和自旋锁信息经过处理,得到两个参数:自旋锁计数和接收的网络数据包计数;然后通过信息处理模块将这两个参数传递给虚拟机调度模块;
(4)虚拟机调度模块根据虚拟机类型、网络数据包计数、自旋锁计数以及同步请求信号确定下一次在vCPU队列中的哪一个vCPU被调入运行;一次调度决策过程结束。
实施例中,步骤(3)包括以下子步骤:
(3-1)虚拟机信息处理模块取最近三次的接收数据包计数平均值来判断跨节点虚拟机同步请求,并把该参数做为虚拟机调度的关键参数;
(3-2)虚拟机信息处理模块根据最新的自旋锁计数值判断单节点虚拟机同步需求,并把自旋锁计数值做为一个虚拟机调度依据。
实施例中,步骤(4)包括以下子步骤:
(4-1)判断当前虚拟机类型是否为高性能应用虚拟机,若是则进入步骤(4-2),若否,则进入步骤(4-5);
(4-2)判断数据包计数值是否超过第一阈值;若是,则表明虚拟机之间的高性能应用有同步需求,进入步骤(4-4);若否,则进入步骤(4-5);
实施例中,第一阈值设为10Kpackets/s;
(4-3)判断vCPU的自旋锁计数值是否超过第二阈值;若是,则表明虚拟机内部vCPU需要同步,进入步骤(4-4);若否,则进入步骤(4-5);
实施例中,第二阈值设为214个时钟周期;
(4-4)由产生同步需求的vCPU向所有包含相关vCPU的处理器发送虚拟机同步中断信号,重新触发虚拟机调度函数,将相关vCPU调入CPU上执行;
(4-5)使用KVM自带的完全公平性调度机制选择下一个调入的vCPU。
实施例提供的这种云平台上高性能并行应用的调度方法,其步骤(1)中,系统区分了高性能应用的虚拟机和普通应用的虚拟机,并对高性能计算虚拟机做了特殊信息处理,从而解决高性能计算的在云平台上运行时同步延迟频繁的问题;
其步骤(3)、(4)中,在系统运行时不断采集网络数据包信息和自旋锁信息,以此判断当前高性能计算虚拟机是否有同步需求,并判断该同步需求是跨节点的虚拟机之间的需求,还是单节点虚拟机引起的;
其步骤(4-4)中,在系统运行时,需要同步操作的VM的第一个被调度的vCPU使用IPI操作出发CPU中断,让所有相关vCPU同时运行,缓解了同步延迟问题;可以在内核态对用户程序做特殊调度处理,而对上层用户态完全透明,有很强的通用性。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种云平台上高性能并行应用的调度方法,其特征在于,包括如下步骤:
(1)在宿主机上创建虚拟机,并根据虚拟机上运行的应用类型将虚拟机类型设为高性能应用虚拟机或者非高性能应用虚拟机;
(2)当高性能应用运行于云平台的多个虚拟机上,虚拟机内核自动采集网络数据包信息和自旋锁信息,并发送给宿主机;
(3)宿主机根据Hypercall调用号获取相应的信息处理函数;并进行信息采集,获取自旋锁计数和网络数据包计数;
并根据自旋锁计数单节点虚拟机同步需求,根据网络数据包计数判断跨节点虚拟机同步请求;
(4)根据所述虚拟机类型、网络数据包计数、自旋锁计数以及同步请求信号,确定vCPU队列中下一次被调入运行的vCPU。
2.如权利要求1所述的调度方法,其特征在于,所述步骤(3)包括以下子步骤:
(3-1)虚拟机信息处理模块根据最近三次接收的网络数据包计数的平均值判断跨节点虚拟机同步请求;
(3-2)虚拟机信息处理模块根据最新的自旋锁计数值判断单节点虚拟机同步需求。
3.如权利要求2所述的调度方法,其特征在于,所述步骤(4)包括以下子步骤:
(4-1)判断当前虚拟机类型是否为高性能应用虚拟机,若是,则进入步骤(4-2),若否,则进入步骤(4-5);
(4-2)判断数据包计数值是否超过第一阈值,若是,则进入步骤(4-4);若否,则进入步骤(4-5);
(4-3)判断vCPU的自旋锁计数值是否超过第二阈值,若是,则表进入步骤(4-4);若否,则进入步骤(4-5);
(4-4)由产生同步需求的vCPU向所有包含相关vCPU的处理器发送虚拟机同步中断信号,重新触发虚拟机调度函数,将相关vCPU调入CPU上执行;
(4-5)采用KVM自带的完全公平性调度机制选择下一个调入的vCPU。
4.一种云平台上高性能并行应用的调度系统,其特征在于,包括虚拟机信息采集模块、信息处理模块、虚拟CPU动态分配模块和虚拟CPU调度模块;
所述虚拟机信息采集模块用于采集虚拟机相关信息,包括虚拟机的网络数据包信息和自旋锁信息;
所述信息处理模块用于根据所述虚拟机相关信息判断虚拟机上是否有高性能并行应用的同步请求;
所述虚拟CPU动态分配模块用于根据调度程序需求,将同一个VM上相关的虚拟CPU动态地部署在不同的物理CPU上;
所述虚拟机调度模块用于根据标志位判断相关虚拟机上运行的是否为高性能应用;并用于根据自旋锁信息、网络数据包信息、标志位以及同步标志信息动态调整虚拟机调度机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610256113.7A CN105955796B (zh) | 2016-04-22 | 2016-04-22 | 一种云平台上高性能并行应用的调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610256113.7A CN105955796B (zh) | 2016-04-22 | 2016-04-22 | 一种云平台上高性能并行应用的调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105955796A true CN105955796A (zh) | 2016-09-21 |
CN105955796B CN105955796B (zh) | 2018-12-07 |
Family
ID=56915531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610256113.7A Active CN105955796B (zh) | 2016-04-22 | 2016-04-22 | 一种云平台上高性能并行应用的调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105955796B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107153578A (zh) * | 2017-05-16 | 2017-09-12 | 郑州云海信息技术有限公司 | 一种提高cpu利用率的方法及装置 |
CN107193637A (zh) * | 2017-05-27 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种kvm虚拟机的cpu热添加方法及装置 |
CN107357641A (zh) * | 2017-06-21 | 2017-11-17 | 西安电子科技大学 | 一种云计算中任务调度方法 |
CN110795231A (zh) * | 2018-08-03 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 一种虚拟cpu的处理方法及装置 |
CN110851239A (zh) * | 2019-11-15 | 2020-02-28 | 湖南智领通信科技有限公司 | 一种type-i型硬实时高可靠性全虚拟化方法 |
CN112330229A (zh) * | 2020-12-02 | 2021-02-05 | 北京元心科技有限公司 | 资源调度方法、装置、电子设备及计算机可读存储介质 |
CN112596891A (zh) * | 2021-03-03 | 2021-04-02 | 南京信息工程大学 | 时间片轮转结合扩展中断的多任务管理方法 |
CN113934635A (zh) * | 2021-10-21 | 2022-01-14 | 江苏安超云软件有限公司 | 基于异构处理器提供同等算力云服务的方法及应用 |
CN115145688A (zh) * | 2022-06-29 | 2022-10-04 | 科东(广州)软件科技有限公司 | 一种用户态虚拟机虚拟核的暂停方法及装置 |
CN118349368A (zh) * | 2024-05-14 | 2024-07-16 | 哈尔滨工业大学 | 一种面向实时性的虚拟化平台可中断互斥锁的构建方法、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473135A (zh) * | 2013-09-23 | 2013-12-25 | 中国科学技术大学苏州研究院 | 虚拟化环境下自旋锁lhp现象的处理方法 |
CN103677990A (zh) * | 2013-12-13 | 2014-03-26 | 清华大学 | 虚拟机实时任务的调度方法、装置和虚拟机 |
CN103729242A (zh) * | 2013-12-19 | 2014-04-16 | 华为技术有限公司 | 一种自旋锁抢占调度算法选择方法及装置 |
CN103744728A (zh) * | 2014-01-22 | 2014-04-23 | 上海交通大学 | 一种基于动态ple技术的虚拟机协同调度方法 |
US20140229940A1 (en) * | 2013-02-14 | 2014-08-14 | General Dynamics C4 Systems, Inc. | Methods and apparatus for synchronizing multiple processors of a virtual machine |
US20150033228A1 (en) * | 2012-03-06 | 2015-01-29 | Samsung Electronics Co., Ltd. | Method and apparatus for recovering lock holder preemption |
CN104866370A (zh) * | 2015-05-06 | 2015-08-26 | 华中科技大学 | 一种云计算环境下面向并行应用的动态时间片调度方法及系统 |
-
2016
- 2016-04-22 CN CN201610256113.7A patent/CN105955796B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150033228A1 (en) * | 2012-03-06 | 2015-01-29 | Samsung Electronics Co., Ltd. | Method and apparatus for recovering lock holder preemption |
US20140229940A1 (en) * | 2013-02-14 | 2014-08-14 | General Dynamics C4 Systems, Inc. | Methods and apparatus for synchronizing multiple processors of a virtual machine |
CN103473135A (zh) * | 2013-09-23 | 2013-12-25 | 中国科学技术大学苏州研究院 | 虚拟化环境下自旋锁lhp现象的处理方法 |
CN103677990A (zh) * | 2013-12-13 | 2014-03-26 | 清华大学 | 虚拟机实时任务的调度方法、装置和虚拟机 |
CN103729242A (zh) * | 2013-12-19 | 2014-04-16 | 华为技术有限公司 | 一种自旋锁抢占调度算法选择方法及装置 |
CN103744728A (zh) * | 2014-01-22 | 2014-04-23 | 上海交通大学 | 一种基于动态ple技术的虚拟机协同调度方法 |
CN104866370A (zh) * | 2015-05-06 | 2015-08-26 | 华中科技大学 | 一种云计算环境下面向并行应用的动态时间片调度方法及系统 |
Non-Patent Citations (1)
Title |
---|
耿玮: "基于锁感知的多处理机VCPU调度系统", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107153578B (zh) * | 2017-05-16 | 2020-08-25 | 苏州浪潮智能科技有限公司 | 一种提高cpu利用率的方法及装置 |
CN107153578A (zh) * | 2017-05-16 | 2017-09-12 | 郑州云海信息技术有限公司 | 一种提高cpu利用率的方法及装置 |
CN107193637A (zh) * | 2017-05-27 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种kvm虚拟机的cpu热添加方法及装置 |
CN107357641A (zh) * | 2017-06-21 | 2017-11-17 | 西安电子科技大学 | 一种云计算中任务调度方法 |
CN110795231A (zh) * | 2018-08-03 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 一种虚拟cpu的处理方法及装置 |
CN110795231B (zh) * | 2018-08-03 | 2023-12-22 | 阿里巴巴集团控股有限公司 | 一种虚拟cpu的处理方法及装置 |
CN110851239B (zh) * | 2019-11-15 | 2023-07-04 | 湖南智领通信科技有限公司 | 一种type-i型硬实时高可靠性全虚拟化方法 |
CN110851239A (zh) * | 2019-11-15 | 2020-02-28 | 湖南智领通信科技有限公司 | 一种type-i型硬实时高可靠性全虚拟化方法 |
CN112330229A (zh) * | 2020-12-02 | 2021-02-05 | 北京元心科技有限公司 | 资源调度方法、装置、电子设备及计算机可读存储介质 |
CN112330229B (zh) * | 2020-12-02 | 2023-09-22 | 北京元心科技有限公司 | 资源调度方法、装置、电子设备及计算机可读存储介质 |
CN112596891B (zh) * | 2021-03-03 | 2021-06-11 | 南京信息工程大学 | 时间片轮转结合扩展中断的多任务管理方法 |
CN112596891A (zh) * | 2021-03-03 | 2021-04-02 | 南京信息工程大学 | 时间片轮转结合扩展中断的多任务管理方法 |
CN113934635B (zh) * | 2021-10-21 | 2022-07-19 | 江苏安超云软件有限公司 | 基于异构处理器提供同等算力云服务的方法及应用 |
CN113934635A (zh) * | 2021-10-21 | 2022-01-14 | 江苏安超云软件有限公司 | 基于异构处理器提供同等算力云服务的方法及应用 |
CN115145688A (zh) * | 2022-06-29 | 2022-10-04 | 科东(广州)软件科技有限公司 | 一种用户态虚拟机虚拟核的暂停方法及装置 |
CN115145688B (zh) * | 2022-06-29 | 2023-06-16 | 科东(广州)软件科技有限公司 | 一种用户态虚拟机虚拟核的暂停方法及装置 |
CN118349368A (zh) * | 2024-05-14 | 2024-07-16 | 哈尔滨工业大学 | 一种面向实时性的虚拟化平台可中断互斥锁的构建方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105955796B (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105955796A (zh) | 一种云平台上高性能并行应用的调度方法及系统 | |
Marty et al. | Snap: A microkernel approach to host networking | |
Ousterhout et al. | Shenango: Achieving high {CPU} efficiency for latency-sensitive datacenter workloads | |
Hedayati et al. | {Multi-Queue} fair queuing | |
Xu et al. | {vTurbo}: Accelerating Virtual Machine {I/O} Processing Using Designated {Turbo-Sliced} Core | |
CN102262557B (zh) | 通过总线架构构建虚拟机监控器的方法及性能服务框架 | |
Liao et al. | Software techniques to improve virtualized I/O performance on multi-core systems | |
US11625258B2 (en) | Method, apparatus and system for real-time virtual network function orchestration | |
Kim et al. | Demand-based coordinated scheduling for SMP VMs | |
CN103744716B (zh) | 一种基于当前vcpu调度状态的动态中断均衡映射方法 | |
US9792137B2 (en) | Real-time performance apparatus and method for controlling virtual machine scheduling in real-time | |
US11537430B1 (en) | Wait optimizer for recording an order of first entry into a wait mode by a virtual central processing unit | |
CN106844007A (zh) | 一种基于空间复用的虚拟化方法与系统 | |
US10733022B2 (en) | Method of managing dedicated processing resources, server system and computer program product | |
Zeng et al. | An improved xen credit scheduler for i/o latency-sensitive applications on multicores | |
CN106250217A (zh) | 一种多虚拟处理器间的同步调度方法及其调度系统 | |
Lettieri et al. | A study of I/O performance of virtual machines | |
Guan et al. | Performance enhancement for network I/O virtualization with efficient interrupt coalescing and virtual receive-side scaling | |
Zeng et al. | XCollOpts: A novel improvement of network virtualizations in Xen for I/O-latency sensitive applications on multicores | |
Kashyap et al. | Scaling Guest {OS} Critical Sections with {eCS} | |
CN104866370B (zh) | 一种云计算环境下面向并行应用的动态时间片调度方法及系统 | |
Cheng et al. | Offloading interrupt load balancing from SMP virtual machines to the hypervisor | |
Markthub et al. | Using rcuda to reduce gpu resource-assignment fragmentation caused by job scheduler | |
CN115967751A (zh) | 基于多核处理器的IPSec报文转发方法及装置 | |
CN111124608B (zh) | 一种面向多核虚拟机的精确低延迟中断重定向方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |