У каждого из нас свой опыт работы с компьютерами, который сформировал индивидуальное представление об их особенностях и надёжности. Большая часть людей имела дело с единичными экземплярами, увлечённые гордо ведут счёт на десятки и редкий специалист может честно сказать, что работал с сотнями разных моделей. По сравнению с объёмом ежегодно выпускаемых компьютеров это всё капли в море. Такое соотношение приводит к тому, что даже ИТ-гуру могут сильно заблуждаться, поскольку в своих суждениях исходят преимущественно из частных случаев. Говоря языком статистики, проблема кроется в привычке делать выводы о компьютерах в целом на основе личной нерепрезентативной выборки.
Попытку применить научный подход и непредвзято проанализировать причины аппаратных сбоев компьютеров пользователей предпринял исследовательский центр Microsoft, собрав при помощи утилиты Windows Error Reporting отчёты об ошибках с одного миллиона устройств. Рассматривались сбои в дисковой подсистеме, ошибки ЦП и ОЗУ. В эту выборку попали ноутбуки и компьютеры разных производителей и годов выпуска, работающие на штатных, повышенных и пониженных частотах. Вся совокупность отчётов учитывает только случаи критических сбоев.
Ранее многие компании проводили подобные исследования для корпоративного сегмента, однако их результаты нельзя просто экстраполировать на домашних пользователей. В отличие от серверов, персональные компьютеры не оснащены технологиями коррекции ошибок.
Анализ показал, что большинство сбоев было повторяющимися и взаимосвязанными. Частота ошибок ЦП напрямую коррелирует с числом выполненных им циклов. При общем времени работы 120 часов средняя вероятность сбоя ЦП составляет 1:330, а по мере увеличения до 720 часов возрастает до 1:190. Устройства, работающие на пониженных частотах, предсказуемо оказались более надёжны, чем работающие на повышенных или даже штатных. При разнице в частотах более 5 процентов вероятность сбоев ЦП и ОЗУ отличается на 25–45 процентов.
Ноутбуки в целом продемонстрировали более высокую надёжность, чем настольные компьютеры: случаи аппаратных проблем во всех подсистемах у них регистрировались в полтора-два раза реже.
Разница между надёжностью брэндовых и остальных компьютеров была выявлена только для подсистемы памяти. ОЗУ в компьютерах известных производителей демонстрировала втрое меньшую склонность к аппаратным отказам.
Показатель MTTF (mean time to fail – время средней наработки на отказ) оказался бесполезным для персональных компьютеров. Он имеет смысл только при возможности дублировать критические узлы системы и перераспределять нагрузку, чего как раз лишён домашний пользователь. Анализ показал, что после возникновения первого сбоя значение MTTF падает на два порядка — с 6,5 лет до 13,5 дней.
Исследователи делают вывод, что аппаратные проблемы можно решать программным путём. Для персональных компьютеров целесообразно разработать ОС, которая будет изначально устойчива к наиболее частым аппаратным проблемам. Например, сможет переназначать повреждённые ячейки ОЗУ подобно тому, как контроллер жёсткого диска переназначает сбойные секторы. В многоядерных системах ОС может переносить выполнение кода на стабильно работающие ядра или нивелировать ошибки за счёт избыточных параллельных вычислений.