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