[LITMUS^RT] RT-litmus behaviour under real-workloads

Ashraf E. Suyyagh mrsuyyagh at gmail.com
Thu Feb 15 04:47:34 CET 2018


Hi,

First of all, my apologies for the long post, but needed to cover the setup
and results in details. I am forced to use litmus 2014.2 on a 3.10 kernel.

I have a set of 45 embedded benchmarks. I have written a litmus RT main
file (wrapper) for each benchmark which calls it as a periodic litmus RT
job for a duration T. The tasks are compiled and linked against the litmus
RT API and libraries. The attached file (main.c) is for benchmarks with
arguments.

The running platform is an ARM Odroid-XU4 board with Exynos 5422 Octa-core
(ARM big little A15 and A7 cores).

In a previously published research project we did, the WCET of each
benchmark was estimated on the same platform for each type of the cores, so
I have two sets of WCETs for each A15 and A7 core types. This is a safe
WCET estimate. Execution times never exceeded this WCET. We choose the WCET
based on which type of core the task is run at.

I am using partitioned EDF (each core is a partition - L1 cache based). I
have estimated the overhead of the wrapper and scheduler to be 0.36ms on
the A15 core and 0.5ms on the A7 core. *Those overheads are factored into
the final WCET when running the litmus task.*

For now, *I am running each RT benchmark one at a time
with synchronous release and forced completion.*

A sample command is running the bitcnts benchmark, *the period is four
times the WCET. Therefore, the implicit deadline is far away.*
sudo ./bitcnts -p 1 -w 1502 6010 30 -- 1125000  &

I have run each of the benchmarks and they do execute periodically. So no
problem in launching the benchmarks and I verified that my tasks are
launching fine with correct results/outputs. However, the problems are the
follows:

   1. When running *st-trace-schedule* and collecting results by *st-job
   stats* for one task, ACET values are odd. In many cases, they are 0, in
   others extremely high values which makes no sense (e.g. 3677604500000) (see
   file result_01
   2. This issue is a frequent case with most benchmarks, I will list one
   as an example. In a task with a WCET of 107ms and a period of 500ms running
   for 30 seconds, the results are odd. The ACET shows as before, 0. And there
   are lots of forced jobs in a pattern of 1,1,0,1,1,0 ... etc or 0,1,0,10,1
   ...etc. Why would the task be forced? The execution time is less than the
   WCET and the deadline is four times the WCET. There is no way I can imagine
   that the job would exceed its deadline. (see file result_02). Do note, in a
   previous project we have run those benchmarks tens of thousands of times
   each and we have a solid idea of how long they execute on average.
   3. Is the period capped? I have a task which is run as " sudo ./bitcnts
   -p 1 -w 1502 6010 30 -- 1125000  &  ". However, the trace shows a period of
   1715 instead of 6010

# Task,   Job,     Period,   Response, DL Miss?,   Lateness,  Tardiness,
Forced?,       ACET,  Preemptions,   Migrations

# task NAME=bitcnts PID=4052 COST=1502000000 PERIOD=1715032704 CPU=1

  4052,     2, 1715032704, 1443401363,        0, -4566598637,          0,
     0,          0,            0,            0

  4052,     3, 1715032704, 1446788641,        0, -4563211359,          0,
     0,          0,            0,            0

​Thank you​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20180214/0c09e3dc/attachment-0001.html>
-------------- next part --------------
# Task,   Job,     Period,   Response, DL Miss?,   Lateness,  Tardiness, Forced?,       ACET,  Preemptions,   Migrations
# task NAME=prime PID=3815 COST=232000000 PERIOD=1000000000 CPU=3
  3815,     3, 1000000000,  149097430,        0, -850902570,          0,       0,   43374083,            0,            0
  3815,     4, 1000000000,  148892718,        0, -851107282,          0,       0,          0,            0,            0
  3815,     5, 1000000000,  148921423,        0, -851078577,          0,       0,          0,            0,            0
  3815,     6, 1000000000,  153305383,        0, -846694617,          0,       0,          0,            0,            0
  3815,     7, 1000000000,  157534052,        0, -842465948,          0,       0,          0,            0,            0
  3815,     8, 1000000000,  157552756,        0, -842447244,          0,       0,          0,            0,            0
  3815,     9, 1000000000,  157520836,        0, -842479164,          0,       0,          0,            0,            0
  3815,    10, 1000000000,  153262077,        0, -846737923,          0,       0,          0,            0,            0
  3815,    11, 1000000000,  157608788,        0, -842391212,          0,       0,          0,            0,            0
  3815,    12, 1000000000,  148859939,        0, -851140061,          0,       0,          0,            0,            0
  3815,    13, 1000000000,  148907936,        0, -851092064,          0,       0,          0,            0,            0
  3815,    14, 1000000000,  161734158,        0, -838265842,          0,       0,          0,            0,            0
  3815,    15, 1000000000,  174064172,        0, -825935828,          0,       0,          0,            0,            0
  3815,    16, 1000000000,  174061669,        0, -825938331,          0,       0,          0,            0,            0
  3815,    17, 1000000000,  148735674,        0, -851264326,          0,       0,          0,            0,            0
  3815,    18, 1000000000,  153073510,        0, -846926490,          0,       0,          0,            0,            0
  3815,    19, 1000000000,  148805043,        0, -851194957,          0,       0,          0,            0,            0
  3815,    20, 1000000000,  157512135,        0, -842487865,          0,       0,          0,            0,            0
  3815,    21, 1000000000,  148772662,        0, -851227338,          0,       0,          0,            0,            0
  3815,    22, 1000000000,  148799201,        0, -851200799,          0,       0,          0,            0,            0
  3815,    23, 1000000000,  148816865,        0, -851183135,          0,       0,          0,            0,            0
  3815,    24, 1000000000,  153112660,        0, -846887340,          0,       0, 3676548500000,            0,            0
  3815,    25, 1000000000,  153330116,        0, -846669884,          0,       0, 3676680500000,            0,            0
  3815,    26, 1000000000,  153140238,        0, -846859762,          0,       0, 3676812500000,            0,            0
  3815,    27, 1000000000,  153133653,        0, -846866347,          0,       0, 3676944500000,            0,            0
  3815,    28, 1000000000,  153120317,        0, -846879683,          0,       0, 3677076500000,            0,            0
  3815,    29, 1000000000,  153230190,        0, -846769810,          0,       0, 3677208500000,            0,            0
  3815,    30, 1000000000,  153297730,        0, -846702270,          0,       0, 3677340500000,            0,            0
  3815,    31, 1000000000,  153193602,        0, -846806398,          0,       0, 3677472500000,            0,            0
  3815,    32, 1000000000,  157437814,        0, -842562186,          0,       0, 3677604500000,            0,            0
  3815,    33, 1000000000,  149134093,        0, -850865907,          0,       1,          0,            0,            0
-------------- next part --------------
A non-text attachment was scrubbed...
Name: main.c
Type: text/x-csrc
Size: 10850 bytes
Desc: not available
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20180214/0c09e3dc/attachment-0001.c>
-------------- next part --------------
# Task,   Job,     Period,   Response, DL Miss?,   Lateness,  Tardiness, Forced?,       ACET,  Preemptions,   Migrations
# task NAME=nsichneu PID=3912 COST=107000000 PERIOD=500000000 CPU=0
  3912,     3,  500000000,  107395936,        0, -392604064,          0,       1,          0,            0,            0
  3912,     4,  500000000,  107398909,        0, -392601091,          0,       1,          0,            0,            0
  3912,     5,  500000000,   43319170,        0, -456680830,          0,       0,          0,            0,            0
  3912,     6,  500000000,  107422273,        0, -392577727,          0,       1,          0,            0,            0
  3912,     7,  500000000,  107342413,        0, -392657587,          0,       1,          0,            0,            0
  3912,     8,  500000000,   42938923,        0, -457061077,          0,       0,          0,            0,            0
  3912,     9,  500000000,  107327193,        0, -392672807,          0,       1,          0,            0,            0
  3912,    10,  500000000,  107326250,        0, -392673750,          0,       1,          0,            0,            0
  3912,    11,  500000000,   42945969,        0, -457054031,          0,       0,          0,            0,            0
  3912,    12,  500000000,  107402072,        0, -392597928,          0,       1,          0,            0,            0
  3912,    13,  500000000,  107333420,        0, -392666580,          0,       1,          0,            0,            0
  3912,    14,  500000000,   42731889,        0, -457268111,          0,       0,          0,            0,            0
  3912,    15,  500000000,  107334367,        0, -392665633,          0,       1,          0,            0,            0
  3912,    16,  500000000,  107336341,        0, -392663659,          0,       1,          0,            0,            0
  3912,    17,  500000000,   43020935,        0, -456979065,          0,       0,          0,            0,            0
  3912,    18,  500000000,  107331496,        0, -392668504,          0,       1,          0,            0,            0
  3912,    19,  500000000,  107411762,        0, -392588238,          0,       1,          0,            0,            0
  3912,    20,  500000000,   42965273,        0, -457034727,          0,       0,          0,            0,            0
  3912,    21,  500000000,  107329042,        0, -392670958,          0,       1,          0,            0,            0
  3912,    22,  500000000,  107402308,        0, -392597692,          0,       1,          0,            0,            0
  3912,    23,  500000000,   42734276,        0, -457265724,          0,       0,          0,            0,            0
  3912,    24,  500000000,  107318755,        0, -392681245,          0,       1,          0,            0,            0
  3912,    25,  500000000,  107403104,        0, -392596896,          0,       1,          0,            0,            0
  3912,    26,  500000000,   42571822,        0, -457428178,          0,       0,          0,            0,            0
  3912,    27,  500000000,  107383426,        0, -392616574,          0,       1,          0,            0,            0
  3912,    28,  500000000,  107389317,        0, -392610683,          0,       1,          0,            0,            0
  3912,    29,  500000000,   42548285,        0, -457451715,          0,       0,          0,            0,            0
  3912,    30,  500000000,  107399514,        0, -392600486,          0,       1,          0,            0,            0
  3912,    31,  500000000,  107319363,        0, -392680637,          0,       1,          0,            0,            0
  3912,    32,  500000000,   42454581,        0, -457545419,          0,       0,          0,            0,            0
  3912,    33,  500000000,  107321185,        0, -392678815,          0,       1,          0,            0,            0
  3912,    34,  500000000,  107324701,        0, -392675299,          0,       1,          0,            0,            0
  3912,    35,  500000000,   42560586,        0, -457439414,          0,       0,          0,            0,            0
  3912,    36,  500000000,  107390774,        0, -392609226,          0,       1,          0,            0,            0
  3912,    37,  500000000,  107320581,        0, -392679419,          0,       1,          0,            0,            0
  3912,    38,  500000000,   42395091,        0, -457604909,          0,       0,          0,            0,            0
  3912,    39,  500000000,  107317862,        0, -392682138,          0,       1,          0,            0,            0
  3912,    40,  500000000,  107328098,        0, -392671902,          0,       1,          0,            0,            0
  3912,    41,  500000000,   42613240,        0, -457386760,          0,       0,          0,            0,            0
  3912,    42,  500000000,  107331068,        0, -392668932,          0,       1,          0,            0,            0
  3912,    43,  500000000,  107385457,        0, -392614543,          0,       1,          0,            0,            0
  3912,    44,  500000000,   42459385,        0, -457540615,          0,       0,          0,            0,            0
  3912,    45,  500000000,  107321527,        0, -392678473,          0,       1,          0,            0,            0
  3912,    46,  500000000,  107416749,        0, -392583251,          0,       1,          0,            0,            0
  3912,    47,  500000000,   42501052,        0, -457498948,          0,       0,          0,            0,            0
  3912,    48,  500000000,  107319819,        0, -392680181,          0,       1,          0,            0,            0
  3912,    49,  500000000,  107318792,        0, -392681208,          0,       1,          0,            0,            0
  3912,    50,  500000000,   42595969,        0, -457404031,          0,       0,          0,            0,            0
  3912,    51,  500000000,  107386737,        0, -392613263,          0,       1,          0,            0,            0
  3912,    52,  500000000,  107401709,        0, -392598291,          0,       1,          0,            0,            0
  3912,    53,  500000000,   42488345,        0, -457511655,          0,       0,          0,            0,            0
  3912,    54,  500000000,  107402321,        0, -392597679,          0,       1,          0,            0,            0
  3912,    55,  500000000,  107323211,        0, -392676789,          0,       1,          0,            0,            0
  3912,    56,  500000000,   42668097,        0, -457331903,          0,       0,          0,            0,            0
  3912,    57,  500000000,  107335448,        0, -392664552,          0,       1,          0,            0,            0
  3912,    58,  500000000,  107321671,        0, -392678329,          0,       1,          0,            0,            0
  3912,    59,  500000000,   42496765,        0, -457503235,          0,       0,          0,            0,            0
  3912,    60,  500000000,  107396783,        0, -392603217,          0,       1,          0,            0,            0
  3912,    61,  500000000,  107317423,        0, -392682577,          0,       1,          0,            0,            0
  3912,    62,  500000000,   42410309,        0, -457589691,          0,       0,          0,            0,            0
  3912,    63,  500000000,  107321536,        0, -392678464,          0,       1,          0,            0,            0
  3912,    64,  500000000,  107327675,        0, -392672325,          0,       1,          0,            0,            0
  3912,    65,  500000000,   42580770,        0, -457419230,          0,       1, 4538675500000,            0,            0


More information about the litmus-dev mailing list