Google розробляє проєкт SiliFuzz для масового виявлення прихованих дефектів CPU
Google докладає всіх зусиль для проактивного виявлення дефектів програмного забезпечення в ключових проєктах із відкритим вихідним кодом. Але тепер стало відомо, що компанією також розробляється система SiliFuzz, яка буде виявляти дефекти в процесорах.
Що це
Принцип роботи SiliFuzz полягає в аналізі продуктивності процесора шляхом виконання заздалегідь підготовлених тестових даних, зібраних за допомогою емуляторів. Це один з різновидів фазирування - процесор завантажується "випадковими" обчисленнями, результат яких перевіряється на виході. Якщо є невідповідність, процесор вважається несправним.
Для чого це потрібно
Система насамперед призначена для виявлення електричних дефектів мікросхем, які можуть виникнути під час виробництва, збірки, робочого процесу тощо. Особлива увага приділяється саме ним, а не логічним помилкам у самих процесорах. Водночас тести, що розглядаються, не використовують жодних низькорівневих механізмів налагодження, що дозволяє використовувати їх у "живих" системах.
По суті, завдання розробників - створити систему, здатну регулярно тестувати кожне ядро кожного сервера Google з мінімальним впливом на його продуктивність. У своєму нинішньому вигляді SiliFuzz обирає момент часу, коли навантаження на конкретну машину не дуже велике, і послідовно тестує групи з чотирьох потоків (2 ядра з SMT) не більше ніж за дві хвилини. Наразі розробники зосередилися на процесорах x86-64, які широко використовуються самою компанією Google.
Основна мета проєкту - автоматизувати виявлення прихованих дефектів, що призводять до прорахунків, які набагато небезпечніші за прості збої чи аварії, оскільки лише невеликі відхилення в роботі чіпа призводять до накопичення цілого масиву помилок. У деяких випадках різниця склала менше ніж 0,0000003%, але цього може бути достатньо для виникнення серйозних проблем.
Яка ефективність
Близько 45% дефектів, виявлених за допомогою SiliFuzz, не відстежуються іншими інструментами. У майбутньому розробники планують розширити SiliFuzz, збільшити швидкість роботи програми та загалом поліпшити якість її роботи.
Ілюстрації: Laura Ockel on Unsplash