Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

25
1401

Един от най-честите и болезнени въпроси е как се отразява защитата от Meltdown/Spectre, а сега още и от L1TF/Foreshadow върху производителността на централните процесори.

Започналото през месец август разработване на новото Linux 4.19 ядро наля масло в огъня не само за x86_64 процесорите, но и за POWER/s390/ARM. Аз тествах три компютърни системи с процесори Intel Xeon, две системи с чипове AMD EPYC, както и виртуални машини, инсталирани на тези компютри, за да може пълноценно да се измери производителността на Linux 4.19 ядрото с инсталирани пачове, както и без тях.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

На всички компютри бе инсталирана дистрибуция с Linux 4.19-rc1 ядрото, изляло преди десетина дни. Пачовете за Intel включват изолация на таблицата за страниците на оперативната памет (PTI/KPTI) за Meltdown и различните пачове срещу спекулативното изпълнение на процесорните команди, включително и изчистването на указателя __user, използването на retpoline чрез IBPB IBRS_FW, пачът за уязвимостта Speculative Store Bypass с помощта на prctl и seccomp, както и PTE инверсия и обнуляване на условния кеш във виртуалните машини (за L1TF/Foreshadow).

По подразбиране в Linux не е изключена поддръжката на технологията Intel HT/SMT за многопоточна работа, осигуряваща тотална защита от тези хардуерни уязвимости. Това е добре да се знае, когато има съмнения за използване на ненадежден код във виртуалните машини. Ако все пак се избере абсолютна защита и се изключи SMT, то влиянието върху производителността е много по-голяма и много по-забележима поради двойно по-малкото достъпни потоци. Провайдърите на облачни услуги изглежда настройват своите сървъри по такъв начин, че SMT потоцитe да нямат нищо общо с потребителите и да се използват само за вътрешни нужди. По този начин се избягват очевидно огромните загуби от изключването на Hyper Threading. Тук ще се спрем само върху защитата на стандартното Linux ядро, използвано в сървърните дистрибуции.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

В AMD EPYC по подразбиране е реализирана защитата само на засягащите тези процесори уязвимости. Това са изчистването на указателя __user за Spectre V1, AMD Retpoline IBPB за Spectre V2 и изключването на Speculative Store Bypass (SSBD) за Spectre V4. Останалите уязвимости не присъстват в тези процесори.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

След тестването на всички конфигурации с Linux 4.19-rc1, тестовете бяха повторени с използването на различните флагове на реализираните в ядрото защити. Всички компютърни системи са тествани с операционната система Ubuntu 18.04.1 LTS x86_64 с ядрото Linux 4.19-rc1 от Ubuntu Mainline Kernel PPA, при инсталирани микрокодове за BIOS, GCC 7.3 и файловата система EXT4.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

Ето ги и конфигурациите на компютрите в този тест:

  • Процесор Intel Xeon E3-1280 v5 Skylake на дънна платка MSI Z170A SLI PLUS, 16 GB оперативна памет (DDR4) и 256 GB флаш диск Toshiba RD400 NVMe
  • Intel Xeon E5-2687W v3 Haswell върху дъно MSI X299 SLI PLUS, 32 GB оперативна памет (DDR4) и 80 GB Intel 530 SATA 3.0 SSD
  • Два Intel Xeon Gold 6138 в стойка Tyan 1U с 96 GB RAM и Samsung 970 EVO NVMe SSD 256 GB
  • Виртуална машина KVM, инсталирана на двупроцесорния сървър Xeon Gold. Тази VM бе единственият активен процес в компютърната система и бе конфигурирана с достъп до 80% от ядрата/потоците на централния процесор, 48 GB оперативна памет и виртуален диск с капацитет 118 GB. При тестовете, хардуерната защита бе изключвана както в хоста, така и във виртуалната машина
  • Процесор AMD EPYC 7601 в сървъра Tyan 2U с 12 GB оперативна памет и 280 GB флаш диск Intel Optane 900p NVMe
  • Виртуалната машина KVM на по-горния сървър AMD EPYC 7601. На нея са дадени достъп до 80% от ядрата/потоците на процесора (52 потока), 48 GB RAM и 120 GB виртуално дисково пространство
  • Сървър AMD EPYC 7551 с дънна платка Gigabyte MZ31-AR0, 32 GB оперативна памет и Samsung 960 EVO 256GB NVMe SSD

Очевидно е, че конфигурациите на компютърните системи са много различни и те не са предназначени за сравнение една с друга, а именно за проверката на производителността при включена/изключена защита от хардуерните уязвимости в процесорите. Всички тестова са от пакета Phoronix Test Suite.

Тук са показни тестовете, които имат отношение към Spectre/Meltdown – тоест, с интензивни входно-изходни процеси и/или често взаимодействие с ядрото на операционната система. Натоварва се предимно централният процесор и натоварването не зависи много от процесорния кеш.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

Профилът CompileBench е вероятно най-лесният начин за показване влиянието на хардуерните уязвимости Spectre/Meltdown. В Linux 4.19 ядрото, при активиране на защитите, производителността на процесорите на Intel пада със 7-13%. А на процесорите а AMD – с 3-4%.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

Подобна е ситуацията при компилиране. При процесорите на Intel се наблюдава понижаване на производителността с 14-15%, а при AMD – 4-5%.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

При компилирането на Linux ядрото производителността спада с 2%.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

Много добре се вижда намаляването на производителността при използването на теста Hackbench, измерващ скоростта на създаването на нови процеси и скоростта на обмена на данни между тях. В процесорите Intel производителността намалява с 20%, с изключение на Xeon Gold. В AMD EPYC разлика в производителността няма.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

Сървърът за PostgreSQL е едно от реалните приложения, което осезателно намалява скоростта си след инсталирането на пачовете. В този конкретен тест разликата за процесорите на Intel е 5-8%, а за EPYC – 1%.

Друга реална програма, която сериозно намалява производителността си заради Spectre/Meltdown е графичният редактор GIMP. Разликата при Intel е 5-10%, а при AMD – 0-2%.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

СУБД REDIS в системата с Intel Skylake E3 v5 се забавя с 11%, а при другите процесори на Intel – с 5-7%. При компютрите с AMD EPYC разликата е 1-5%.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

Уеб-сървърът Nginx в случаите с процесорите Xeon показва разлика в производителността со минус 20%. Забавянето при AMD EPYC е от 1-2% до 6%.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

По подобен начин и уеб-сървърът Apache работи значително по-бавно след инсталиране на защитите за процесорите на Intel и няма почти никаква промяна при процесорите на AMD.

Влиянието на защитата от Spectre, Meltdown и Foreshadow върху производителността на Linux 4.19

В теста за скорост на създаване на файлове OSBench, системата с Intel Xeon се забавя с 13-16%, а системата с EPYC – с 6-9%.

 

В теста за създаване на потоци също се вижда значителната разлика между процесорите на Intel и на AMD.

Така стоят нещата с производителността при Linux 4.19 ядрото след инсталирането на пачовете срещу хардуерните уязвимости. Трябва да се има предвид, че ако вашата компютърна система е отворена за ненадеждни потребители и код, ще се наложат допълнителни действия, като например задействането на ключа l1tf=full и дори до изключването на SMT/HT, което още повече ще понижи производителността на системата.

 


Това бяха тестовете на сървърните процесори на Intel и AMD. В близко бъдеще възнамеряваме да проведем подобни тестове и за десктоп процесорите на двете компании.

АбонаментВсичко важно от света на технологиите, директно в пощата ти.

С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!

25 Коментара
стари
нови оценка