-> products

Developers Wanted
Jitter Analysis

Test application: Jitter.java

The test application runs a perdioc thread at different periods starting at 500ms and going down until the jitter is higher than 50% or a deadline miss occurs. The period thread itself performs some small memory allocation and time calculation to measure the actual period in each iteration. A background task at low priority performs an allocation intensive computation.

For each period length, the following data is collectoed:

  • the minumum and maximum actual execution time for one period
  • the average execution time for one period
  • the standard deviation of the actual period measured from the period desired (the Jitter)
  • The number of iterations used in the measurement

Jitter Analysis on VxWorks/PPC

Test system: MEN A12-6U VMEbus PowerPC, MPC8245 (PPC603), 300MHz, VxWorks 5.4

The system timer was set to an accuracy of 0.5ms. With this setting, a minimal Jitter is achieved for periods down to 1ms

Test results:

Jitter test: JamaicaVM 2.3beta time resolution  500.00us will take about    1.50s  per iteration.
Period  500.00ms: min= 499.50ms (100%) max= 500.00ms (100%) average= 499.83ms sigma= 288.67us (  0%) (3 iterations)
Period  400.00ms: min= 399.50ms (100%) max= 400.00ms (100%) average= 399.83ms sigma= 288.67us (  0%) (3 iterations)
Period  300.00ms: min= 299.50ms (100%) max= 300.00ms (100%) average= 299.90ms sigma= 223.60us (  0%) (5 iterations)
Period  200.00ms: min= 199.50ms (100%) max= 200.00ms (100%) average= 199.92ms sigma= 188.98us (  0%) (7 iterations)
Period  150.00ms: min= 149.50ms (100%) max= 150.00ms (100%) average= 149.95ms sigma= 158.11us (  0%) (10 iterations)
Period  100.00ms: min=  99.50ms (100%) max= 100.00ms (100%) average=  99.96ms sigma= 129.09us (  0%) (15 iterations)
Period   75.00ms: min=  74.50ms ( 99%) max=  75.00ms (100%) average=  74.97ms sigma= 111.80us (  0%) (20 iterations)
Period   50.00ms: min=  49.50ms ( 99%) max=  50.00ms (100%) average=  49.98ms sigma=  91.28us (  0%) (30 iterations)
Period   40.00ms: min=  40.00ms (100%) max=  40.00ms (100%) average=  40.00ms sigma=   0.00ns (  0%) (37 iterations)
Period   30.00ms: min=  29.50ms ( 98%) max=  30.50ms (102%) average=  30.00ms sigma= 100.00us (  0%) (50 iterations)
Period   20.00ms: min=  20.00ms (100%) max=  20.00ms (100%) average=  20.00ms sigma=   0.00ns (  0%) (75 iterations)
Period   15.00ms: min=  14.50ms ( 97%) max=  15.00ms (100%) average=  14.99ms sigma=  50.00us (  0%) (100 iterations)
Period   10.00ms: min=   9.50ms ( 95%) max=  10.00ms (100%) average=   9.99ms sigma=  40.82us (  0%) (150 iterations)
Period    7.50ms: min=   7.00ms ( 93%) max=   7.50ms (100%) average=   7.49ms sigma=  35.35us (  0%) (200 iterations)
Period    5.00ms: min=   4.50ms ( 90%) max=   5.00ms (100%) average=   4.99ms sigma=  28.86us (  1%) (300 iterations)
Period    4.00ms: min=   3.50ms ( 88%) max=   4.00ms (100%) average=   3.99ms sigma=  25.81us (  1%) (375 iterations)
Period    3.00ms: min=   2.50ms ( 83%) max=   3.00ms (100%) average=   2.99ms sigma=  22.36us (  1%) (500 iterations)
Period    2.00ms: min=   1.50ms ( 75%) max=   2.00ms (100%) average=   1.99ms sigma=  18.25us (  1%) (750 iterations)
Period    1.50ms: min=   1.50ms (100%) max=   1.50ms (100%) average=   1.50ms sigma=   0.00ns (  0%) (1000 iterations)
Period    1.00ms: min= 500.00us ( 50%) max=   1.00ms (100%) average= 999.66us sigma=  12.90us (  1%) (1500 iterations)
Period  750.00us: min=   0.00ns (  0%) max=   1.00ms (133%) average= 749.75us sigma= 250.49us ( 33%) (2000 iterations)
Overrun for period  500.00us after 1 iterations!
Jitter analysis complete. Average jitter below 50% for periods  750.00us and higher.


Jitter Analysis on QNX 6.2.1/x86

Test system: AMD XP 2000+ on 1,53 GHz, 512 MB RAM

Builder command: jamaica -numThreads 10 Jitter

Test results:

Jitter test: JamaicaVM 2.3beta time resolution 20.00ms will take about 1.50s  per iteration.
Period  500.00ms: min= 499.92ms (100%) max= 499.92ms (100%) average= 499.92ms sigma=  76.66us (  0%) (3 iterations)
Period  400.00ms: min= 399.93ms (100%) max= 399.93ms (100%) average= 399.93ms sigma=  61.00us (  0%) (3 iterations)
Period  300.00ms: min= 299.95ms (100%) max= 299.95ms (100%) average= 299.95ms sigma=  45.80us (  0%) (5 iterations)
Period  200.00ms: min= 199.96ms (100%) max= 199.97ms (100%) average= 199.96ms sigma=  30.57us (  0%) (7 iterations)
Period  150.00ms: min= 149.97ms (100%) max= 149.97ms (100%) average= 149.97ms sigma=  23.00us (  0%) (10 iterations)
Period  100.00ms: min=  99.98ms (100%) max=  99.98ms (100%) average=  99.98ms sigma=  15.34us (  0%) (15 iterations)
Period   75.00ms: min=  74.98ms (100%) max=  74.98ms (100%) average=  74.98ms sigma=  11.46us (  0%) (20 iterations)
Period   50.00ms: min=  49.99ms (100%) max=  49.99ms (100%) average=  49.99ms sigma=   7.64us (  0%) (30 iterations)
Period   40.00ms: min=  39.99ms (100%) max=  39.99ms (100%) average=  39.99ms sigma=   6.11us (  0%) (37 iterations)
Period   30.00ms: min=  29.99ms (100%) max=  29.99ms (100%) average=  29.99ms sigma=   4.60us (  0%) (50 iterations)
Period   20.00ms: min=  19.99ms (100%) max=  19.99ms (100%) average=  19.99ms sigma=   3.06us (  0%) (75 iterations)
Period   15.00ms: min=  14.99ms (100%) max=  14.99ms (100%) average=  14.99ms sigma=   2.33us (  0%) (100 iterations)
Period   10.00ms: min=   8.99ms ( 90%) max=   9.99ms (100%) average=   9.99ms sigma=  81.82us (  1%) (150 iterations)
Period    7.50ms: min=   6.99ms ( 93%) max=   7.99ms (100%) average=   7.49ms sigma= 499.92us (  7%) (200 iterations)
Period    5.00ms: min=   4.99ms (100%) max=   5.00ms (100%) average=   4.99ms sigma= 873.00ns (  0%) (300 iterations)
Period    4.00ms: min=   3.99ms (100%) max=   4.00ms (100%) average=   3.99ms sigma= 783.00ns (  0%) (375 iterations)
Period    3.00ms: min=   2.99ms (100%) max=   3.00ms (100%) average=   2.99ms sigma= 676.00ns (  0%) (500 iterations)
Period    2.00ms: min=   1.99ms (100%) max=   2.00ms (100%) average=   1.99ms sigma= 552.00ns (  0%) (750 iterations)
Period    1.50ms: min= 999.00us ( 67%) max=   2.00ms (133%) average=   1.49ms sigma= 499.92us ( 33%) (1000 iterations)
Period    1.00ms: min= 999.00us (100%) max=   1.00ms (100%) average= 999.84us sigma= 390.00ns (  0%) (1500 iterations)
Overrun for period  750.00us after 2 iterations!


Jitter Analysis on rhawk-Linux/x86

Test system: Intel Xeon 2.80GHz, 2 GB RAM

Builder command: jamaica -numThreads 10 Jitter -destination Jitter -constGCwork=10 -priMap=1..10=1..10,11..39=11..39

Test results:

Jitter test: JamaicaVM 2.7beta time resolution   20.00ms will take about    1.50s  per iteration.
Period  500.00ms: min= 499.99ms (100%) max= 500.00ms (100%) average= 499.99ms sigma=   5.29us (  0%) (3 iterations)
Period  400.00ms: min= 399.98ms (100%) max= 400.00ms (100%) average= 399.99ms sigma=  10.63us (  0%) (3 iterations)
Period  300.00ms: min= 299.99ms (100%) max= 300.01ms (100%) average= 299.99ms sigma=   7.08us (  0%) (5 iterations)
Period  200.00ms: min= 199.99ms (100%) max= 200.00ms (100%) average= 200.00ms sigma=   4.35us (  0%) (7 iterations)
Period  150.00ms: min= 149.99ms (100%) max= 150.00ms (100%) average= 150.00ms sigma=   3.57us (  0%) (10 iterations)
Period  100.00ms: min=  99.98ms (100%) max= 100.01ms (100%) average=  99.99ms sigma=   6.76us (  0%) (15 iterations)
Period   75.00ms: min=  74.98ms (100%) max=  75.01ms (100%) average=  75.00ms sigma=   6.88us (  0%) (20 iterations)
Period   50.00ms: min=  49.97ms (100%) max=  50.01ms (100%) average=  49.99ms sigma=   8.13us (  0%) (30 iterations)
Period   40.00ms: min=  39.98ms (100%) max=  40.01ms (100%) average=  39.99ms sigma=  10.02us (  0%) (37 iterations)
Period   30.00ms: min=  29.96ms (100%) max=  30.03ms (100%) average=  29.99ms sigma=  14.64us (  0%) (50 iterations)
Period   20.00ms: min=  19.98ms (100%) max=  20.01ms (100%) average=  20.00ms sigma=   6.09us (  0%) (75 iterations)
Period   15.00ms: min=  14.96ms (100%) max=  15.03ms (100%) average=  15.00ms sigma=  11.34us (  0%) (100 iterations)
Period   10.00ms: min=   9.96ms (100%) max=  10.03ms (100%) average=   9.99ms sigma=   9.83us (  0%) (150 iterations)
Period    7.50ms: min=   7.47ms (100%) max=   7.52ms (100%) average=   7.49ms sigma=   8.70us (  0%) (200 iterations)
Period    5.00ms: min=   4.97ms ( 99%) max=   5.02ms (101%) average=   5.00ms sigma=   8.60us (  0%) (300 iterations)
Period    4.00ms: min=   3.96ms ( 99%) max=   4.03ms (101%) average=   4.00ms sigma=   7.13us (  0%) (375 iterations)
Period    3.00ms: min=   2.96ms ( 99%) max=   3.03ms (101%) average=   2.99ms sigma=  10.79us (  0%) (500 iterations)
Period    2.00ms: min=   1.93ms ( 97%) max=   2.05ms (103%) average=   1.99ms sigma=  13.72us (  1%) (750 iterations)
Period    1.50ms: min=   1.44ms ( 96%) max=   1.54ms (103%) average=   1.49ms sigma=  12.39us (  1%) (1000 iterations)
Period    1.00ms: min= 932.00us ( 93%) max=   1.05ms (105%) average= 999.98us sigma=   9.09us (  1%) (1500 iterations)
Period  750.00us: min= 682.00us ( 91%) max= 801.00us (107%) average= 749.98us sigma=   6.93us (  1%) (2000 iterations)
Period  500.00us: min= 455.00us ( 91%) max= 542.00us (108%) average= 499.99us sigma=   4.47us (  1%) (3000 iterations)
Period  400.00us: min= 364.00us ( 91%) max= 439.00us (110%) average= 399.99us sigma=   3.05us (  1%) (3750 iterations)
Period  300.00us: min= 284.00us ( 95%) max= 318.00us (106%) average= 299.99us sigma=   2.03us (  1%) (5000 iterations)
Period  200.00us: min= 189.00us ( 95%) max= 210.00us (105%) average= 199.99us sigma=   1.76us (  1%) (7500 iterations)
Period  150.00us: min= 124.00us ( 83%) max= 178.00us (119%) average= 149.99us sigma=   1.70us (  1%) (10000 iterations)
Overrun for period  100.00us after 8 iterations!