Abstract: | Hybrid co-scheduling (CS) is an effective approach to address the synchronisation problems for concurrent virtual machines such as lock-holder preemption. However, the scheduling gaps and fragments in hybrid CS cause a serious performance degradation and unfairness if multiple concurrent domains exist. We propose three optimisation schemes for such problems named partial co-scheduling (PCS), boost co-scheduling (BCS) and precise boost co-scheduling (PBCS) using finer space granularity. PCS scheme activates the CS signals only for the indispensable central processing units (CPUs) instead of all online CPUs. BCS scheme boosts the priorities for co-scheduled virtual CPUs (VCPUs) to induce the scheduler to pick the appropriate VCPUs. PBCS combines PCS and BCS to achieve better performance and robustness. We implement three optimisations into Credit Scheduler in Xen 4.0.1. The experimental results show that our schemes achieve better performance and fairness compared to existing hybrid CS under different scenarios. |