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

Re: [Xen-devel] RT-Xen on ARM


On 27.09.17 22:57, Meng Xu wrote:
Note that:
When you use gEDF scheduler in VM or VMM (i.e., Xen), you should use
MPR2 model
I guess you mean DMPR in CARTS terms.

  to compute the resource interface (i.e., VCPU parameters).
When you use pEDF scheduler, you should use PRM model to compute.
     - Could you please provide an example input xml for CARTS described a
system with 2 RT domains with 2 VCPUs each, running on a 2PCPUs, with gEDF
scheduling at VMM level (for XEN based setup).
Hmm, if you use the gEDF scheduling algorithm, this may not be
possible. Let me explain why.
In the MPR2 model, it computes the interface with the minimum number
of cores. To get 2 VCPUs for a VM, the total utilization (i.e., budget
/ period) of these two VCPUs must be larger than 1.0. Since you ask
for 2 domains, the total utilization of these 4 VCPUs will be larger
than 2.0, which are definitely not schedulable on two cores.
Well, if we are speaking about test-cases similar to described in [1], where the whole real time tasks set utilization is taken from 1.1...(PCPU*1)-0.1, there is no problem with having VCPU number greater than PCPUs. For sure if we take number of domains more that 1.

If you are considering VCPUs with very low utilization, you may use
PRM model to compute each VCPU's parameters; after that, you can treat
these VCPUs as tasks, create another xml file, and ask CARTS to
compute the resource interface for these VCPUs.
Sounds terrible for getting it scripted :(
(Unfortunately, the current CARTS implementation does not support
mixing MPR model in one XML file, although it is supported in theory.
This can be worked around by using the above approach.)

For pEDF at both VMM and
domain level, my understanding is that the os_scheduler represents XEN, and
VCPUs are represented by components with tasks running on them.
Yes, if you analyze the entire system that uses one type of scheduler
with only one type of model (i.e., PRM or MPR2).

If you mixed the scheduling algorithm or the interface model, you can
compute each VM or VCPU's parameters first. Then you treat VCPUs as
tasks and create another XML which will be used to compute the number
of cores to schedule all these VCPUs.

     - I did not get a concept of min_period/max_period for a
component/os_scheduler in CARTS description files. If I have them different,
CARTS gives calculation for all periods in between, but did not provide the
best period to get system schedulable.
You should set them to the same value.
Ok, how to chose the value for some taskset in a component?


*Andrii Anisov*

Xen-devel mailing list



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