Re: Ubuntu 16.04 with Intel i7-6700

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ralf, Chris,

Many thanks for your feedback. I have done some testing. The result of
this is attached.
The testing has been done to check the Ubuntu's and Debian's
performance, tested on systems with no tweaking,
with original, distribution-shipped kernels - for a starting point.
The main conclusion is Debian's performence is better
than Ubuntu on the hardware we used for tests.

Requirement

Consider Debian as PC environment for running RT software.

Operation

Performed real time tests on

-       Ubuntu (ubuntu-16.04.1-desktop-amd64: uname –a = Linux ubuntu1
4.4.27-rt37 #1 SMP PREEMPT RT Fri Nov 4 14:49:50 GMT 2016 x86_64
x86_64 x86_64 GNU/Linux)

-       Ubuntu Mate

-       Debian Jessie (debian-8.6.0-amd64-netinst: uname –a = Linux
debian1 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19)
x86_64 GNU/Linux)

using rt-tests package which contains a series of C written tests to
assess the system’s real time performance. Test used was cyclictest
with different arguments.

Test 1. Command:

cyclictest

(thread = default = 1 per CPU, policy = default = SCHED_OTHER (non
rt), priority = default = 0, interval = default = 1000 us, use sigwait
for waiting for SIGALRM + POSIX timer, l = max_cycles = default =
endless)

Test 2. Command:

cyclictest –t1 –p 80 –n –i 10000 –l 10000

(-t1 : 1 thread per CPU, -p 80 : raise priority of thread to 80, -n :
use nanosleep clock (wait using clock_nanosleep), -i 10000 : use 10ms
interval, -l 10000 : perform test 10 000 times)

Test 3. Command:

cyclictest –t1 –p 80 –i 10000 –l 10000

Test 4. Command:

cyclictest –t1 –p 80 –n

Test 5. Command:

cyclictest –t1 –p 80

Test 6. Command:

cyclictest –t1 –p 80 –I 33333

Recorded Max values from all tests (tables below), those values
represent maximum skew/jitter observed during the test, measured in
microseconds.

Configurations tested:

1.     Debian – PHY1 : Debian on physical machine 1

2.     Ubuntu – PHY1 : Ubuntu on physical machine 1

3.     Debian – PHY2 : Debian on physical machine 2

4.     Debian – vbPHY2 : Debian emulated by VirtualBox on PHY2

5.     Ubuntu – vbPHY2 : Ubuntu emulated by VirtualBox on PHY2

6.     Debian – qePHY2 : Debian emulated by Qemu on PHY2

7.     Ubuntu – qePHY2: Ubuntu emulated by Qemu on PHY2

where:

PHY1 – physical machine 1, poor, low-end, old server motherboard with
Intel core 2x2.13GHz, 2GB DDR2 RAM

PHY2 – new laptop with Intel Core i7-6700HQ 8x2.6GHz, 8GB DDR4 RAM

Results

Virtual machines have been used and two physical machines: PHY1 and
PHY2. Virtual machines were running on VirtualBox and Qemu on PHY2 and
on VMware ESXI server. The Ubuntu virtualized on ESXI performed worst
resulting with 2516 jitter for test 1 and 237 us for test 6, so it has
been excluded from the rest of the tests under assumption ESXI
virtualization environment (in at least the form we today have
configured) is not suitable for running real time tasks. It is in line
with other experience we share with others – virtualized machine is
characterized by nondeterministic real-time features, so e.g. it is
never used for media processing and if it is - then there are always
issues. There are significant differences in performance of same
system running as a host on physical machine and being virtualized –
this has been confirmed by virtualizing Debian on Debian using
VirtualBox and Qemu. For instance the result of running test 3 on same
Debian Jessie 8.6.0 gives the worst case performance of 27440us on
low-end, poor physical machine PHY1 and only 39 us on good machine
PHY2, but it exceeds 100 000 us when virtual machine is virtualized on
PHY2.

Results 1 (Ubuntu vs Debian – physical on machine PHY1)

test number | Ubuntu - PHY1 : GUI + interaction | Ubuntu - PHY1 : GUI
| Debian - PHY1 : No GUI + interaction | Debian - PHY1 : No GUI
1       100000  2277    4608    1155    28956   4194    7249    235
2       51116   100     4476    18      25391   2937    63      70
3       23769   461     7779    72      27440   205     84      73
4       59210   136     339     60      11109   2282    86      84
5       57877   1641    8799    421     27739   4396    428     141
6       44050   89      3063    72      16815   83      61      82
average 56003.66667     784     4844    299.67  22908.33333     2350
 1328.5  114.17

Results 2 (Ubuntu vs Debian – virtual emulated by VirtualBox on PHY2)
test number | Ubuntu - vbPHY2 : GUI + interaction | Ubuntu - vbPHY2 :
GUI | Debian - vbPHY2 : No GUI + interaction | vbDebian - PHY2 : No
GUI
1       >100000 >100000 >100000 >100000 >100000 >100000 >100000 >100000
2       >100000 8716    >100000 11853   77630   6970    79090   6029
3       >100000 >100000 11629   3886    >100000 >100000 64387   5778
4       >100000 >100000 >100000 5142    >100000 77558   >100000 >100000
5       >100000 >100000 >100000 >100000 >100000 6106    >100000 >100000
6       >100000 >100000 >100000 >100000 >100000 >100000 14023   14837

Results 3. (Ubuntu vs Debian – virtual emulated by Qemu on PHY2)
test number | Ubuntu - qePHY2 : GUI + interaction | Ubuntu - qePHY2 :
GUI | Debian - qePHY2 : No GUI + interaction | qeDebian - PHY2 : No
GUI
1       >100000 >100000 >100000 1259    10297   4467    3184    432
2       10766   2435    3388    362     5785    481     4555    231
3       9453    4822    1541    155     3767    1233    3419    372
4       10347   4069    3527    1032    4061    6031    3099    3010
5       >100000 >100000 4586    2349    10574   1263    4864    1153
6       2601    2459    404     228     1439    225     1649    144

Results 4. Debian on physical machine PHY2
test number | Debian - PHY2 : GUI + interaction | Debian - PHY2 : GUI
| Debian - PHY2 : No GUI + interaction | Debian - PHY2 : No GUI
1       9245    2568    42      6
2       37      31      9       4
3       39      37      9       5
4       5162    26      10      8
5       7404    36      10      6
6       45      36      9       4

Conclusions

1.     Physical machine is preferred

This is visible from running Debian on PHY2 and virtualizing it on
same machine PHY2 with VirtualBox and Qemu. Measured latencies are
less than 100 for physical PHY2 but exceed 100 000 when system is
virtualized. This result is clear and it was expected.

2.     Debian is more stable in terms of performance – Debian’s jitter
deviation is lower on average

Debian system seems to be more stable than Ubuntu – more
deterministic, the argument backing up this thesis is observed smaller
impact of the interactiveness on the performance. This is confirmed by
linear regression coefficient for Debian and Ubuntu GUI+I(GUI) and
NoGUI+i(NoGUI) sets for physical machines: Debian – PHY1, Ubuntu –
PHY1.

Deb (GUI)               Ub (GUI)
6.89662835      0       43.1571039      0
1.97991757      #N/A    12.9723939      #N/A
0.70817087      14111.2517      0.68882013      36980.534
12.1333138      5       11.0678772      5
2416075521      995637123.1     1.5136E+10      6837799486

Deb (No GUI + I, test 1 skipped)        Ub (No GUI + I, test 1 skipped)
1.89373434      0       23.9431899      0
0.52248583      #N/A    8.67572425      #N/A
0.76658398      109.4604688     0.65566069      3796.88589
13.1367846      4       7.61644907      4
157399.623      47926.37694     109801338       57665369.8

When system runs with GUI the interactiveness slows the responsiveness
by a factor of about 6.89 for Debian and 43 for Ubuntu. It is about
1.89 and 24 respectively if no GUI is running.

This is also confirmed by virtualizing systems on PHY2 in Qemu: Debian
– qePHY2 performs better than Ubuntu – qePHY2 in terms of jitter’s
deviation.

3.     Ubuntu gets less responsive (lower performance) when same load
is applied – Debian’s jitter level is lower on average

This can be seen based on PHY1 tests, i.e. for Debian and Ubuntu
running on PHY1. GUI+interactions jumps at levels of about 56000 for
Ubuntu and 22900 for Debian. The same applies for NO-GUI+interactions
columns: it is 4800 and 1328 for Ubuntu and Debian. The interactive
load applied was clicking in browser to start video streaming from
youtube if running with GUI or by switching terminals and logging
in/out (ctrl+alt+F1/2/3/4/5/6/7) if no GUI.

This is also confirmed by virtualizing systems on PHY2 in Qemu: Debian
– qePHY2 performs better than Ubuntu – qePHY2 in terms of jitter’s
level.

4.     The hardware matters

All measured latencies are much smaller for PHY2 than PHY 1 running
Debian. If there is no GUI then PHY2 is about 10 times better on
average, if there is GUI then it is faster by more than this on
average.

5.     Spikes happen, GUI kills RT performance

Even when system is running on good physical machine, PHY2, then
extremely huge values of jitter happen and they happen more often than
one would prefer. They are much more likely to happen if GUI is
running. Non GUI system should be considered as RT system.

6.     Qemu virtualizes better than VirtualBox

On hardware tested, Ubuntu - qePHY2 performs better than Ubuntu -
vbPHY2 and Debian - qePHY2 wins over Debian - vbPHY2. In case of
Ubuntu we observed many extreme values (spikes) >100000 when running
on VirtualBox: Ubuntu - vbPHY2. There was less of them for Ubuntu -
qePHY2. There was much less such spikes for Debian – vbPHY2 and we
observed no such spikes for Debian running on Qemu: Debian – qePHY2.

cheers,
Piotr
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux