![](https://habrastorage.org/getpro/habr/post_images/544/20d/609/54420d609a85f00ccbda102b898012f6.jpg)
Суперкомпьютер Cray-1, бывший самым быстрым в 1970-х, не похож на суперкомпьютер. Он выглядит, как модификация аттракциона, в котором человек встаёт к стене, пристёгивается, а его потом раскручивают. Его окружает круглая скамейка, скрывающая питание, похожая на бублик – если бы только дырка от бублика могла выдавать ценные идеи, связанные с ядерным оружием.
После того, как Сеймур Крэй впервые создал этот компьютер, он дал Национальной лаборатории в Лос-Аламосе попользоваться им бесплатно шесть месяцев. Но за эти полгода случилось нечто интересное: в компьютер произошли 152 необъяснимых ошибки памяти. И только позднее исследователи узнали, что нейтроны из космических лучей могут сталкиваться с частями процессора и нарушать хранящиеся в компьютере данные. Чем выше вы расположены и чем больше ваши компьютеры, тем сильнее сказывается на вас эта проблема. Лос-Аламос, расположенный на 2,2 км над уровнем моря, где находятся самые роскошные компьютеры мира, стал основной мишенью.
![](https://habrastorage.org/getpro/habr/post_images/1f8/6e2/60b/1f86e260bb4d84f19f629760b179e881.jpg)
Сеймур Крэй, создатель суперкомпьютера, рядом со своим детищем Cray-1
С тех пор изменился мир, и изменились компьютеры. А космос остался таким же. Поэтому Лос-Аламосу пришлось приспосабливаться – и его инженеры стали учитывать космические частицы в оборудовании и программном обеспечении. «Это не проблема, которую нужно решить, — пояснят Нэйтан Дебарделебен из группы разработки высокопроизводительных компьютеров. – Это проблема, которую мы способны сдерживать».
Для современных компьютеров, начиная с суперкомпьютера Q, это довольно серьёзная вещь. Q, установленный в 2003-м, был гораздо быстрее Cray-1, предназначенный для вычислений, связанных с отложенными на чёрный день запасами ядерного оружия США. Но он выходил из строя чаще, чем ожидалось – и это были первые отказы, заставившие учёных из Лос-Аламоса серьёзно обеспокоиться космическими лучами из глубокого космоса. Они сталкиваются с химическими элементами в атмосфере, и всё это распадается на более мелкие частицы. «Они буквально образуют своеобразные ливни, падающие прямо на нас», — говорит Шон Блэнчард, ещё один член группы. Некоторые из этих «капель» оказываются нейтронами – и это очень плохо.
«Они могут привести к переключению бита в памяти компьютера, — говорит Дебарделебен, — с 0 на 1, или с 1 на 0». Для домашнего компьютера это ерунда. Но в Лос-Аламосе есть огромные молотилки для чисел. Тот же самый Q начала века напоминает полки супермаркета. А сегодня в лаборатории имеются компьютерные залы размером с футбольное поле, причём все компьютеры в зале могут работать над одной и той же задачей. И, точно так же, как на футбольном поле осадков выпадает больше, чем на дачный участок, так и суперкомпьютеры пронизывает больше космических лучей, чем ваш ноутбук.
![](https://habrastorage.org/getpro/habr/post_images/24b/be8/901/24bbe8901bd6e254605227151ab633ac.jpg)
В Лос-Аламосе по всему суперкомпьютерному центру расставлены нейтронные детекторы
После Q инженеры по-настоящему поняли, что нейтроны – не такие уж и нейтральные частицы, поэтому сейчас они пытаются предвосхитить проблемы. Перед установкой нового оборудования инженеры проводят что-то вроде космического стресс-теста, помещая электронику в луч нейтронов – их там гораздо больше, чем в атмосферных ливнях – и наблюдая за тем, что произойдёт. «Мы берём отдельные части, делаем их радиоактивными, заставляем их работать на отказ», — объясняет Блэнчард. Скоро они разместят внутри суперкомпьютерного центра нейтронные детекторы, чтобы измерять силу «штормов». Если вам известно, сколько нейтронов прилетело, и вы знаете, как они влияют на работу компьютерных комплектующих, «вы можете предсказать время жизни вашей электроники», — говорит Сюзан Новички, физик из группы космических и прикладных наук лаборатории.
Обычно суперкомпьютеры оказываются достаточно умными, чтобы понять, что что-то пошло не так, и чувствуют переключившийся бит так же, как вы почувствуете, если у вас выдернуть волос. [автор оригинальной статьи — девушка / прим. перев.] В этом случае система обычно просто сообщает об ошибке и исправляется. Но иногда, говорит Блэнчард, компьютер оказывается более пессимистичным. «У меня ошибка, переключилось слишком много битов, — изображает он компьютер,- я не могу это исправить, но хотел сообщить вам об этом».
Когда это происходит в Лос-Аламосе, люди намеренно останавливают все компьютеры. Это всё равно, как специально падать, катаясь с горы на лыжах, потому что так будет менее больно, чем если попытаться устоять. Но в данном случае идти обратно на вершину и начинать всё заново не нужно – инженеры устраивают "контрольные точки" на пути поисков ответа. Это всё равно, что точки сохранения в играх – если вы умерли, не надо начинать всё сначала. Начинайте с последней точки, сохранившей ваши достижения. У суперкомпьютеров тоже есть подобная система сохранения.
Настоящая проблема – это "бесшумная порча данных". Это когда биты переключаются, а никто этого не замечает. И тот ответ, что вы считаете верным, на самом деле может оказаться сном, навеянным нейтронами. Именно поэтому упреждающая работа так важна: известно, чего можно ожидать и как часто, и следить за этим. В то же время, получив эти знания, команда надеется превратить бесшумные ошибки в громко кричащие. Но если что-то и проскользнёт сквозь защиту, возможно, это увидит живой человек. Обычно в Лос-Аламосе не говорят «Вот ваш ответ!», пока человек не проверит результаты работы на осмысленность.
Личное вмешательство происходит в частности потому, что Лос-Аламос занимается критически важными исследованиями по темам, влияющим на множество других людей. «Лаборатория – и в целом энергетический департамент – занимается изучением изменения климата, новых лекарств, эпидемиологии, распространения болезней, моделированием пожаров, материаловедением и хрупкостью металлов», — поясняет Блэнчард. И, как он добавляет после этого списка, причина существования Лос-Аламоса состоит в ядерном оружии, созданном людьми (некоторые из них даже относятся к этой самой лаборатории). «Мы – лаборатория изучения ядерного оружия, — говорит Блэнчард. – Наша работа – заведовать его запасами. Мы должны гарантировать, что оно в безопасности и работает, как надо, и не работает, когда не надо».
Из-за запрета испытаний ядерных вооружений, единственным законным методом перестать волноваться и научиться обслуживать запас бомб будет симуляция происходящего внутри на суперкомпьютере. Вот так лаборатория, беспокоящаяся по поводу излучения на Земле, должна беспокоиться из-за излучения из космоса. Потому что, какую бы работу ни выполняли суперкомпьютеры в будущем, ясно одно: «Каждый год они становятся всё большей мишенью», — говорит Блэнчард.
Комментарии (26)
imbasoft
22.06.2018 10:45Судя по статье основная проблема в порче данных обрабатываемых в микросхемах.
Тут возникает вопрос, насколько сильно данный эффект будет отражаться на хранении данных в SSD и будет ли хранение данных в HDD более надежным (применительно к данному эффекту).amartology
22.06.2018 11:12В SSD этот эффект тоже есть, но в них по не зависящим от космической радиации причинам используется помехоустойчивое кодирование. Оно не устраняет проблему полностью, но примерно на порядок уменьшает вероятность ее проявления.
ClearAirTurbulence
22.06.2018 13:19+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
22.06.2018 14:28На первый взгляд, HDD более защищены (предположительно требуется большее воздействие более мощной частицы на большую площадь, чем требуется для bit flip в микросхеме; металлический корпус), что косвенно подтверждается отсутствием заметного числа текстов на эту тему, обычно обсуждается воздействие на RAM, реже SSD, практически никогда — HDD.
Металл для нейтрона не помеха, как атмосфера, крыша здания и корпус компьютера. Да и жесткий диск хранит данные в виде намагниченных областей на пластине. а не в виде электрического заряда, думаю пластинам частицы глубоко пофигу. А вот флеш-память — да, страдает.DarkWanderer
22.06.2018 20:02+1Вы с нейтрино путаете, нейтроны прекрасно сталкиваются с ядрами. И слой бетона очень даже прореживает поток.
hyperwolf
22.06.2018 22:50+2Хм, возможно. Спасибо за информацию. Но все равно нейтроны не должны влиять на пластины жесткого диска.
Alexsandr_SE
22.06.2018 11:16SSD насколько я понимаю имеет более крупные ячейки. Если и будет угроза, то скорее всего 4-х битовым SSD. Но там же есть еще алгоритмы коррекции, куда продвинутей чем для ОЗУ.
akardapolov
22.06.2018 13:31Что подвесило систему: баг или вспышка на Солнце?
habr.com/company/jetinfosystems/blog/346502amartology
22.06.2018 13:51Так штук пять более толковых статей на эту тему есть на Хабре, не только то, что вы процитировали.
akardapolov
22.06.2018 14:16Так процитируйте, в чем проблема?
Ни в коем случае не хотел посягать на чей-то уровень толковости по этой теме своим сообщением. Извините, если что!!!amartology
22.06.2018 15:40Ненене, я, наоборот, хотел подкрепить ваше сообщение, а не противоречить ему)
habr.com/post/406389
habr.com/post/189066
habr.com/post/401681
xcore78
22.06.2018 20:38Подобное происходит и с ASIC — повреждаются данные в регистрах/микрокод.
amartology
23.06.2018 00:30+2Подобное вообще в любой микросхеме происходит при попадании ионизирующих частиц.
DmitrySpb79
22.06.2018 22:29Не пойму, если биты в RAM действительно иногда меняются, почему на бытовых ПК этого не видно?
amartology
23.06.2018 00:27+2Во-первых, слишком маленький объем памяти, чтобы накопить статистику. Во-вторых, у вас что, никогда комп не глючит? В-третьих, ECC же есть везде уже давно.
khim
23.06.2018 01:35+2В-третьих, ECC же есть везде уже давно.
Как раз ны бытовых компах ECC нет, то есть заметить подобное повреждение попросту нечем. Если случайным образом флипать биты в программе, то она достаточно долго может вести себя разумно, а контрольных сумм, способных показать что «таки опа» нету…amartology
23.06.2018 09:45В памяти и процессорах бытовых компов ECC, разумеется, есть. Как минимум для того, чтобы процент выхода годных был повыше, и чипы нормально себя вели с парой вылетевших ещё при производстве бит.
Но насчёт того, что случайный сбой в одном бите не всегда приводит к видимым последствиям — это вы правы.khim
24.06.2018 19:12Возможно мы говорим о разных вещах. Кеши в ядре обычно дейстивтельно используют ECC, чтобы повысить уровень годных. А вот ECC DRAM — это девять чипов вместо восьми и, соотвественно, память без ECC дешевле. Почему и используется в 90% (хорошо если не в 99%) случаев.
DmitrySpb79
23.06.2018 09:36+1Во-вторых, у вас что, никогда комп не глючит?
Например, такого чтобы в набираем?м тексте или коде вдруг появился левый симв?л — ни разу не было.
Может конечно вероятность события раз в 100 лет, тогда да, у меня еще все впереди :)dadyjo
23.06.2018 10:24+1Это с нибиру послания шлют )) www.youtube.com/watch?v=RirqnBUQTEU
DmitrySpb79
23.06.2018 10:36+1Да, это сильно :)
Кстати, программа «Штирлиц» помогла бы декодировать послание :)
www.softportal.com/software-3560-shtirlits.html
Когда-то давно пользовался, когда был зоопарк разных кодировок и текст мог попасться в любом формате WIN/DOS/KOI8/etc.
Tortortor
даже для ГТ как-то ниочём
amartology
Ага, удивительно беззубый рассказ об очень интересной и сложной проблеме. Причем это не перевод ни о чем, а источник очень плохо написан. На фразах масштаба «Мы берём отдельные части, делаем их радиоактивными» я не знал, плакать или смеяться.