[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] RT-Xen on ARM
Hi Andrii, I'm sorry for replying to this thread late. I was busy with a paper deadline until last Saturday morning. I saw Dario's thorough answer which explains the high-level idea of the real-time analysis that is the theoretical foundation of the analysis tool, e.g., CARTs. Hopefully, he answered your question. If not, please feel free to ask. I just added some very quick comment about your questions/comments below. On Thu, Sep 28, 2017 at 5:18 AM, Andrii Anisov <andrii_anisov@xxxxxxxx> wrote: > Hello, > > > 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. The number of VCPUs can be larger than the number of PCPUs. > >> 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 :( If you use python to parse the xml file, it should not be very difficuly. Python has api to parse the xml. :) >> >> (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? Tasks' periods and execution time depends on the tasks' requirement. As Dario mentioned, if a sensor needs to process every 100ms, the sensor task's period is 100ms. Its execution time is the worst-case execution time of the sensor task. As to the component (or VM)'s period, it's better to be smaller than its tasks' periods. Usually, I may want to set to a value divisible by its tasks' periods. You may try different values for components' periods, because the VCPU's bandwidth (budget/period) will be different for different components' periods. You can choose the component's period that produces a smaller VCPU's bandwidth, which may help make VCPUs easiler to be scheduled on PCPUs. Best, Meng -- Meng Xu Ph.D. Candidate in Computer and Information Science University of Pennsylvania http://www.cis.upenn.edu/~mengxu/ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |