Hi Meng and Dario,

Thank you both very very much for the explanations! It really help a lot
for understanding RT and what I am doing wrong here! I will do more
research and reconfigure the experiments. Hope to have some good news soon!

Thanks again!



On Sun, Nov 29, 2015 at 8:44 AM, Meng Xu <xumengpa...@gmail.com> wrote:

> 2015-11-29 11:27 GMT-05:00 Dario Faggioli <dario.faggi...@citrix.com>:
> > On Sun, 2015-11-29 at 10:38 -0500, Meng Xu wrote:
> >>
> >>
> >> 2015-11-29 7:46 GMT-05:00 Yu-An(Victor) Chen <chen...@usc.edu>:
> >> > Hi Meng,
> >> >
> >> Hi,
> >>
> >> >
> >> > So I will rewrite my setup here again, but this time I shorten the
> >> > period and budget for RTDS like you suggested:
> >> >
> >> Nice! :-)
> >>
> >>
> >> > -----------------------------------------------------------------
> >> > ------------------------------------------------------------
> >> >
> >> (I like this line, BTW. :-D)
> >> >
> >> >
> >> > for xen-credit : 2vms (both vm are given 8 vCPUs) sharing 8 cores
> >> > (cpu 0-7) using credit scheduler(both with weight of 800 and
> >> > capacity of 400)
> >> > for xen-rtds: 2 vms (both vm are given 8 vCPUs) sharing 8 cores
> >> > (cpu0-7) using RTDS (both with period of 4000(4ms) and budget of
> >> > 2000(2ms)))
> >> > In both setup, dom0 is using 1 core from cpu 8-15
> >> >
> >> > In both setup:
> >> >
> >> > I loaded VM2 with constant running task with total utilization of 4
> >> > cores.
> >> > and in VM1 I run iterations of tasks of total utilization rate of 1
> >> > cores, 2 cores, 3 cores, 4 cores, and then record their
> >> > schedulbility.
> >> > -----------------------------------------------------------------
> >> > ------------------------------------------------------------
> >> >
> >> > So st_jobs_stats for the missed deadline jobs are:
> >> >
> >> > trial #1 composed of 2 tasks: total tasks utilization rate = 1
> >> >
> >> > (period, exe, deadline)=(21ms,12.023ms,21ms) -> miss all deadline
> >> > (period, exe, deadline)=(100ms,37.985ms,100ms) -> no miss
> >> >
> >> yes, this is the information I need and we can solve the mystery
> >> now...
> >> Let's look at this task:
> >> (period, exe, deadline)=(21ms,12.023ms,21ms) -> miss all deadline
> >> Its utilization is 12.023 / 21 ~= 0.5614;
> >> Your VCPU utilization is only 2ms / 4ms = 0.5
> >> So even when this task is pinned to one VCPU, it will still miss
> >> deadline because it has only one thread. :-)
> >>
> > Mmmm... As I said many times, I don't remember much of all those RT
> > schedulability formulas, but, is really that simple?
>
> Ah, let me clarify...
> It is not that simple. ;-) I just simplify it, hoping it can simplify
> the problem and highlight the possible reason.
>
> > I mean, if the in-
> > guest scheduling algorithm is global (e.g., global-EDF), the task could
> > migrate, couldn't it?
>
> Yes. If these partial VCPUs happen to be scheduled "sequentially", the
> OS inside VM can migrate the task and make the task keep running. But
> that is not the worst-case for the OS.
>
> The worst case for the OS to schedule one task is that all of these
> VCPUs are released at the same time, are schedulable as early as
> possible in the first period and scheduled as late as possible in the
> second period, which will create the largest starvation period to the
> VM.
> So in the worst case, you won't be able to schedule a task with
> utilization U on k VCPUs with utilzation U, no matter how large k is.
> (Think about that these k VCPUs are always scheduled at the same
> time.)
>
> The detailed illustration of the worst case scenario is at Arvind's
> paper: http://link.springer.com/article/10.1007%2Fs11241-009-9073-x
> My latest journal paper
> (http://link.springer.com/article/10.1007%2Fs11241-015-9223-2) tighten
> the resource supply bound function of the MPR model. I believe the
> equations are too boring to most of people in the mailing list.
>
> So let's avoid the complex equations here. ;-)
>
> To Yu-An,
> The basic idea is, as Dario mentioned in the previous email, that the
> configuration of VCPUs are important to provide the schedulability of
> tasks inside VM. Especially, if you are doing research in RT, you need
> to (maybe have to) know the RT scheduling theory. :-)
>
> >
> > Is it really the case that you can never schedule tasks with U greater
> > than the smaller U of the various vCPUs (which seems to me to be what
> > you're implying)?
> No. In the worst case, it is.
> Because the VCPUs are created with the "similar" release time, they
> may very likely be scheduled concurrently and fall into  the so-called
> "worst case" (which is just worse case for sequential task) in an idle
> system.
>
>
> >
> > Anyway...
> >
>
> OK. I can understand... Hope my explanation won't cause more confusion. :-D
>
> Best,
>
> Meng
>
> -----------
> Meng Xu
> PhD Student in Computer and Information Science
> University of Pennsylvania
> http://www.cis.upenn.edu/~mengxu/
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to