Ny Linux-kerne kan give dramatisk nedgang i ydelse - Meltdown er synderen

Illustration: Lasse Gorm Jensen
Test viser, at nogle typer opgaver kan tage op til 50 procent længere tid med Linux 4.20 end med Linux 4.19 på Intel-baserede systemer.

Den fulde konsekvens af Meltdown and Spectre sårbarhederne er langt fra afdækket, selvom det er næsten et år siden de første sårbarheder blev offentligt kendt.

Den nyeste version af Linux-kernen, version 4.20, indeholder en opdatering, som har til formål at en udnyttelse af ​​Spectre variant 2.

Løsningen kaldes Single Thread Indirect Branch Predictors (STIBP), som er en microcode-opdatering fra Intel til selskabets processorer. Den indlæses i processoren under opstart af styresystemet.

Mere specifikt skal STIBP beskytte mod angreb rettet imod processorer, hvor Hyper-Threading er aktiveret.

Hyper-Threading er Intels navn for Simultaneous Multithreading (SMT).

Op til 50 procents tab

Test, som er gennemført af hjemmesiden Phoronix, viser imidlertid, at visse typer opgaver kan tage op til 50 procent længere tid med Linux 4.20 end med Linux 4.19 på Intel-baserede systemer.

Det kommer oveni de ydelsestab, som tidligere løsninger på Spectre-sårbarhederne har medført.

AMD-baserede systemer vil heller ikke være upåvirket af STIBP.

Linux-skaberen Linus Torvalds har kommenteret faldet i ydelsen i et indlæg forrige søndag. Han mener, at det ikke er tilstrækkeligt belyst, hvor stort et performance-tabet STIBP medfører.

»Nu er ydelsen faldet med 50 procent på nogle opgaver, og man er nødt til at spørge sig selv om hvorvidt det var det værd. Det virker smartere at deaktivere SMT helt, noget som sikkerhedsbevidste folk gør alligevel,« skriver Linus Torvalds.

ZDNet har tidligere udgivet udtalelser fra sikkerhedsspecialister, som mener, at sikkerhed og SMT udelukker hinanden.

Nyttigt for hvem?

Torvalds foreslår derfor, at STIBP ikke ubetinget aktiveres som standard.

Linux-udvikleren Jiri Kosina har påpeget, at de, der allerede har deaktiveret Hyper-Threading (SMT), ikke mærker nogen forskel, da STIBP kun er aktiveret på systemer, hvor Hyper-Threading er aktiv.

Han skriver videre, at det er muligt for brugere, der er mindre bekymrede for Spectre variant nummer to, at deaktivere sikkerhedsløsningen via kommandolinjen.

Til det svarer Linus Torvalds, at STIBP ikke giver nogen fordele til dem, der virkelig bekymrer sig om sikkerhed, mens almindelige brugere, der ikke er særlig bekymrede, vil kunne se et stort fald i præstationen.

Denne artikel stammer fra digi.no.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (14)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Morten Jensen

Jeg nåede at tænke: Hvordan kan Phoronix benchmarke det, når nu Intel specifikt har forbudt benchmarks af ændringer i micro-code? jf. [1].

Efter en søgning på google kunne jeg så se, at Intel har ændret deres licens igen og fjernet forbuddet mod benchmarking af micro-code [2].

[1] https://www.reddit.com/r/sysadmin/comments/99lltk/intels_new_microcode_u...
[2] https://www.extremetech.com/computing/276128-intel-drops-security-patch-...

Claus Juul

...at webservere hos firmaere med fortrolige eller følsomme oplysninger skal sikre at Hyper-Threading er deaktiveret eller tilsvarende, særligt hvis det er et delt miljø, fx virtualiseret eller står sammen med andre servere i samme DMZ.

Det samme kan også være nødvendigt for kunder hos hosting firmaere. Det er selvfølgelig kunden der skal vide om kundens data er så vigtige at de skal kræve at få deaktiveret Hyper-Threading eller tilsvarende.

Michael Cederberg

Valget er sikkerhed vs. ydelse og selve problemet sidder i CPU'erne, det mest interessante er om man kan lave en sikker SMT eller er den teknologi en blindgyde.

Det nemmeste fix vil i første omgang være at begrænse SMT til enkelt processer. Sådan at en core kun bruges af en process ad gangen. På den måde at kun threads fra samme process kører "samtidigt" (på hyperthreading måden) på den samme core. Det vil give performance tilbage for rigtigt mange løsninger og det kan løses i operativ systemet.

I sidste ende skal vi nok også til at redesigne sådan at caching af kritisk data ikke deles på tværs af processer. Det burde ikke give performance problemer hvis det er implementeret rigtigt (i hardwaren).

Hans Nielsen

Som ikke er ramt på tilsvarende måde.
Vil nok føle mig noget dum, ved at købe en TOP gamer Intel CPU, hvor de meget kostbare sidste 5-10% er købt meget dyrt. Også "sløses" det hele væk af software sikkehdes fejl og rettelser.

Man kan med en Ryzen også bare slå AMDversion af Hyper-Threading fra, hvis man spiller. Der er alligevel rigeligt med "billige" kerne til rådighed.

Ud over fordelen med billigere CPU'er, og man ikke er ramt så hårdt af de her sikkehedsfejl er-

MOBO er billigere, og kan bruges med flere gennerationer af CPU'er typisk 3 eller 4.

Der følger til mange, en ganske habil og støvsvag CPU køler med.

Mulighed for Pcie4.0, USB3.1, RAID og gratis ECC,..

Samt med 2200G(U) og 2400G(U) muligheden for meget billige og strømbesparende "gammer" pc. - Linux synes dog ikke helt stabil her endnu.

Tomas Kjersgaard

Ifølge Intel, så vil Cascade Lake CPU'erne være beskyttet mod Spectre V2 i hardware. Vi taler sokkel 3647 CPU'er. De skulle efter planen præsenteres om ca. en måneds tid. Intels nye 9000 serie sokkel 1151 CPU'er har kun én model med aktiveret hyperthreading.
AMD's CPU'er er også ramt af Spectre V2. Også selv om det tidligere er meldt ud, at det ikke skulle være tilfældet.
Til gengæld kommer der en ny version af Windows til næste år som mindsker ydelsestabet pga. Spectre V2 rettelserne. Dog ikke for brugen af STIBP.
Dvs. til omkring Marts-April næste år og med SMT/Hyperthreading deaktiveret, så skulle man være OK med ydeevne+sikkerhed med både Windows og Linux. Om alt går vel.

Hans Nielsen

Så ingen grund til at male fanden på væggen (endnu?).


Eller køb en Ryzen, som ikke har nogen af de grundliggende fejl, som Intel. Her har man også "råd" til at slå halvdelen af trådene fra, hvis det viser sig at Ryzen også er være ramt af sikkerhedsfejl end Intel på et senere tidspunkt.

Det er nok første gang, at det at Intel har "nægtet adgang" til deres teknologi modsat historen med x86. At det har været en så stor fordel, for en konkurant, som slet ikke er så hårdt ramt. Selv om der kommer meget FUD om det modsatte, fra den kant. .

Hvorfor nøjes med 8 Tråde, når du kan få rigtige kerner til samme pris.

Til en god hjemme PC/desktop/Gammer/server synes jeg man skal se på AMD Ryzen Threadripper 1900 som kan fåes til under 2000,-. Hvis man køber et nyere chipset, så understøtter det også skifte til nyere CPU-er som bruger mere strøm, på grund af højere clock og antal af kerner, på et senre tidspunkt. - Vil da lige se om der kommet et godt tilbud på black friday til privaten.

Baldur Norddahl

Hvorfor nøjes med 8 Tråde, når du kan få rigtige kerner til samme pris.

Uanset om det hedder AMD eller Intel, så må løsningen fremover være at droppe hyperthreading og i stedet gøre brug af flere kerner. Det var alligevel svært at finde god brug af de mange kerner, som de producerer for tiden.

Det er træls for vores eksisterende systemer (medmindre du allerede har for mange kerner). Men til din næste computer vil du bare få en CPU med rigeligt med kerner, uden at betale ekstra.

Hans Nielsen

Det var alligevel svært at finde god brug af de mange kerner, som de producerer for tiden.


Det synes jeg nu ikke.
Et moderne spil, DirectX 12 elsker flere kerner. Og et spil køre nu bedre med 60-80% udnytelse på 6-10 kerner/tråde, end 99% på 4.
Desuden er krypteret og komprimeret filsystemer bare noget man næsten ikke opdager, når der er et par extra kerne i bagrunden.
Selv om jeg ikke selv bruger det, så ved jeg at mennesker som streamer deres spil, er mget glade for at de mange kerner. Selv om meget beregning efterhånden er lagt over til GPU.

Og med en pris på under 1000,- for 12 tråde, så er valget altså nemt.

Log ind eller Opret konto for at kommentere