“A percepção era de que qualquer coisa com muita atividade de E/S sofreria um impacto muito ruim”, disse uma fonte que pediu para não ser identificada. “Mas não é bem assim. O DPDK é uma carga de trabalho com uso intensivo de E/S que move pacotes, mas o senhor ignora o kernel. A razão pela qual o DPDK tem alto desempenho é que ele minimiza o tempo gasto no kernel.”
Nos tempos de execução de serviços da Web, houve um impacto de cerca de 10%. Isso ocorre porque as solicitações de uma página da Web vão para o kernel e essa transição do kernel está adicionando sobrecarga.
Onde os patches afetam o desempenho
É na atividade relacionada ao armazenamento que o desempenho é prejudicado, mas apenas parcialmente e somente em determinadas circunstâncias. Primeiro, o Skylake não é afetado graças à forma como a microarquitetura foi rearquitetada.
Os servidores Haswell e Broadwell, no entanto, sofreram um impacto de 30% no desempenho, e isso somente se eles usassem um patch chamado IBRS, um patch fornecido pela Intel que provocou um grande domínio do Linux Linus Torvalds vai entrar em uma de suas lendárias sequências azuis. Se eles usassem Retopoline, desenvolvido pelo Google, o impacto no desempenho foi de 1 a 2%.
O Google é a empresa que descobriu o Meltdown e o Spectre e teve vários meses para trabalhar em suas correções, ao contrário do IBRS, que foi feito às pressas. Grande parte do mundo Linux apoiou o Retpoline, mesmo que isso signifique a necessidade de um novo kernel e talvez a necessidade de recompilar aplicativos.
Houve outro fator atenuante. O Skylake teve uma queda de 10% no desempenho em benchmarks de armazenamento FIO ao usar blocos de 64kb, enquanto o Broadwell e o Haswell tiveram uma queda de 20% – mas todos sofreram muito ao usar blocos de 4kb. O Skylake sofreu uma queda de 32% no desempenho, enquanto o Broadwell e o Haswell caíram 60%.