Google-onderzoekers: CPU's zijn onbetrouwbaar en onvoorspelbaar door hardwarefouten

Onderzoekers van Google hebben ontdekt dat moderne processors regelmatig foute berekeningen maken, terwijl dit vaak niet duidelijk is en terwijl het vaak ook onvoorspelbaar is. Op de SIGOPS-conferentie (Special Interest Group in OPerating Systems) heeft het team zijn bevindingen gepresenteerd.

Deze 'vluchtige fouten' worden veroorzaakt door lokale defecten in de chip die tijdens de productie van de chip niet ontdekt zijn, niet door bijvoorbeeld kosmische straling. Ze kunnen niet altijd worden voorkomen met bijvoorbeeld aanpassingen aan de microcode en ze kunnen te maken hebben met specifieke onderdelen in de processor. Daarnaast is ook de leeftijd van de chip van invloed; nieuwe chips vertonen niet altijd meteen kuren.

In veel gevallen zouden servers slechts één niet optimaal functionerende kern hebben, en verkeerde berekeningen worden door deze cores slechts een deel van de tijd gemaakt. De regelmaat waarmee een core fouten maakt kan bovendien veranderen door de gebruikte instructies, de temperatuur en de kloksnelheid. De individuele problemen die de core kan veroorzaken zijn vaak klein, maar in een grootschalige server met een intensieve opdracht kan het gemakkelijk tot grote gevolgen leiden. Ze komen bovendien vaak genoeg voor om grote nadelige effecten te hebben, zoals applicatie- en kernelcrashes, foutieve resultaten in (wetenschappelijke) software, het verlies van data, en corruptie van metadata en cryptografische sleutels.

Datacorruptie wordt al sinds jaar en dag onderworpen aan analyses, maar ditmaal gaat het niet om de corruptie van geheugen, opslag en netwerkinformatie, maar specifiek om compute-chips. De onderzoekers noemen geen specifieke fabrikanten, maar met name cpu's zouden problemen veroorzaken. Bepaalde servers van Google en Facebook zijn aangemerkt als problematisch, Facebook heeft zijn eigen bevindingen gepubliceerd in een ander proefschrift genaamd 'Silent data corruptions at scale'.

Het is moeilijk in te schatten hoe groot het probleem precies is; het is immers moeilijk te detecteren, en bovendien verandert de hardware in een server regelmatig. Wel kunnen er dingen worden gedaan om ervoor te zorgen dat het zo min mogelijk voorkomt. Betere foutmodellen, robuustere architecturen en betere testtechnieken zouden de hardwarekwetsbaarheden direct aanpakken. Google's onderzoek is een onderdeel van een bredere 'zoektocht naar datacorruptie'. Het onderzoek heet 'Cores that don't count' en is gepubliceerd op de website van SIGOPS.

Bronnen: ACM Special Interest Group in Operating Systems, (PDF), Google Research

« Vorig bericht Volgend bericht »
0