Когда компьютер зависает или выдает пресловутый BSOD, как правило, во всем винят программное обеспечение (а также: кривые драйвера и руки недоучившихся программистов, Microsoft и лично Билла Гейтса и т.д.). Но в последние несколько лет ученые начали более пристально присматриваться к аппаратным сбоям, и обнаружили другой серьезный тип проблем, которые проявляются гораздо чаще, чем многие думают. О них и пойдет речь.
Производители микросхем прилагают массу усилий, чтобы быть уверенными в том, что их продукция проходит тщательное тестирование и работает должным образом. Но они не любят говорить о том, что непросто обеспечить корректную работу микросхем на протяжении длительного времени. С конца 70х годов известно, что скрытые аппаратные проблемы могут вызвать непредвиденное переключение битов внутри микросхем из одного состояния в другое. То, что транзисторы уменьшаются год от года, лишь повышает вероятность того, что попадание пролетающей частицы переключит их состояние. Такие сбои носят название «soft errors» и их значимость будет только расти по мере уменьшения техпроцесса, т.к. даже единственная частица сможет нанести гораздо больший ущерб.
Но «soft errors» — лишь часть проблемы. В течение последних пяти лет исследователи наблюдали за несколькими очень большими дата-центрами, и они обнаружили, что во многих случаях причиной сбоев были попросту неисправные микросхемы памяти. Температурное воздействие или производственные дефекты со временем могут привести к появлению неисправностей компонентов (разрушению проводящих связей или появлению новых). Это «hard errors»
Soft Errors
«Soft errors» крайне беспокоят разработчиков следующих поколений микросхем из-за одного важного фактора: энергопотребление. Когда появится следующее поколение суперкомпьютеров, они будут содержать в себе еще больше микропроцессоров и микросхем памяти. И всё это огромное количество транзисторов будет требовать всё больше энергии для того, чтобы избежать неконтролируемого переключения битов.
Сама проблема связана с основами физики. По мере того, как производители делают связи внутри микросхем всё более тонкими, электроны попросту «убегают» как капли воды из дырявого шланга. Чем тоньше связи, тем больше энергии требуется для поддержания корректной работы.
Проблема настолько сложна, что Intel работает совместно с министерством энергетики США и рядом других правительственных организаций для ее разрешения. Используя будущее поколение 5нм технологического процесса, Intel к концу десятилетия позволит создать в 1000 раз более мощные суперкомпьютеры, чем существующие сейчас. Но, кажется, что такие суперкомпьютеры не только будут гораздо быстрее, но и окажутся настоящими пожирателями электроэнергии.
«У нас есть путь, чтобы достичь этого, не беспокоясь об энергопотреблении» (достичь увеличения производительности в 1000 раз). «Но если вы хотите, чтобы мы решили проблему энергопотребления – это за пределами наших планов».
На графике — не самые актуальные данные, да и относящиеся к другому типу памяти. Конкретно для DRAM данных найти не удалось. Но виден общий тренд: повышение уровня напряжения снижает количество сбоев.
Производители не любят говорить о том, как часто их продукция дает сбои – такая информация считается секретной и непросто найти исследования на данную тему. Часто компании просто запрещают своим клиентам говорить о частоте аппаратных сбоев.
«Это область активных исследований. Мы не говорим об этом открыто, т.к. это очень деликатная тема».
Soft Errors?
«Soft errors» это одна из проблем, но есть и другие проблемы, о которых производители аппаратуры говорят еще меньше. Согласно исследованиям Университета Торонто, когда память компьютера дает сбой, это гораздо вероятнее вызвано возрастом или ошибками изготовления (это «hard errors»), а не «soft errors», причиной которых является космическое излучение.
В 2007 году группа исследователей получила доступ к дата-центрам Google, где ими была собрана информация о том, как часто специализированные Linux-системы поискового гиганта давали сбои. Было зафиксировано в десятки раз больше сбоев, чем ожидалось. Если предыдущие исследования сообщали о цифрах от 200 до 5000 сбоев на миллиард часов работы, то исследования в Google показали цифры от 25000 до 75000.
Но что еще интереснее, примерно 8% чипов памяти оказались повинны в более чем 90% сбоев.
Более пристальный взгляд показал, что сбои имеют тенденцию происходить на более старых представителях машинного парка. После примерно 20 месяцев эксплуатации число сбоев стремительно растет. Вероятно, не случайно типовое обновление IT инфраструктуры происходит в районе трехлетней отметки. И, вероятно, результаты этих исследований окажутся еще одним аргументом в пользу того, что откладывание плановых апгрейдов вскоре начнет обходиться дороже, чем сэкономленные средства.
Таким образом, обнаруженные проблемы оказались «hard errors», а не «soft errors», и их было гораздо больше, чем по самым смелым прогнозам.
Последующие исследования показали аналогичную картину для чипов памяти, используемых IBM в системах Blue Gene и для канадского суперкомпьютера SciNet. Для всех систем частота сбоев памяти оказалась примерно одинаковой.
Исследования, проводимые AMD, также показали, что для чипов DRAM «hard errors» встречаются гораздо чаще, чем «soft errors». Но AMD, как и Intel, никогда не публиковала исследований, касающихся частоты сбоев SRAM памяти, используемой в микропроцессорах
Вилас Сридаран (Vilas Sridharan), reliability architect из AMD и один из авторов статей на данную тему сказал:
«Это не новая проблема. Ошибки в модулях DRAM были впервые замечены в 1979 году, но с тех пор мы продолжаем учиться»
А, согласно словам Samsung, крупнейшего производителя DRAM-памяти в мире, у них
«нет никакой детальной информации, которую они могли бы сообщить на этот счет».
Производителям микросхем следует уделять больше внимания вопросам «hard errors». Сегодня существует множество способов для исправления «soft errors»: начиная от кодов коррекции ошибок (ECC) и заканчивая использованием освинцованных шахт для размещения серверов. Но в деле противостояния «hard errors» всё далеко не так хорошо.
При этом «hard errors» вызывают больше ошибок, чем большинство людей могут предположить. И если Hi-end суперкомпьютеры и сервера могут использовать ECC, то в случае с PC это не так. Большинство мобильных устройств, а также ноутбуков и настольных компьютеров ECC не содержат. Отчасти потому, что, согласно используемой модели сбоев, большинство из них вызвано «soft errors». Такая модель выгодна производителям. А пользователи вносят свою лепту, голосуя «рублем». Если вам доводилось выбирать модули памяти для домашнего (да и не только домашнего) компьютера, рассматривали ли вы наличие ECC как важной детали?
А между тем, наличие ECC даже более важно, чем казалось ранее: в нем часто сокрыта разница между устранимой ошибкой и катастрофической, приводящей к вынужденному простою. Неудивительно, что создатели датацентров и суперкомпьютеров настаивают на нем.
Кстати, похожая ситуация наблюдается и для SSD. Выбирая между моделями на 240Gb и 256Gb, при равной цене большинство выберет второй. При этом, то, что в действительности ёмкость одинакова, но первая модель резервирует 16Gb для исправления ошибок заметят единицы, и уж совсем для немногих это повлияет на выбор в пользу первого. Не буду называть конкретные модели и вендоров – это не так существенно.
К сожалению, сегодня BSOD нередко можно увидеть на рекламных щитах, информационных стендах, банкоматах, в аэропортах и множестве других мест. Кто знает, изменится ли в будущем эта ситуация в лучшую сторону?
Ну и напоследок тематический демотиватор :):
Автор: yurav