Report: Meltdown/spectre
[csit.git] / docs / report / vpp_performance_tests / performance_impact_spectre / index.rst
1 Performance Impact of Meltdown and Spectre Patches
2 ==================================================
3
4 The following tables present performance impact on VPP after applying
5 patches addressing Meltdown (Variant3: Rogue Data Cache Load) and
6 Spectre (Variant1: Bounds Check Bypass; Variant2: Branch Target
7 Injection) security vulnerabilities. Incremental kernel patches for
8 Ubuntu 16.04 LTS as documented on
9 `Ubuntu SpectreAndMeltdown page <https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown>`_.
10 For Spectre additional Processor microcode and BIOS firmware changes are
11 applied. For detailed listing of used software versions and patches
12 please refer to :ref:`test_environment`.
13
14 NDR and PDR packet throughput results are compared for 1-core/1-thread,
15 2-cores/2-threads and 4-cores/4-threads VPP configurations, with
16 reference performance numbers coming from tests without the Meltdown and
17 Spectre patches.
18
19 NDR throughput: Best 20 changes
20 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22 .. only:: html
23
24    .. csv-table::
25       :align: center
26       :file: meltdown-spectre-impact-ndr-1t1c-top.csv
27
28 .. only:: latex
29
30    .. raw:: latex
31
32       \makeatletter
33       \csvset{
34         perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{4cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},
35       }
36       \makeatother
37
38       {\tiny
39       \csvautobooklongtable[separator=comma,
40         respect all,
41         no check column count,
42         perfimprovements column width=1cm,
43         late after line={\\\hline},
44         late after last line={\end{longtable}}
45         ]{../_tmp/src/vpp_performance_tests/performance_impact_spectre/meltdown-spectre-impact-ndr-1t1c-top.csv}
46       }
47
48 NDR throughput: Worst 20 changes
49 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51 .. only:: html
52
53    .. csv-table::
54       :align: center
55       :file: meltdown-spectre-impact-ndr-1t1c-bottom.csv
56
57 .. only:: latex
58
59    .. raw:: latex
60
61       \makeatletter
62       \csvset{
63         perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{4cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},
64       }
65       \makeatother
66
67       {\tiny
68       \csvautobooklongtable[separator=comma,
69         respect all,
70         no check column count,
71         perfimprovements column width=1cm,
72         late after line={\\\hline},
73         late after last line={\end{longtable}}
74         ]{../_tmp/src/vpp_performance_tests/performance_impact_spectre/meltdown-spectre-impact-ndr-1t1c-bottom.csv}
75       }
76
77 .. only:: html
78
79
80 NDR throughput: All changes
81 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
82
83 Complete results for all NDR tests are available in a CSV and pretty
84 ASCII formats:
85
86   - `csv format for 1t1c <meltdown-spectre-impact-ndr-1t1c-full.csv>`_,
87   - `csv format for 2t2c <meltdown-spectre-impact-ndr-2t2c-full.csv>`_,
88   - `csv format for 4t4c <meltdown-spectre-impact-ndr-4t4c-full.csv>`_,
89   - `pretty ASCII format for 1t1c <meltdown-spectre-impact-ndr-1t1c-full.txt>`_,
90   - `pretty ASCII format for 2t2c <meltdown-spectre-impact-ndr-2t2c-full.txt>`_,
91   - `pretty ASCII format for 4t4c <meltdown-spectre-impact-ndr-4t4c-full.txt>`_.
92
93 PDR throughput: Best 20 changes
94 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95
96 .. only:: html
97
98    .. csv-table::
99       :align: center
100       :file: meltdown-spectre-impact-pdr-1t1c-top.csv
101
102 .. only:: latex
103
104    .. raw:: latex
105
106       \makeatletter
107       \csvset{
108         perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{4cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},
109       }
110       \makeatother
111
112       {\tiny
113       \csvautobooklongtable[separator=comma,
114         respect all,
115         no check column count,
116         perfimprovements column width=1cm,
117         late after line={\\\hline},
118         late after last line={\end{longtable}}
119         ]{../_tmp/src/vpp_performance_tests/performance_impact_spectre/meltdown-spectre-impact-pdr-1t1c-top.csv}
120       }
121
122 PDR throughput: Worst 20 changes
123 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
124
125 .. only:: html
126
127    .. csv-table::
128       :align: center
129       :file: meltdown-spectre-impact-pdr-1t1c-bottom.csv
130
131 .. only:: latex
132
133    .. raw:: latex
134
135       \makeatletter
136       \csvset{
137         perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{4cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},
138       }
139       \makeatother
140
141       {\tiny
142       \csvautobooklongtable[separator=comma,
143         respect all,
144         no check column count,
145         perfimprovements column width=1cm,
146         late after line={\\\hline},
147         late after last line={\end{longtable}}
148         ]{../_tmp/src/vpp_performance_tests/performance_impact_spectre/meltdown-spectre-impact-pdr-1t1c-bottom.csv}
149       }
150
151 .. only:: html
152
153 PDR throughput: All changes
154 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
155
156 Complete results for all PDR tests are available in a CSV and pretty
157 ASCII formats:
158
159   - `csv format for 1t1c <meltdown-spectre-impact-pdr-1t1c-full.csv>`_,
160   - `csv format for 2t2c <meltdown-spectre-impact-pdr-2t2c-full.csv>`_,
161   - `csv format for 4t4c <meltdown-spectre-impact-pdr-4t4c-full.csv>`_,
162   - `pretty ASCII format for 1t1c <meltdown-spectre-impact-pdr-1t1c-full.txt>`_,
163   - `pretty ASCII format for 2t2c <meltdown-spectre-impact-pdr-2t2c-full.txt>`_,
164   - `pretty ASCII format for 4t4c <meltdown-spectre-impact-pdr-4t4c-full.txt>`_.