Случайность как элемент закономерности

9 июль, 2012 - 11:40Игорь Дериев

Ломается все: облака, серверы, ПК. Но последние выглядят особенно уязвимыми: в них используются дешевые комплектующие, редко применяется память с контролем ошибок и RAID-массивы, а пользователи склонны проводить с ними всевозможные эксперименты. Недавнее исследование помогает пролить свет на то, что и как сбоит в нашем персональном «железе».

Исследователи из Microsoft Research обработали громадную базу отчетов об ошибках, собранную системой Windows Error Reporting (WER). Конечно, полученные результаты, как и любая статистика, лишь в какой-то мере отражают действительность, тем более, что выборка заведомо имеет свою специфику. Во-первых, WER формирует отчеты только в ответ на системные сбои, хотя аппаратные ошибки не всегда к ним приводят. К примеру, однобитная ошибка DRAM для этого должна попасть примерно в 1.5% памяти, занятой ядром Windows, в остальных случаях могут «упасть» приложения или нарушиться данные. Во-вторых, различать аппаратные и программные ошибки достаточно сложно, а их количественное соотношение скорее всего зависит от особенностей конкретной ОС. Тем не менее исследователям удалось собрать весьма представительную выборку с миллиона компьютеров и классифицировать три типа ошибок: аппаратные исключения CPU, однобитные ошибки DRAM (в зоне ядра), критичные для ОС ошибки чтения с диска.

Это первое столь масштабное исследование и многие его результаты далеко не тривиальны (хотя некоторые другие кажутся вполне очевидными). Подробно с методологией и различными деталями можно познакомиться в оригинальном отчете, а основные выводы таковы:

  • вероятность аппаратных сбоев достаточно велика: порядка 1/190  при наработке хотя бы 30 дней за 8-месячный период. Причем данная оценка касается только CPU;
  • сбои редко бывают одиночными. Вероятность повторных ошибок в среднем на два порядка выше, чем первых, при этом от 20 до 40% ПК испытывают периодические, а не одиночные сбои;
  • повторные ошибки возникают довольно быстро. В 97% случаев это происходит в течении всего лишь 10 дней после первого инцидента;
  • скорость CPU играет негативную роль. Вполне предсказуемо, что малейший оверклокинг заметно увеличивает вероятность отказов. Но и в нормальном режиме быстрые процессоры сбоят чаще медленных;
  • ошибки DRAM обычно локализуются. В 80% случаев повторные однобитовые ошибки памяти происходят по одним и тем же физическим адресам;
  • конфигурация влияет на надежность. Здесь играют роль различные аспекты, к примеру, дополнительная память снижает вероятность дисковых отказов, но повышает вероятность ошибок CPU и DRAM. В общем случае брендовые ПК надежнее самосборных, а ноутбуки, при прочих равных, надежнее десктопов.

Составить более полное представление о причинах и вероятностях аппаратных ошибок (приводящих к системным сбоям Windows) поможет следующая таблица:

Случайность как элемент закономерности