Xen的调度算法主要负责对各个客户虚拟机进行CPU时间片的分配,从而使
得硬件资源在各个客户虚拟机之间合理分配。在客户虚拟机启动之初,Xen会配
置其的CPU个数,这里的CPU称之为虚拟处理器,即VCPU。Xen的虚拟机调度
算法以VCPU为调度单位,而非以客户虚拟机为粒度进行调度,将VCPU动态的
分配到各个真实的物理CPU上执行,同一时间内只可能有物理CPU数量的VCPU
在执行。将调度算法粒度控制在VCPU级别的好处在于可以使得整个虚拟系统的
处理吞吐量增大,因为每个VCPU可以根据真实物理CPU的负载程度进行核间的
迁移,从而让系统的处理能力的利用率达到最大。如果以客户虚拟机为调度单位,
当遇到有多个VCPU的客户虚拟机时,需要同样多数目的物理CPU才能完成多
VCPU的同步调度,不仅降低了整体的性能,同时也不利于系统的扩展。