[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xen 4.5.0 rtds scheduler perform poorly with 2vms

Hi Dario,

Thanks for the reply!

My goal for the experiment is to show that xen rtds scheduler is better than credit scheduler when it comes to real time tasks.
so my set up is:

for xen-credit : 2vms sharing 8 cores (cpu 0-7) using credit scheduler(both with weight of 800 and capacity of 400)
for xen-rtds: 2 vms sharing 8 cores (cpu0-7) using RTDS (both with period of 10000 and budget of 5000)
in both setup, dom0 is using 1 core from cpu 8-15

VM2 will run tasks that has utilization of 4 cores. VM1 will run tasks that has utilization from 1 to 4, and I will record VM1's schedulbility.

I am hoping to see that the VM1 using xen-rtds will perform better than the VM1 using xen-credit, but what I am seeing is the opposite.

Thank you!


On Tue, Nov 24, 2015 at 4:15 PM, Dario Faggioli <dario.faggioli@xxxxxxxxxx> wrote:
On Mon, 2015-11-23 at 07:42 -0800, Yu-An(Victor) Chen wrote:
> Hi all,

> So I was doing some experiments to evaluate RTDS scheduler
> schedubility of real time tasks using 1vm with period of 10000 and
> budget of 10000. The experiment results turn out as expected(perform
> better than xen-credit).
> But when I tried to perform similar experiments with 2 vms (both with
> now period of 10000 and budget of 5000). The schedubility of real
> time tasks turn out really bad. Even if I have one vm idling and the
> other vm running the real time tasks, the schedubility of that vm is
> still really poor(worse than xen-credit). Am I missing some
> configuration I should have set for 2vm cases? Thank you
What is it that you are trying to prove with this setup? This is
despite all Meng is already saying about the non-work conserving nature
of RTDS, and about the LITMUS IPI bug.

In fact, in general, real-time schedulers are really good at isolating
workloads, with precise time guarantees. If you have stuff that needs
to be done in 2 VMs, and you use RTDS for scheduling the 2 VMs, you'll
get good and precisely characterized isolation between them.

But if you put all the stuff in only 1 VM, and then limit its own
utilization, all you are doing is making it hard for the things inside
the VM itself to achieve their target performance, with respect to both
an instance of RTDS where that VM has 100% utilization, as well as with
(almost) any general purpose scheduler.

Then, again, as Meng is saying, if you not only have "stuff" to do
inside the VM, but you are interested in in-guest real-time, then the
scheduling parameters of the VM(s) and the ones of the tasks in the
guest(s), should be set according to a proper real-time hierarchical
scheduling scheme that allows for guarantees to be met.

<<This happens because I choose it to happen!>> (Raistlin Majere)
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.