xen-CPU调度算法分析

==================

Credit Scheduler
===================
目的:为在SMP之间平均分配CPU时间的调度器
其他选择:SEDF/BVT仍在实验阶段

描述:
每个domain(包括host),都分配一个weight和cap
weight:权重,1~65535,按照从大到小分配
cap:一个domain中最大占用CPU的比率,一个CPU=100份 (在BIOS中设置的降频,会影响cap的表项)

SMP负载均衡:
Credit Scheduler在SMP host上,默认将VCPU的负载平摊到PCPU
但也可将VCPU pin到指定PCPU

Scheduler Rate 限制
     ratelimit_us:微秒数(默认1000us=1ms)
     作用:当VM1运行时,若VM2被唤醒 & 优先级(VM2)>优先级(VM1),VM1至少运行 ratelimit_us * 微秒,之后才会让出运行权
     设置方法:
               xen的命令 sched_retelimit_us
          或
               xl sched-credit -r [n]

     显示当前情况(xm/xl都可以)
               xl sched-credit

               xm sched-credit -d <domain> 
               xm sched-credit -d <domain> -w <weight> 
               xm sched-credit -d <domain> -c <cap>
     
调度算法:
1.运行前
* 每个PCPU有一个本地VCPU队列,按照VCPU优先级排序
* VCPU的优先级有两个:over/under,表示该VCPU在当前周期,是否使用超过其被分配的资源份额
* 新插入的VCPU,被放在相同优先级队尾
2.运行时
* 从队头取要执行的VCPU
* VCPU的运行,消耗credits
* 当VCPU消耗完其credits,其优先级为under
3.运行完
* 当CPU找不到任何under的VCPU,它会向其他CPU查询
* 当CPU变为idle,它向其他CPU查询可运行的VCPU(保证,整个系统中有要执行的VCPU时,不会有CPU idle)

转载于:https://my.oschina.net/kakablue/blog/186112

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值