Google розробляє проект silifuzz для масового виявлення прихованих дефектів cpu

46

Google докладає багато зусиль, щоб заздалегідь виявляти дефекти програмного забезпечення в ключових проектах з відкритим вихідним кодом. Але тепер, як повідомляється, там розробляють систему silifuzz, яка буде виявляти дефекти в центральних процесорах.

Принцип роботи silifuzz полягає в аналізі роботи процесора шляхом запуску заздалегідь підготовлених тестових даних, зібраних за допомогою емуляторів і дизасемблерів. Це одна з різновидів фаззінга-процесор навантажують “випадковими” обчисленнями, результат яких перевіряється на виході. Якщо розбіжності є, процесор вважається дефектним.

Система розрахована на виявлення в першу чергу електричних дефектів чіпів, які могли виникнути при виробництві, установці, під час роботи і т.д. Особлива увага приділяється саме їм, а не логічним помилкам в самих cpu. При цьому самі тести не використовують будь-які низькорівневі механізми налагодження, що дозволяє задіяти їх на «бойових» системах.

Власне кажучи, завдання розробників — створити систему, яка могла б регулярно тестувати кожне ядро в кожному сервері google, мінімально впливаючи на його продуктивність. У поточному вигляді silifuzz вибирає момент, коли навантаження на конкретну машину не так велика, і послідовно тестує групи з чотирьох потоків (2 ядра з smt) протягом не більше ніж двох хвилин. Поки розробники орієнтуються на процесори x86-64, які масово використовуються самою google.

Основна мета проекту-автоматизація виявлення прихованих дефектів, які призводять до невірних обчислень і які набагато небезпечніше звичайних збоїв і падінь, оскільки єдине невеликі відхилення в роботі чіпа призводить до накопичення масиву помилок. Так, наприклад, з’ясувалося, що деякі cpu іноді повертали невірні результати виклику f2xm1 (x2-1), а інші — періодично давали відрізняються від правильних розрахунки fcos. В останньому випадку різниця становить менше 0,0000003%, але і цього може бути достатньо для проблем.

Як зазначається, близько 45% дефектів, знайдених за допомогою silifuzz, не відслідковуються іншими інструментами. У майбутньому розробники планують масштабувати silifuzz, підвищити швидкість роботи програми, а також в цілому підвищити якість роботи.

Якщо ви помітили помилку — виділіть її мишею і натисніть ctrl+enter. / можете написати краще? ми завжди раді авторам.

джерела: