[LITMUS^RT] Running LITMUS-RT on ARM64
Meng Xu
xumengpanda at gmail.com
Mon Aug 28 21:06:38 CEST 2017
On Mon, Aug 28, 2017 at 1:06 PM, Andrii Anisov <andrii_anisov at epam.com> wrote:
> Hello Björn,
>
> On 28.08.17 19:07, Andrii Anisov wrote:
>>
>> Please see attached results of this basic experiment on my setup.
>> I see the bigger task execution time stretched.
>
> At last I've changed VCPU settings (budgeting) for the domain and now I see
> the same numbers as you baremetal. PFA.
> Further I would introduce more details about my setup related to RT-Xen.
>
> Hello Meng Xu,
>
> The results with stretched task execution time I got on a following VCPUs
> configuration:
> root at salvator-x:/domu# xl sched-rtds -v all
> Cpupool pool-rt: sched=RTDS
> Name ID VCPU Period Budget
> litmus 1 0 10000 4000
> litmus 1 1 10000 4000
>
> The results close to baremetal achieved with next configuration:
> root at salvator-x:/domu# xl sched-rtds -v all
> Cpupool pool-rt: sched=RTDS
> Name ID VCPU Period Budget
> litmus 1 0 10000 9000
> litmus 1 1 10000 9000
>
> Firstly I was a bit confused about how the tasks set with utilization of
> 0.55 could be ran on a VCPU with bandwidth 0.4 of PCPU. Even with the
> execution time stretching.
In this case, the task will miss deadline.
For example, a task with period = 10, exe = 5.5 runs on vcpu with
period = 10 and budget = 4, assuming the release time of the task and
the vcpu are synchronized at t=0.
At t = 0, the task release the job 1. At t=4, the task only executes
for 4 time units. The task will run for 1.5 time unit in the next
period. (This is called carry-over workload.) This job (released at t
= 0) of the task will be marked as deadline miss.
IIRC, in LITMUS, the task will skip the release of the job 2 who is
supposed to release at t = 10, because the first job of the task is
still running.(Correct me if I'm wrong, Bjorn.)
At t = 20, the task will release the job 3.
As you can see, one job is missing due to the deadline miss.
> But yep, it should really be counted "amount of workload", not the execution
> time as rtspin now counts. And the "amount of workload" should be calibrated
> baremetal (or vcpu pinned with 1.0 bandwidth?), then calibration values
> should be applied to the experimental setup.
I will use vcpu pinned with 1.0 bandwidth.
Meng
--
-----------
Meng Xu
PhD Candidate in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/
More information about the litmus-dev
mailing list