Компания Google создала систему выявления дефектов в процессорах SiliFuzz
Работу над проектом SiliFuzz, призванным выявлять скрытые недостатки в процессоре, ведет компания Google, 19 октября сообщает американский новостной портал об открытых проектах и мире ОС Linux Phoronix.
В открытом проекте Fuzzing на хранилище программных проектов GitHub обнаружен документ, опубликованный представителями компании Google 18 октября. В документе описывается принцип проверки процессоров с помощью различных синтетических тестов с целью выявления дефектов и результаты опытного применения подхода.
Принцип тестирования аналогичен фаззингу — методу проверки программного обеспечения с помощью передачи ему (и его методам) на вход заведомо неверных, неожиданных, либо случайно сгенерированных данных. В данном случае фаззинг предполагается применить к аппаратному обеспечению. Результаты выполнения процессором тестов сопоставляются с заранее известными эталонами.
Инженеры Google создают такой программный комплекс тестирования процессоров, который бы работал на серверах компании и периодически проверял каждое ядро каждого процессора, минимально влияя на общую производительность.
Сейчас механизм запускается в периоды малой загрузки сервера, последовательно выбирает группы по два ядра (четыре потока при поддержке процессором многопоточности) и запускает на них синтетические тесты продолжительностью не более двух минут. SiliFuzz сейчас рассчитан на испытание процессоров с набором команд x86-64.
Механизм уже показал свою действенность, позволяя находить чипы с незначительными электрическими дефектами. Такие отклонения приводят к отсутствию работоспособности микросхем, но формируют периодические ошибки с такой вероятностью, что обнаружить их другими методами почти невозможно, а для возникновения проблем с данными их достаточно. Электрические дефекты, к тому же, могут формироваться в чипах со временем.