Google rozwija projekt SiliFuzz do masowego wykrywania ukrytych wad procesorów
Google ciężko pracuje nad proaktywnym wykrywaniem wad oprogramowania w kluczowych projektach open-source. Teraz jednak ujawniono, że firma pracuje również nad SiliFuzz, systemem, który będzie wykrywał wady w procesorach.
Co to jest
Zasadą działania SiliFuzz jest analiza wydajności procesora poprzez uruchamianie wcześniej przygotowanych danych testowych zebranych za pomocą emulatorów. Jest to forma fazowania - procesor jest obciążany "losowymi" obliczeniami, których wynik jest sprawdzany na wyjściu. Jeśli występuje rozbieżność, procesor jest uważany za wadliwy.
Dlaczego jest potrzebny
System jest przeznaczony przede wszystkim do wykrywania defektów elektrycznych w chipach, które mogą wystąpić podczas produkcji, montażu, przepływu pracy itp. Szczególną uwagę zwraca się na nie, a nie na błędy logiczne w samych procesorach. Jednocześnie omawiane testy nie wykorzystują żadnych niskopoziomowych mechanizmów debugowania, co pozwala na ich stosowanie w "żywych" systemach.
W gruncie rzeczy zadaniem programistów jest stworzenie systemu, który będzie w stanie rutynowo testować każdy rdzeń każdego serwera Google przy minimalnym wpływie na jego wydajność. W swojej obecnej formie, SiliFuzz wybiera punkt w czasie, gdy obciążenie danej maszyny nie jest zbyt duże i konsekwentnie testuje grupy czterech wątków (2 rdzenie z SMT) w czasie nie dłuższym niż dwie minuty. Obecnie deweloperzy skupiają się na procesorach x86-64, które są szeroko wykorzystywane przez samo Google.
Głównym celem projektu jest zautomatyzowanie wykrywania ukrytych wad prowadzących do błędnych obliczeń, które są o wiele bardziej niebezpieczne niż zwykłe awarie i usterki, gdyż już niewielkie odchylenia w działaniu układu prowadzą do kumulacji całego szeregu błędów. W niektórych przypadkach różnica była mniejsza niż 0,0000003%, ale to może być wystarczające, aby spowodować poważne problemy.
Jak skuteczny jest
Około 45% defektów wykrytych przez SiliFuzz nie jest śledzonych przez inne narzędzia. Przyszli programiści planują rozbudować SiliFuzz, zwiększając szybkość działania programu i poprawiając jego ogólną jakość.
Ilustracja: Laura Ockel na Unsplash