Чипы EPYC 7002 ‘Rome’ зависают после 1044 дней непрерывной работы

AMD опубликовала «эррату» с описанием ошибок, встречающихся в работе серверных чипов EPYC 7002 ‘Rome’. Внимание публики привлёк любопытный баг, вследствие которого ядра процессора зависают спустя 1044 дней непрерывной работы – ~2,93 года, после чего сервер нужно перезагрузить, чтобы восстановить работу чипа. И самое главное – AMD не планирует исправлять эту ошибку.

Чипы EPYC 7002 'Rome' зависают после 1044 дней непрерывной работы
AMD

В опубликованной AMD эррате ошибка #1474 описана чётко и коротко: ядра серверного процесса EPYC 7002 ‘Rome’ не выходят из энергосберегающего режима C6 Sleep State спустя примерно 1044 дней после последней перезагрузки системы. Время сбоя может зависеть от настроек модуляции Spread Spectrum и опорной тактовой частоты микросхемы буфера REFCLK, который помогает чипу отслеживать время работы. Пользователь Reddit acid_migrain предложил весьма правдоподобное объяснение причины возникновения ошибки. По его словам, точное время возникновения ошибки не 1044, но 1042 дня и 12 часов. Счётчик TSC, работающий на тактовой частоте 2800 МГц и отсчитывающий число рабочих циклов после сброса / перезагрузки, спустя почти 3 года достигает значения ~0x380000000000000 (2800 * 106 * 1042,5). Цитируя acid_migrain: «в этом значении слишком много нулей, чтобы это не было совпадением». Решение этой проблемы на практике достаточно простое: отключить режим C6 Sleep State либо периодически перезагружать систему с чипами EPYC 7002 ‘Rome’ до того, как она «упадёт» сама.

Чипы EPYC 7002 'Rome' зависают после 1044 дней непрерывной работы
AMD

Стоит отметить, что аптайм продолжительностью почти 3 года не является типичным. Однако, поскольку чипы EPYC 7002 ‘Rome’ вышли в 2018 году, вероятно, некоторые их пользователи уже сталкивались с данной ошибкой. Обновления и техническое обслуживание систем должны осуществляться с гораздо более короткими интервалами, но при использовании технологии Linux live patching или механизма kexec обновление ядер может происходить без их перезагрузки. В итоге серверы могут оставаться «онлайн» достаточно долго, чтобы столкнуться с ошибкой #1474. В особенности это касается серверов для критически важных приложений.

Fritchenz Frenz

Эксперты утверждают, что всевозможные ошибки чипов – далеко не редкость. Когда в дело вовлечены миллиарды транзисторов, проблемы неизбежны, и большинство из них активно исправляют на различных этапах жизненного цикла чипов. К примеру, у семейства процессоров Intel Core 8-го поколения, выпущенных в 2017 году, в текущий момент имеется 150 зафиксированных ошибок. В случае EPYC 7002 ‘Rome’ многие ошибки уже были исправлены, и сейчас их эррата содержит 39 известных проблем, что, согласитесь, не так уж много на фоне показателей Intel. Производители чипов далеко не всегда исправляют ошибки: некоторые из них просто считаются безобидными, а иногда попытка решить проблему может привести к ещё более существенным неполадкам.

AMD

Почему AMD не заметили проблем с EPYC 7002 ‘Rome’ ранее? Дело в том, что необходимый для обнаружения данной ошибки аптайм 2,93 года – это дольше, чем длятся любые проверочные и квалификационные циклы. К тому же неизвестно, проявилась ли бы эта ошибка в ходе теста ускоренного старения, при котором работу объекта оценивают в условиях повышенной температуры, влажности, с вибрациями и пр. Как следствие, о существовании данного бага стало известно лишь спустя годы после выхода чипа. Таким образом, EPYC 7002 ‘Rome’ не судьба достичь высот в «клубе долгожителей»: главная цель его участников – побить рекорд зонда Voyager 2, который не без сучка и не без задоринки пребывает онлайн уже более 48 лет. К слову, среди земных устройств рекорд продолжительности работы принадлежит серверу, который вывели из эксплуатации спустя 6014 дней 5 часов 21 минуту.

Поделиться в соцсетях

Добавить комментарий