Линус Торвальдс обвиняет Intel в уничтожении оперативной памяти ECC в потребительских системах

Линус Торвальдс обвиняет Intel в уничтожении оперативной памяти ECC в потребительских системах

Линус Торвальдс недоволен тем, как Intel относится к поддержке памяти с кодом исправления ошибок (ECC), и обвиняет кремниевого гиганта в том, что он по сути убил технологию вне серверов. Память ECC используется для обнаружения и исправления однобитовых ошибок в памяти. Он не может исправить многобитовые ошибки, но простое исправление однобитовых ошибок может существенно повлиять на стабильность системы.

Было время, когда можно было купить поддержку ECC на основных наборах микросхем, но несколько лет назад Intel отказалась от этой возможности на платформах, отличных от Xeon. 975X, возможно, была последней потребительской платформой Intel, которая ее поддерживала, и это семейство было выпущено 15 лет назад. Набор микросхем Xeon 3450 был перекрестно совместим с некоторыми высокопроизводительными процессорами семейства Nehalem, но это все еще набор микросхем Xeon, а не массовая часть.

В результате поддержка ECC в потребительских товарах - и доступность ECC RAM для потребительских товаров - резко упали. Линус резюмирует свой случай в довольно длинном посте, утверждая, что постоянная настойчивость Роухаммера и тот факт, что однобитовые ошибки никогда не исчезали, чтобы объявить политику Intel в отношении ECC «плохой и ошибочной». Он фактически берет на себя всю индустрию DRAM, написав:

Производители памяти заявляют, что это из-за экономии и меньшего энергопотребления. И они лгут, ублюдки - позвольте мне еще раз указать на скандальную болтовню о том, как эти проблемы существовали уже несколько поколений, но эти ублюдки с радостью продавали сломанное оборудование потребителям и утверждали, что это была «атака», когда так было всегда. «Мы срезаем углы.

Торвальдс также ссылается на многочисленные инциденты с ошибками ядра, которые, по его мнению, лучше всего объяснить аппаратной ошибкой. Хотя объективные данные об этом трудно найти, отчет Google об ошибках памяти за 2009 год дает некоторые доказательства его правоты, хотя очевидно, что документ 2009 года может иметь ограниченную применимость к оперативной памяти DDR4 в 2020 году.

Линус Торвальдс обвиняет Intel в уничтожении оперативной памяти ECC в потребительских системах

Вывод Google в 2009 году был прост: «Мы обнаружили, что частота ошибок памяти и диапазон частот ошибок для разных модулей DIMM (двухрядных модулей памяти) намного выше, чем сообщалось ранее… Ошибки памяти - не редкость». Команда обнаружила уровень ошибок, который, по ее словам, «на порядок выше, чем сообщалось ранее».

Они приходят к выводу: «Коды исправления ошибок имеют решающее значение для сокращения большого количества ошибок памяти до управляемого количества неисправимых ошибок».

Текущая ограниченная поддержка AMD

На бумаге семейство AMD Ryzen неофициально поддерживает ECC (у Threadripper есть официальная поддержка ECC). Однако, как позже укажет Ян Катресс, то, что материнская плата требует поддержки ECC, не означает, что поддержка действительно включена. Мы не часто сталкиваемся с такой ситуацией, но процессоры и материнские платы сообщают о своих различных наборах функций через регистры, которые затем проверяют приложения, такие как CPUID, чтобы определить и сообщить, какие функции поддерживает чип. Приложение, утверждающее, что проверяет, поддерживается ли данная функция (SSE, AVX, ECC и т. Д.), Может сообщать только то, что ЦП или материнская плата заявляет о своей собственной работе, с помощью флагов регистров. На самом деле он не может проверить, существует ли поддержка, если приложение не содержит тест функций - например, небольшой тест, который буквально не может работать, если не работает поддержка AVX.

Поскольку поддержка AMD является неофициальной, это означает, что никто не стоит над OEM-производителями с кнутом, чтобы убедиться, что они правильно реализуют эту функцию, и они не тестируют, чтобы убедиться, что эта функция действительно работает. Поскольку можно установить бит для «Поддерживает ECC» в регистре материнской платы без фактической реализации функциональной ECC, существуют материнские платы, которые утверждают, что поддерживают стандарт и, кажется, делают это, если вы сканируете их с помощью утилиты, но не на самом деле внедрить ECC вообще. Единственный способ гарантировать, что совместимость ECC работает на материнской плате AMD Ryzen, - это запустить утилиту, которая вызывает ошибку ECC.

Что касается того, увидим ли мы возвращение этой функции на настольных компьютерах Intel или официально дебютируем для Ryzen, это неясно. Это потребует поддержки со стороны производителей памяти, и не ясно, что многие люди на рынке ПК пойдут на это. Большинство людей покупают по цене, и поскольку вы никогда не знаете о сбоях ПК, которых у вас нет, трудно продать людям выгоду. С другой стороны, мы увидим, что производители процессоров x86 столкнутся с гораздо более серьезными проблемами со стороны ARM в течение следующих 2–5 лет, чем мы когда-либо видели раньше. Неудивительно, что Intel и / или AMD «заново открывают» некоторые функции, особенно если эти функции позволяют им заявлять о повышенной стабильности по сравнению с предыдущими продуктами.

На изображении показаны зарегистрированные модули DIMM DDR4-2133. Зарегистрированные модули DIMM часто также поддерживают ECC, но можно найти и небуферизованную RAM ECC.

Читать далее

Капсула дракона SpaceX Crew уничтожена взрывом во время наземных испытаний
Капсула дракона SpaceX Crew уничтожена взрывом во время наземных испытаний

Взрыв во время статического огневого испытания капсулы Crew Dragon привел к полной гибели автомобиля.

DroneBullet создан для поиска и уничтожения других дронов
DroneBullet создан для поиска и уничтожения других дронов

Естественно, правительства и правоохранительные органы обеспокоены опасностями, которые представляют дроны, и именно поэтому AerialX разработали DroneBullet. Это новый тип беспилотника, состоящий из одной части квадрокоптера и одной части ракеты.