Атмосферные ливни приводят к отказу суперкомпьютеров: что можно с этим сделать +24


Суперкомпьютер Cray-1, бывший самым быстрым в 1970-х, не похож на суперкомпьютер. Он выглядит, как модификация аттракциона, в котором человек встаёт к стене, пристёгивается, а его потом раскручивают. Его окружает круглая скамейка, скрывающая питание, похожая на бублик – если бы только дырка от бублика могла выдавать ценные идеи, связанные с ядерным оружием.

После того, как Сеймур Крэй впервые создал этот компьютер, он дал Национальной лаборатории в Лос-Аламосе попользоваться им бесплатно шесть месяцев. Но за эти полгода случилось нечто интересное: в компьютер произошли 152 необъяснимых ошибки памяти. И только позднее исследователи узнали, что нейтроны из космических лучей могут сталкиваться с частями процессора и нарушать хранящиеся в компьютере данные. Чем выше вы расположены и чем больше ваши компьютеры, тем сильнее сказывается на вас эта проблема. Лос-Аламос, расположенный на 2,2 км над уровнем моря, где находятся самые роскошные компьютеры мира, стал основной мишенью.


Сеймур Крэй, создатель суперкомпьютера, рядом со своим детищем Cray-1

С тех пор изменился мир, и изменились компьютеры. А космос остался таким же. Поэтому Лос-Аламосу пришлось приспосабливаться – и его инженеры стали учитывать космические частицы в оборудовании и программном обеспечении. «Это не проблема, которую нужно решить, — пояснят Нэйтан Дебарделебен из группы разработки высокопроизводительных компьютеров. – Это проблема, которую мы способны сдерживать».

Для современных компьютеров, начиная с суперкомпьютера Q, это довольно серьёзная вещь. Q, установленный в 2003-м, был гораздо быстрее Cray-1, предназначенный для вычислений, связанных с отложенными на чёрный день запасами ядерного оружия США. Но он выходил из строя чаще, чем ожидалось – и это были первые отказы, заставившие учёных из Лос-Аламоса серьёзно обеспокоиться космическими лучами из глубокого космоса. Они сталкиваются с химическими элементами в атмосфере, и всё это распадается на более мелкие частицы. «Они буквально образуют своеобразные ливни, падающие прямо на нас», — говорит Шон Блэнчард, ещё один член группы. Некоторые из этих «капель» оказываются нейтронами – и это очень плохо.

«Они могут привести к переключению бита в памяти компьютера, — говорит Дебарделебен, — с 0 на 1, или с 1 на 0». Для домашнего компьютера это ерунда. Но в Лос-Аламосе есть огромные молотилки для чисел. Тот же самый Q начала века напоминает полки супермаркета. А сегодня в лаборатории имеются компьютерные залы размером с футбольное поле, причём все компьютеры в зале могут работать над одной и той же задачей. И, точно так же, как на футбольном поле осадков выпадает больше, чем на дачный участок, так и суперкомпьютеры пронизывает больше космических лучей, чем ваш ноутбук.


В Лос-Аламосе по всему суперкомпьютерному центру расставлены нейтронные детекторы

После Q инженеры по-настоящему поняли, что нейтроны – не такие уж и нейтральные частицы, поэтому сейчас они пытаются предвосхитить проблемы. Перед установкой нового оборудования инженеры проводят что-то вроде космического стресс-теста, помещая электронику в луч нейтронов – их там гораздо больше, чем в атмосферных ливнях – и наблюдая за тем, что произойдёт. «Мы берём отдельные части, делаем их радиоактивными, заставляем их работать на отказ», — объясняет Блэнчард. Скоро они разместят внутри суперкомпьютерного центра нейтронные детекторы, чтобы измерять силу «штормов». Если вам известно, сколько нейтронов прилетело, и вы знаете, как они влияют на работу компьютерных комплектующих, «вы можете предсказать время жизни вашей электроники», — говорит Сюзан Новички, физик из группы космических и прикладных наук лаборатории.

Обычно суперкомпьютеры оказываются достаточно умными, чтобы понять, что что-то пошло не так, и чувствуют переключившийся бит так же, как вы почувствуете, если у вас выдернуть волос. [автор оригинальной статьи — девушка / прим. перев.] В этом случае система обычно просто сообщает об ошибке и исправляется. Но иногда, говорит Блэнчард, компьютер оказывается более пессимистичным. «У меня ошибка, переключилось слишком много битов, — изображает он компьютер,- я не могу это исправить, но хотел сообщить вам об этом».

Когда это происходит в Лос-Аламосе, люди намеренно останавливают все компьютеры. Это всё равно, как специально падать, катаясь с горы на лыжах, потому что так будет менее больно, чем если попытаться устоять. Но в данном случае идти обратно на вершину и начинать всё заново не нужно – инженеры устраивают "контрольные точки" на пути поисков ответа. Это всё равно, что точки сохранения в играх – если вы умерли, не надо начинать всё сначала. Начинайте с последней точки, сохранившей ваши достижения. У суперкомпьютеров тоже есть подобная система сохранения.

Настоящая проблема – это "бесшумная порча данных". Это когда биты переключаются, а никто этого не замечает. И тот ответ, что вы считаете верным, на самом деле может оказаться сном, навеянным нейтронами. Именно поэтому упреждающая работа так важна: известно, чего можно ожидать и как часто, и следить за этим. В то же время, получив эти знания, команда надеется превратить бесшумные ошибки в громко кричащие. Но если что-то и проскользнёт сквозь защиту, возможно, это увидит живой человек. Обычно в Лос-Аламосе не говорят «Вот ваш ответ!», пока человек не проверит результаты работы на осмысленность.

Личное вмешательство происходит в частности потому, что Лос-Аламос занимается критически важными исследованиями по темам, влияющим на множество других людей. «Лаборатория – и в целом энергетический департамент – занимается изучением изменения климата, новых лекарств, эпидемиологии, распространения болезней, моделированием пожаров, материаловедением и хрупкостью металлов», — поясняет Блэнчард. И, как он добавляет после этого списка, причина существования Лос-Аламоса состоит в ядерном оружии, созданном людьми (некоторые из них даже относятся к этой самой лаборатории). «Мы – лаборатория изучения ядерного оружия, — говорит Блэнчард. – Наша работа – заведовать его запасами. Мы должны гарантировать, что оно в безопасности и работает, как надо, и не работает, когда не надо».

Из-за запрета испытаний ядерных вооружений, единственным законным методом перестать волноваться и научиться обслуживать запас бомб будет симуляция происходящего внутри на суперкомпьютере. Вот так лаборатория, беспокоящаяся по поводу излучения на Земле, должна беспокоиться из-за излучения из космоса. Потому что, какую бы работу ни выполняли суперкомпьютеры в будущем, ясно одно: «Каждый год они становятся всё большей мишенью», — говорит Блэнчард.

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (26):

  1. Tortortor
    /#18804261

    даже для ГТ как-то ниочём

    • amartology
      /#18804423 / +2

      Ага, удивительно беззубый рассказ об очень интересной и сложной проблеме. Причем это не перевод ни о чем, а источник очень плохо написан. На фразах масштаба «Мы берём отдельные части, делаем их радиоактивными» я не знал, плакать или смеяться.

  2. imbasoft
    /#18804331

    Судя по статье основная проблема в порче данных обрабатываемых в микросхемах.

    Тут возникает вопрос, насколько сильно данный эффект будет отражаться на хранении данных в SSD и будет ли хранение данных в HDD более надежным (применительно к данному эффекту).

    • amartology
      /#18804467

      В SSD этот эффект тоже есть, но в них по не зависящим от космической радиации причинам используется помехоустойчивое кодирование. Оно не устраняет проблему полностью, но примерно на порядок уменьшает вероятность ее проявления.

    • ClearAirTurbulence
      /#18805119 / +1

      На первый взгляд, HDD более защищены (предположительно требуется большее воздействие более мощной частицы на большую площадь, чем требуется для bit flip в микросхеме; металлический корпус), что косвенно подтверждается отсутствием заметного числа текстов на эту тему, обычно обсуждается воздействие на RAM, реже SSD, практически никогда — HDD.

      Но так или иначе данные попадают на HDD из памяти. Да и на самом HDD могут теоретически попортиться (правда, там тоже есть механизмы коррекции ошибок). Плюс у HDD есть кэш, и данные могут быть повреждены космическими лучами в нем. Или по пути от памяти к контроллеру, возможно.

      В общем, если целостность данных важна — ECC память, какой-нибудь ZFS с четностю, и т.п… Хотя и это не дает полной защиты. Ну и бэкапы, естественно (хотя сами по себе они проблему не решают — если не проверят данные перед бэкапом, вы можете забэкапить уже «сгнившие» данные. Аналогично, уже забэкапленные данные имеет смысл периодически — если они не обновляются — сверять с исходными.

      Однако есть и другая точка зрения на это:
      раз
      www.jodybruchon.com/2017/03/07/zfs-wont-save-you-fancy-filesystem-fanatics-need-to-get-a-clue-about-bit-rot-and-raid-5

      два*
      forums.freenas.org/index.php?threads/do-i-need-zfs-to-protect-against-bit-rot.5332

      TL;DR по этим ссылкам:
      — bit rot для обычного пользователя несущественен
      — RAID5 жив, особенно для soho
      — ZFS обычному юзеру не нужна
      — бэкапы проще и дешевле

      * по второй ссылке человек предлагает хранить бэкапы не на HDD, а на SD-картах и DVD (правда, пост от 2011 г., но все же).
      Это, мягко выражаясь, интересный способ сделать бэкапы, которые в нужный момент не прочтутся.

      • hyperwolf
        /#18805373

        На первый взгляд, HDD более защищены (предположительно требуется большее воздействие более мощной частицы на большую площадь, чем требуется для bit flip в микросхеме; металлический корпус), что косвенно подтверждается отсутствием заметного числа текстов на эту тему, обычно обсуждается воздействие на RAM, реже SSD, практически никогда — HDD.


        Металл для нейтрона не помеха, как атмосфера, крыша здания и корпус компьютера. Да и жесткий диск хранит данные в виде намагниченных областей на пластине. а не в виде электрического заряда, думаю пластинам частицы глубоко пофигу. А вот флеш-память — да, страдает.

        • DarkWanderer
          /#18806419 / +1

          Вы с нейтрино путаете, нейтроны прекрасно сталкиваются с ядрами. И слой бетона очень даже прореживает поток.

          • hyperwolf
            /#18806839 / +2

            Хм, возможно. Спасибо за информацию. Но все равно нейтроны не должны влиять на пластины жесткого диска.

            • amartology
              /#18807035 / +1

              Зато могут на электронику записи-чтения.

      • navion
        /#18806957

        Для защиты от bit rot сделали T10-PI, который считает чексуммы на всём пути от драйвера ОС до секторов на диске. Но дома и для медиархивов они не страшны.

        Кстати, у LTO вероятность битовой ошибки на два порядка ниже (1 x 10^-19), чем у SSD (1 x 10^-17).

  3. Alexsandr_SE
    /#18804479

    SSD насколько я понимаю имеет более крупные ячейки. Если и будет угроза, то скорее всего 4-х битовым SSD. Но там же есть еще алгоритмы коррекции, куда продвинутей чем для ОЗУ.

  4. akardapolov
    /#18805165

    Что подвесило систему: баг или вспышка на Солнце?
    habr.com/company/jetinfosystems/blog/346502

    • amartology
      /#18805245

      Так штук пять более толковых статей на эту тему есть на Хабре, не только то, что вы процитировали.

      • akardapolov
        /#18805333

        Так процитируйте, в чем проблема?
        Ни в коем случае не хотел посягать на чей-то уровень толковости по этой теме своим сообщением. Извините, если что!!!

  5. Karpion
    /#18806403 / +1

    Если хочешь быть отцом — крышу покрывай свинцом!

  6. xcore78
    /#18806503

    Подобное происходит и с ASIC — повреждаются данные в регистрах/микрокод.

    • amartology
      /#18807043 / +2

      Подобное вообще в любой микросхеме происходит при попадании ионизирующих частиц.

  7. DmitrySpb79
    /#18806781

    Не пойму, если биты в RAM действительно иногда меняются, почему на бытовых ПК этого не видно?

    • amartology
      /#18807029 / +2

      Во-первых, слишком маленький объем памяти, чтобы накопить статистику. Во-вторых, у вас что, никогда комп не глючит? В-третьих, ECC же есть везде уже давно.

      • khim
        /#18807153 / +2

        В-третьих, ECC же есть везде уже давно.
        Как раз ны бытовых компах ECC нет, то есть заметить подобное повреждение попросту нечем. Если случайным образом флипать биты в программе, то она достаточно долго может вести себя разумно, а контрольных сумм, способных показать что «таки опа» нету…

        • amartology
          /#18807487

          В памяти и процессорах бытовых компов ECC, разумеется, есть. Как минимум для того, чтобы процент выхода годных был повыше, и чипы нормально себя вели с парой вылетевших ещё при производстве бит.
          Но насчёт того, что случайный сбой в одном бите не всегда приводит к видимым последствиям — это вы правы.

          • khim
            /#18809891

            Возможно мы говорим о разных вещах. Кеши в ядре обычно дейстивтельно используют ECC, чтобы повысить уровень годных. А вот ECC DRAM — это девять чипов вместо восьми и, соотвественно, память без ECC дешевле. Почему и используется в 90% (хорошо если не в 99%) случаев.

      • DmitrySpb79
        /#18807479 / +1

        Во-вторых, у вас что, никогда комп не глючит?

        Например, такого чтобы в набираем?м тексте или коде вдруг появился левый симв?л — ни разу не было.

        Может конечно вероятность события раз в 100 лет, тогда да, у меня еще все впереди :)