|
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!
|