【技术实现步骤摘要】
一种基于并行应用阶段检测的虚拟时间片调度方法及系统
本专利技术属于虚拟化计算
,更具体地,涉及一种基于并行应用阶段检测的虚拟时间片调度方法及系统。
技术介绍
随着多核架构和虚拟化技术的快速发展,众多学术机构和企业开始尝试将不同的应用负载放到云端来运行,其中就包含并行应用。为了提高资源的利用率,虚拟化技术可以将多个独立的应用负载整合到同一个物理硬件系统中,然而这将会导致远超物理CPU数量的虚拟CPU被运行在这些物理CPU上,这种资源的过载现象使得并行应用在运行过程中受到严重的性能损失。众所周知,一个并行应用在运行过程中,计算阶段和通信阶段交替执行,通常情况下通信阶段的同步开销对整体性能有着很重要的影响。并行应用的同步方法可以用几种方式实现,例如在共享内存多线程模型中使用锁或在分布式内存模型中使用消息传递接口(MessagePassingInterface,MPI)。在一个多线程应用中,高性能低开销的自旋锁(spinlock)或者屏障(barrier)通常被用来解决多个线程访问同一资源时的竞争问题。在原生操作系统中,自旋锁的使用是为了保护较短的临界区,当自旋锁已经被占用时,其他试图获取此锁的线程将会忙等待直到锁被释放;当一个线程获取自旋锁后,操作系统将会禁用抢占以避免临界区代码的执行被打断。然而在虚拟化环境中,一个持有自旋锁的线程可能会由于虚拟机CPU(即vCPU)调度被虚拟机监控器(virtualmachinemonitor,VMM)抢占,此时等待获取锁的vCPU将会忙等待很长的时间直到持有锁的vCPU被再次调度并释放此锁,这将会导致大量的CPU资源被 ...
【技术保护点】
一种基于并行应用阶段检测的虚拟时间片调度方法,其特征在于,包括:S1、对于每个虚拟机,采集当前采样周期T内所述虚拟机中各虚拟CPU的缓存缺失信息,依据所述缓存缺失信息统计所述虚拟机的缓存缺失率,其中T为第一预设值;S2、计算所述虚拟机的缓存缺失率相对于所述虚拟机的N个历史采样周期的平均缓存缺失率的变化率,确定所述虚拟机中运行的并行应用处于计算阶段还是通信阶段,其中,N为第二预设值;S3、确定所述并行应用所处的执行阶段后,采取与所述执行阶段对应的时间片调度策略。
【技术特征摘要】
1.一种基于并行应用阶段检测的虚拟时间片调度方法,其特征在于,包括:S1、对于每个虚拟机,采集当前采样周期T内所述虚拟机中各虚拟CPU的缓存缺失信息,依据所述缓存缺失信息统计所述虚拟机的缓存缺失率,其中T为第一预设值;S2、计算所述虚拟机的缓存缺失率相对于所述虚拟机的N个历史采样周期的平均缓存缺失率的变化率,确定所述虚拟机中运行的并行应用处于计算阶段还是通信阶段,其中,N为第二预设值;S3、确定所述并行应用所处的执行阶段后,采取与所述执行阶段对应的时间片调度策略。2.根据权利要求1所述的方法,其特征在于,步骤S1包括如下子步骤:S1.1、对于每个虚拟机,采集当前采样周期T内所述虚拟机中各虚拟CPU的三级缓存缺失次数和指令执行数量,将所述各虚拟CPU的三级缓存缺失次数求和得到所述虚拟机的总体缓存缺失次数,将所述各虚拟CPU的指令执行数量求和得到所述虚拟机的总体指令执行数量;S1.2、由公式miss_ratecurr=α×总体缓存缺失次数/总体指令执行数量,计算所述虚拟机在当前采样周期T内的缓存缺失率,其中α为第三预设值。3.根据权利要求2所述的方法,其特征在于,步骤S2包括如下子步骤:S2.1、采用滑动窗口保存所述虚拟机在N个历史采样周期内的采样数据,其中,所述采样数据包括虚拟CPU的缓存缺失次数和指令执行数量;S2.2、根据所述窗口中的采样数据计算所述窗口的平均缓存缺失次数与平均指令执行数量,并由公式miss_ratewindow=α×平均缓存缺失次数/平均指令执行数量,计算所述窗口的平均缓存缺失率;S2.3、由公式计算所述虚拟机在当前采样周期T内的缓存缺失率与所述窗口的平均缓存缺失率的相对变化;S2.4、若δ在[1-ε,1+ε]之间,则表示所述并行应用进入稳定状态,并根据所述虚拟机在当前采样周期T内的缓存缺失率确定所述并行应用处于计算阶段还是通信阶段,其中ε为第四预设值;S2.5、若δ不在[1-ε,1+ε]之间,则表示所述并行应用不再处于稳定状态,将所述窗口中的数据全部移除并重置所述窗口大小。4.根据权利要求3所述的方法,其特征在于,所述根据所述虚拟机在当前采样周期T内的缓存缺失率确定所述并行应用处于计算阶段还是通信阶段,包括:若miss_ratecurr大于θ,则确定所述并行应用处于计算阶段,若miss_ratecurr不大于θ,则确定所述并行应用处于通信阶段,其中θ为第五预设值。5.根据权利要求4所述的方法,其特征在于,步骤S3包括如下子步骤:S3.1、若所述并行应用处于通信阶段,则判断上个采样周期的虚拟机时间片是否大于预设软边界;若所述并行应用处于计算阶段,则相对于上个采样周期线性增加虚拟机时间片作为当前采样周期的虚拟机时间片;S3.2、若上个采样周期的虚拟机时间片大于所述预设软边界,则相对于上个采样周期采用指数式减小方法减小虚拟机时间片作为当前采样周期的虚拟机时间片,否则,判断上个采样周期的虚拟机时间片是否大于预设硬边界;S3.3、若上个采样周期的虚拟机时间片大于所述预设硬边界,则相对于上个采样周期线性减小虚拟机时间片作为当前采样周期的虚拟机时间片,否则将当前采样周期的虚拟机时间片设置为所述预设硬边界。6.一种基于并行应用阶段检测的虚拟时间片调度系统,其特征在于,包括:采样模块,...
【专利技术属性】
技术研发人员:金海,吴松,赵新宇,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。