documentation:technical_docs:performance
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
documentation:technical_docs:performance [2019/11/21 17:27] – [Disabling Hyper Threading] olivier | documentation:technical_docs:performance [2020/01/18 01:02] – [Polling mode] olivier | ||
---|---|---|---|
Line 27: | Line 27: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
==== FreeBSD ==== | ==== FreeBSD ==== | ||
Line 107: | Line 108: | ||
BSDRP is currently following FreeBSD 12-stable branch, to try to have a mix between recent features and stability. | BSDRP is currently following FreeBSD 12-stable branch, to try to have a mix between recent features and stability. | ||
- | ==== Disabling Hyper Threading (HT) ==== | + | ==== Disabling Hyper Threading (on specific CPU only) ==== |
- | By default, lot's of multi-queue NIC drivers create one queue per core. | + | By default |
- | But "logical" | + | But on some older CPU (like Xeon E5-2650 V1) those logical cores didn't help at all for managing interrupts generated by high speed NIC. |
HT can be disabled with this command: | HT can be disabled with this command: | ||
Line 117: | Line 118: | ||
</ | </ | ||
- | Here is an example on a 8cores x hardware threads Intel CPU and 10G Chelsio NIC: | + | Here is an example on a Xeon E5 2650 (8c, |
< | < | ||
- | x HT-enabled-8rxq(default).packets-per-seconds | + | x HT-enabled-8rxq(default): inet packets-per-second forwarded |
- | + HT-enabled-16rxq.packets-per-seconds | + | + HT-enabled-16rxq: inet packets-per-second forwarded |
- | * HT-disabled.packets-per-seconds | + | * HT-disabled-8rxq: inet packets-per-seconds |
+--------------------------------------------------------------------------+ | +--------------------------------------------------------------------------+ | ||
| **| | | **| | ||
Line 144: | Line 145: | ||
</ | </ | ||
- | There is a benefit of about 24% to disable hyper threading. | + | There is a benefit of about 24% to disable hyper threading |
+ | |||
+ | But here is another example where there is a benefit to kept it enabled (and with the NIC configured to uses all the treads) on Xeon E5 2650L (10c, 20t): | ||
+ | |||
+ | < | ||
+ | x HT on, 8q (default): inet4 packets-per-second forwarded | ||
+ | + HT off, 8q: inet4 packets-per-second forwarded | ||
+ | * HT on, 16q: inet4 packets-per-second forwarded | ||
+ | +--------------------------------------------------------------------------+ | ||
+ | |x x ++ | ||
+ | |x xx +++ * * *| | ||
+ | ||AM| |A_| |_MA_|| | ||
+ | +--------------------------------------------------------------------------+ | ||
+ | N | ||
+ | x | ||
+ | + | ||
+ | Difference at 95.0% confidence | ||
+ | 1.01311e+06 +/- 113098 | ||
+ | 23.2388% +/- 2.94299% | ||
+ | (Student' | ||
+ | * | ||
+ | Difference at 95.0% confidence | ||
+ | 4.41004e+06 +/- 173536 | ||
+ | 101.157% +/- 5.21388% | ||
+ | (Student' | ||
+ | </ | ||
==== fastforwarding ==== | ==== fastforwarding ==== | ||
Line 229: | Line 255: | ||
{{documentation: | {{documentation: | ||
- | ==== Polling mode ==== | + | ==== Polling mode (very old hardware) |
Polling can be used in 2 cases: | Polling can be used in 2 cases: |
documentation/technical_docs/performance.txt · Last modified: 2020/01/18 01:04 by olivier