The impact of Meltre and Specdown on microkernel systems
Matthias Lange, Kernkonzept GmbH, FOSDEM 2019
The impact of Meltre and Specdown on microkernel systems Matthias - - PowerPoint PPT Presentation
The impact of Meltre and Specdown on microkernel systems Matthias Lange, Kernkonzept GmbH, FOSDEM 2019 We need to talk about Meltre and Specdown. Conf call with customer, early 2018 The impact of Meltdown and Spectre on the L4Re
The impact of Meltre and Specdown on microkernel systems
Matthias Lange, Kernkonzept GmbH, FOSDEM 2019
–Conf call with customer, early 2018
“We need to talk about Meltre and Specdown.”
The impact of Meltdown and Spectre on the L4Re microkernel system
Questions
Questions - Spoiler
us?
No A little bit
Meltdown & Spectre
Set of vulnerabilities in modern CPUs
Meltdown
Classic virtual address space layout
User
4 GB 3 GB
Kernel
Classic virtual address space layout
User
4 GB 3 GB
Kernel
1:1
L4Re’s virtual address space layout
L4Re’s virtual address space layout
User
4 GB 3 GB
Kernel
1:1
Solution: Kernel address space
parts
Benchmarks - PTI
Benchmarks - Meta
Benchmarks - Scenario 1
L4Linux iperf3 L4Linux iperf3 L4Re Microkernel
Benchmarks - Scenario 2
L4Linux iperf3 L4Re Microkernel L4Linux iperf3 virtio p2p link
Micro benchmarks - pingpong, PTI
1000 2000 3000 4000 IPC inter AS Context switch Thread switch (intra)
963 2.586 3.371 422 1.759 1.561
Baseline 2018 PTI
Benchmarks - Scenario 1, PTI
2,5 5 7,5 10 iperf3
9,27Gbit/s 9,37Gbit/s
Baseline 2018 PTI
Benchmarks - Scenario 2, PTI
1,5 3 4,5 6 iperf3
3,17Gbit/s 5,14Gbit/s
Baseline 2018 PTI
Spectre
Spectre
causing side effects
Spectre NG
not the owner
Spectre NG - Mitigation
Benchmarks - Eager FPU switching
Micro benchmarks - pingpong, PTI, eager FPU
1000 2000 3000 4000 IPC inter AS Context switch Thread switch (intra)
1.149 2.918 3.729 963 2.586 3.371 422 1.759 1.561
Baseline 2018 PTI PTI, eager FPU
Benchmarks - Scenario 1, PTI, eager FPU
2,5 5 7,5 10 iperf3
9Gbit/s 9,27Gbit/s 9,37Gbit/s
Baseline 2018 PTI PTI, eager FPU
Benchmarks - Scenario 2, PTI, eager FPU
1,5 3 4,5 6 iperf3
3,12Gbit/s 3,17Gbit/s 5,14Gbit/s
Baseline 2018 PTI PTI, eager FPU
Spectre continued
Spectre continued - Mitigations
Benchmarks - IBRS
Micro benchmarks - pingpong, IBRS
4500 9000 13500 18000 IPC inter AS Context switch Thread switch (intra)
2.638 8.820 16.601 1.149 2.918 3.729 963 2.586 3.371 422 1.759 1.561
Baseline 2018 PTI PTI, eager FPU PTI, IBRS, eager FPU
Benchmarks - Scenario 1, IBRS
2,5 5 7,5 10 iperf3
7,68Gbit/s 9Gbit/s 9,27Gbit/s 9,37Gbit/s
Baseline 2018 PTI PTI, eager FPU PTI, IBRS, eager FPU
Benchmarks - Scenario 2, IBRS
1,5 3 4,5 6 iperf3
1,28Gbit/s 3,12Gbit/s 3,17Gbit/s 5,14Gbit/s
Baseline 2018 PTI PTI, eager FPU PTI, IBRS, eager FPU
Foreshadow
L1 Terminal Fault
L1 Terminal Fault
L1 Terminal Fault - L4Re mitigations
Benchmarks - Sorry, no benchmarks for L1TF.
But there is one more thing …
One more thing
Micro benchmarks - pingpong
4500 9000 13500 18000 IPC inter AS Context switch Thread switch (intra)
Baseline 2018 PTI PTI, eager FPU PTI, IBRS, eager FPU Baseline 2019
Micro benchmarks - pingpong
1000 2000 3000 4000 IPC inter AS Context switch Thread switch (intra)
1.149 2.918 3.729 963 2.586 3.371 425 1.733 1.422 422 1.759 1.561
Baseline 2018 Baseline 2019 PTI PTI, eager FPU
Benchmarks - Scenario 1
2,5 5 7,5 10 iperf3
9Gbit/s 9,27Gbit/s 9,29Gbit/s 9,37Gbit/s
Baseline 2018 Baseline 2019 PTI PTI, eager FPU
Benchmarks - Scenario 2
1,5 3 4,5 6 iperf3
3,12Gbit/s 3,17Gbit/s 5,14Gbit/s 5,14Gbit/s
Baseline 2018 Baseline 2019 PTI PTI, eager FPU
Conclusion
– Me
“Fiasco is still not the fastest microkernel in the world.”
Conclusion