1 Impact of SpectreAndMeltdown Patches
2 ====================================
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
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`.
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
23 NDR throughput: Best 20 changes
24 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30 :file: ../../_static/vpp/meltdown-spectre-impact-ndr-1t1c-top.csv
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},
43 \csvautobooklongtable[separator=comma,
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}
52 NDR throughput: Worst 20 changes
53 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59 :file: ../../_static/vpp/meltdown-spectre-impact-ndr-1t1c-bottom.csv
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},
72 \csvautobooklongtable[separator=comma,
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}
84 NDR throughput: All changes
85 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
87 Complete results for all NDR tests are available in a CSV and pretty
90 - `csv format for 1t1c <../../_static/vpp/meltdown-spectre-impact-ndr-1t1c-full.csv>`_,
91 - `csv format for 2t2c <../../_static/vpp/meltdown-spectre-impact-ndr-2t2c-full.csv>`_,
92 - `csv format for 4t4c <../../_static/vpp/meltdown-spectre-impact-ndr-4t4c-full.csv>`_,
93 - `pretty ASCII format for 1t1c <../../_static/vpp/meltdown-spectre-impact-ndr-1t1c-full.txt>`_,
94 - `pretty ASCII format for 2t2c <../../_static/vpp/meltdown-spectre-impact-ndr-2t2c-full.txt>`_,
95 - `pretty ASCII format for 4t4c <../../_static/vpp/meltdown-spectre-impact-ndr-4t4c-full.txt>`_.
97 PDR throughput: Best 20 changes
98 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104 :file: ../../_static/vpp/meltdown-spectre-impact-pdr-1t1c-top.csv
112 perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{4cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},
117 \csvautobooklongtable[separator=comma,
119 no check column count,
120 perfimprovements column width=1cm,
121 late after line={\\\hline},
122 late after last line={\end{longtable}}
123 ]{../_build/_static/vpp/meltdown-spectre-impact-pdr-1t1c-top.csv}
126 PDR throughput: Worst 20 changes
127 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
133 :file: ../../_static/vpp/meltdown-spectre-impact-pdr-1t1c-bottom.csv
141 perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{4cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},
146 \csvautobooklongtable[separator=comma,
148 no check column count,
149 perfimprovements column width=1cm,
150 late after line={\\\hline},
151 late after last line={\end{longtable}}
152 ]{../_build/_static/vpp/meltdown-spectre-impact-pdr-1t1c-bottom.csv}
157 PDR throughput: All changes
158 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
160 Complete results for all PDR tests are available in a CSV and pretty
163 - `csv format for 1t1c <../../_static/vpp/meltdown-spectre-impact-pdr-1t1c-full.csv>`_,
164 - `csv format for 2t2c <../../_static/vpp/meltdown-spectre-impact-pdr-2t2c-full.csv>`_,
165 - `csv format for 4t4c <../../_static/vpp/meltdown-spectre-impact-pdr-4t4c-full.csv>`_,
166 - `pretty ASCII format for 1t1c <../../_static/vpp/meltdown-spectre-impact-pdr-1t1c-full.txt>`_,
167 - `pretty ASCII format for 2t2c <../../_static/vpp/meltdown-spectre-impact-pdr-2t2c-full.txt>`_,
168 - `pretty ASCII format for 4t4c <../../_static/vpp/meltdown-spectre-impact-pdr-4t4c-full.txt>`_.