Вселенная против компьютеров [Veritasium]
Вот сайт с шаурмой. Likes! Самолет ныряет с небес на землю. Персонаж подпрыгивает на невероятную высоту. Это что такое было? На выборах объявляют пересчет голосов. У всех этих событий 1 пронизывающая вселенную насквозь причины.
18 мая 2003 года жители Бельгии отправились на избирательные участки. Во многих районах тогда голосовали при помощи компьютеров. Бельгия больше десяти лет экспериментировала с этой практикой. Для подстраховки использовали магнитную карточку и вставляли в компьютер. На экране выбирали кандидата, голос сохранялся и в компьютере, и на карте, которую посты и закидывали в избирательную urnу.
Позже в тот день, когда голоса сводили в таблицу, кто-то из сотрудников избирательной комиссии заметил проблему с голосованием. С hour by ки коммуне брюссельского региона Мария Винды Vogel, скромная представительница не самой крупной партии, получила больше голосов, чем математически было возможно. Понять это позволили особенности рейтинговой системы голосования. Из урны достали карточки и принятысь пересчитывать вручную.
Одну за другой их прогоняли через специальные машинки, и за несколько часов процедуру наконец довели до конца. Число голосов, которые избиратели отдали другим кандидатам, осталось прежним. Только у Марии Винды Вогель их стало меньше. Если точнее, после пересчета у нее оказалось на 4096 меньше голосов.
Так что же случилось? Откуда взялось первоначальное невероятно большое число голосов? Специалисты приступили к масштабной проверке компьютерного обеспечения, но как бы тщательно они не проверяли код, никаких багов не обнаруживалось. Потом взялись за тот самый компьютер, на котором заметили ошибку, снова и снова его проверяли, но ничего не нашли. Ошибка не повторялась, неполадок в самом компьютере, кажется, не было.
Оставалось только одно возможное объяснение, однако она очень странное. Его подсказала то, сколько именно лишних голосов получила Винды Вогель – 4096. Компьютеры работают на двоичном коде, ряды 0 и 1, где каждый разряд соответствует определенной степени двойки. А значит, в компьютере, который занимался подсчетом, был ряд нулей и единиц, представляющий количество голосов, отданных за Марию Винды Вогель.
В начале дня счетчик показывает 0, и после каждого голоса значение увеличивается на один. Технически это происходит так: на единицу транзистор включается, на 0 выключается. Так что же интересного в числе 4096? Дело в том, что это та же степень двойки: 2 в двенадцатой, а это 13 бит. И значит, для того чтобы Мария Винды Вогель получила 4096 лишних голосов, достаточно единственного события – 13 бит должен был из нуля стать единицей.
Но как это могло случиться? Компьютеры работают как раз потому, что 0 и единицы всегда находятся на своих местах. Или не всегда? Бельгийские специалисты, пока искали причину сбоя, выяснили, что о таких проблемах еще с семидесятых годов рассказывали компьютерные компании. В 1978 Intel обнаружила ошибку в 16-километровой памяти с произвольным доступом. И единицы внезапно менялись на 0, как будто безо всяких на то причин.
Оказалось, что все дело было в керамической оболочке вокруг модуля памяти. В то десятилетие резко вырос спрос на корпуса для транзисторов, и на Грин-Ривер в Колорадо построили завод для их производства. Только вот он оказался вниз по течению от старой фабрики по обогащению урана. Радиоактивные атомы попадали в реку. В конечном итоге и микрочипы Intel. Исследователи затем выяснили, что даже совсем ничтожное количество урана или тория в керамических элементах грозило неприятностями.
У Intel информация хранилась как наличие или отсутствие электронов. Полупроводники заряда альфа-частиц в тории и уране казалось достаточно, чтобы в кремнии образовались электронно-дырочный пар. Если альфа-частицы попадут в нужное место, то вполне вероятно, что в подложке накопится большое число носителей свободного заряда, достаточно, чтобы изменить единицу на ноль. Это называют нарушением в результате единичного события и относят к случайным сбоям. И при этом никаких поломок в технике нет. Изменился бит, но его можно стереть или переписать без особых проблем.
Когда чипы подвергли альфа-излучению разной мощности, ожидаемо выяснилось, что число сбоев напрямую коррелирует с числом воздействующих на них альфа-частиц. Эта проблема проявилась именно в семидесятых, потому что как раз в это время научились создавать чипы столь малых размеров, что заряда единственной альфа-частицы хватало, чтобы инвертировать единицу.
Вновь исследование тут же привлекло к себе внимание. Еще до выхода статьи его активно обсуждали представители индустрии. Благодаря этому открытию производители чипов стали гораздо тщательнее следить за тем, чтобы в их продукцию не попали радиоактивные частицы. Так что похоже, Мария Винды Вогель получила лишние голоса совсем не из-за природных радиоактивных материалов техники. Но тогда, из-за чего же?
После открытия в 1896 году Антуаном Анри Беккерелем радиоактивности ученые задались вопросом о том, как её измерять, насколько радиоактивны разные материалы. Вот один вариант – электроскоп с лепестками из золота. При наличии заряда золотая пластинка отгибается, и по углу можно измерить заряд. А под воздействием ионизирующего излучения, которое высвобождает электроны из молекул воздуха, появляются положительные и отрицательно заряженные частицы. Разноименные заряды притягиваются к золотой пластинке. Это постепенно разряжается. Чем сильнее излучение, тем быстрее устройство теряет заряд.
В 1910 году Теодор Вольф поднялся с электроскопом на Эйфелеву башню. Поскольку радиоактивность обнаруживали в почве и скальных породах, он ожидал, что на высоте 300 метров над землей радиоактивное излучение составит всего несколько процентов от значений близ поверхности. Но разницы оказалось совсем невелика.
В 1911 австрийский физик Виктор Гесс решил пойти дальше буквально и поместил электроскоп в корзину воздушного шара. В первые два полета результаты не сильно отличались от результатов Ульфа ниже 1100 метров. Оба раза не удалось выявить никакой значительной разницы в радиоактивности по сравнению со значениями, зафиксированными на земле. Но годом позже он провел еще 7 полетов, поднялся на высоту 5200 метров, и там его ждало примечательное открытие.
Первые несколько сотен метров подъема радиоактивности едва заметно подало. Но где-то после километра, чем выше оказывался шар, тем больше росла радиоактивность. На максимальной высоте, которую достиг Гесс, радиоактивность в несколько раз превышала уровень на земле. Один из полетов он запланировал на время солнечного затмения, и пока луна проходила по солнечному диску, он пристально наблюдал за приборами. Но ничего интересного они не показали. Уровень радиации не изменился, даже когда солнце было скрыто наполовину.
Поскольку не было отмечено никакого влияния затмения на уровень радиации, можно заключить, что даже при космическом происхождении излучения оно вряд ли порождается с солнцем. Виктор Гесс открыл космические лучи – высокоэнергетическое излучение из космоса. Но что она из себя представляет и откуда берется? Сейчас мы знаем, что это не электромагнитные волны, как многие полагали в то время, а частицы: около 90 процентов протоны, 9 процентов ядра гелия и 1 процент более тяжёлые ядра. Некоторые действительно от солнца, но у них относительно мало энергии.
Высокие энергетические лучи, скорость которых едва ли не достигает скорости света, берутся из взрывающихся звезд – сверхновых в нашей и других галактиках. А частицы самой большой энергией, как считается, порождаются черными дырами, включая сверхмассивную в центре галактик. Но точно определить источник этих заряженных частиц сложно, ведь их траекторию в космосе отклоняет магнитные поля. А значит, частицы могут провести миллиарды лет, петляя по вселенной.
15 октября 1991 года зафиксировали космический луч с энергией 51 джоуль. То есть одна единственная частица имела столько же энергии, сколько и бейсбольный мяч, летящий со скоростью 100 километров в час. Частицу прозвали "ОМД", что означает "О, Боже мой!" К счастью, первичные космические лучи никогда не достигают земной поверхности. Они сталкиваются с молекулами воздуха на высоте около 25 километров над землей, и тогда появляются другие частицы: пионы, которые распадаются и сталкиваются с другими частицами вроде нейтронов, протонов, миллионов электронов, позитронов и фотонов, которые, в свою очередь, тоже сталкиваются с молекулами воздуха. И таким образом, благодаря всего одному первичному космическому лучу на Землю обрушивается целый ливень частиц.
Специалисты, которые расследовали ошибку на бельгийских выборах, считают, что одна из них как раз и попала в транзистор компьютера в Брюсселе, превратив 0 в единицу, и Мария Винды Вогель получила 4096 лишних голосов. Но как думаете, часто ли происходит нечто подобное?
В 1911 году Чарльз Мэнсон подарил миру возможность увидеть космические лучи с помощью своего изобретения – камеры, заполненной перенасыщенным водяным или алкогольным парам. Пронзая камеру Вильсона, космические лучи ионизируют газ, провоцируют конденсацию, и по образовавшимся капелькам можно судить о том, где прошла частица. Альфа-частицы в гидрогеле оставляют после себя короткие широкие следы, об этой частицы электроны – длинный и узкий.
В 1932 Карл Андерсон обнаружил след, похожий на свет электрона. Вот только в магнитном поле он отклонился не в ту сторону, будто бы был положительно заряжен. Так Андерсон открыл анти-электрон, то есть позитрон, и это считается первым подтвержденным случаем наблюдения антиматерии. Спустя четыре года, и снова при помощи камеры, Бойс на Андерсон открыл еще одну частицу, опять же среди космических лучей. В 1936 он получил Нобелевскую премию по физике за открытие позитрона. Премию он разделил с Гессом, который открыл сами космические лучи – частицы, которые влияют на нашей жизни, а мы об этом едва ли подозреваем.
А это возможно самая редкая, что только бывает в видео играх. В 2013 году Даттибек Спит ранил Super Mario 64 на консоли. На уровне Идти, кто клуб, он подпрыгнул и внезапно оказался этажом выше. Это что такое было? Невидимая стена? По стене поднялся! Ни разу еще такого не видел. Этот прыжок сэкономил несколько секунд и был очень похож на новый глитч, который могли бы использовать игроки. Никто с ником Теннант Куб 12 предложил тому, кто сможет его повторить, тысячу долларов.
С тех пор прошло уже 6 лет, но никому не удалось этого сделать, и пока самые надежные версии объяснения кажутся такими, что причина ошибки – космический луч. Такой прыжок произойдет, если в координатах высоты, на которой находится Марию, заменить один бит в первом байте. Когда он внизу, этот участок записан как 11000 101. Если же заменить последнюю единицу на 0, меняется положение персонажа по вертикали, и так уж вышло, что это закидывает Марию как раз на следующий этаж.
Pen and Cook 12 написал скрипт, который менял тот же бит в нужный момент и повторил прыжок. Это очень наглядный пример инвертирования разряда. Но на самом деле происходит это регулярно, просто мы не видим. Ошибка одна – ошибка там, и работа всего устройства идет насмарку. Мы называем такие события единичным сбоем функционирования. Вообще, они могут подвесить весь процесс. Все же знают про синий экран смерти. Он может случиться как раз из-за нейтрона какого-нибудь. Значит, если вы видели синий экран, это может быть из-за космического луча? Да, вполне.
Сейчас есть несколько способов предотвращать инвертирование, например, специальный тип компьютерной памяти с коррекцией ошибок. Но полностью исключить их все-таки не получается. По оценкам, в 1996 году одно такое событие в месяц происходит на каждые 256 мегабайт оперативной памяти, чаще всего из-за нейтронов, которые образуются после попадания первичного космического луча в атмосферу.
С 2009 года Тойота отозвала миллионы автомобилей из-за того, что они произвольно разгонялись. Мы ехали по ск раз на полосе около 70 в час. Я вот сказал, что машина разгоняется сама, остановите ее! Не получается. Многие тогда предполагали, что дело в космических лучах, их воздействии на электронику в автомобилях. Дошло до того, что к расследованию неполадок привлекли NASA. Но похоже, и в тот раз космические лучи оказались ни при чем.
По заключению агентства проблема была в за падающих педалях, плохо уложенных ковриках, а чаще всего в том, что водители путались и вместо тормоза жали газ. И однако космические лучи временами выводят технику из строя, например, суперкомпьютеры, особенно установленные на большой высоте. Национальная лаборатория Лос-Аламоса расположена на высоте 2200 метров над уровнем моря, и там сбой из-за нейтронов происходит постоянно. Отсюда необходимость в частом автосохранении и большом количестве нейтронных детекторов.
На территории еще выше, например, там, где летают пассажирские самолеты, показатели на счетчиках Гейгера начинают расти как раз из-за космических лучей: на 5 с половиной километрах до половины микрозиверт в час; на 7 до 1 микрозиверт в час; на 10 километрах – больше двух микрозиверт в час. А ближе к полюсам и если забраться выше – больше трех микрозиверт в час. На такой высоте шанс единичного сбоя вырастает в 10, а то и в 30 раз.
Может, сбой в ноутбуке не так уж страшен? Но что, если он случится в бортовом компьютере? 7 октября 2008 года авиалайнер Airbus A330 вылетел из Сиднея в австралийский Перте. Всего через три часа после взлета самолет внезапно нырнул к земле и за 20 секунд опустился на 200 метров. Пассажиры испытали отрицательное ускорение в минус восемь десятых. Это ощущалось как будто самолет перевернулся. Мы пристегнуты, куда серьезнее пассажиров, но сила хватило, чтобы нас подняло из сидений и толкнуло вперед. Через несколько минут самолет просел еще на 120 метров, пострадали 119 человек, многие от того, что ударились головой об потолок. Пилоты решились на аварийную посадку в Лермонт.
В ходе выяснения причин оказалось, что по всей вероятности сбой произошел в блоке инерциальной навигации и управления полетом. Этот блок следит за очень важными показателями: скоростью, воздушным потоком, углом атаки и высотой. Эта информация представляется в 32-битных двоичных фрагментах 1 и 8 бит. Это тип информации с 11 по 29 закодированы сами показатели. Сбой произошел в первых восьми битах, и в результате данные о высоте по ошибке превратились в информацию об угле атаки. В кабине сработали сигнализации о сваливании и превышении скорости, чего просто не может случиться одновременно.
Автоматика направила самолет к земле, чтобы набрать скорость и предотвратить сваливание, из-за чего пассажиров и экипаж подкинуло к потолку. Специалисты потом рассматривали возможность программных ошибок, сбоев в работе электроники, влияние условий окружающей среды и воздействия электромагнитных сил. Но на основе известных обстоятельств ничто из этого не подходило на роль главной причины. Другим возможным объяснением был одиночный случайный сбой, вызванный высокой энергетической атмосферной частицей, которая поразила одну из микросхем процессора.
Но сложность ситуации с одиночными случайными сбоями в том, что они происходят случайно и не оставляют следов. Словом, аэробус A330 построили в 1992, когда не было еще никаких точных официальных требований к производителям самолетов. Кода бы обеспечивали защиту от одиночных случайных сбоев.
Когда создавалась программа SHAT LAV, с самого начала была предусмотрена избыточность. Одни и те же программы навигации управления работают сразу на 4 компьютера. Если в одном вдруг произойдет сбой, остальные три прикроют ошибку. К тому же такой режим позволял отследить частоту инвертирования разрядов. Во время пятидневной миссии STS-48 произошел 161 отдельный сбой. За пределами атмосферы космических лучей так много энергии, что иногда их можно даже увидеть. Бывает, уже закрыл глаза, но еще не спишь. Если подождать, то скоро замечаешь вспышку! Мы думаем, что это тяжелые частицы или отдельные всплески энергии от излучения, которое проходит прямо через глаз или через оптический нерв. И наш организм отмечает, что его только что пронзила частица как ни странно маленькой вспышкой в глазу. Просто напоминание о том, что мы подвержены влиянию не только солнца, но и всех звезд во Вселенной.
И я представляю себе, как астронавты должны были закрывать глаза, видели эти вспышки и думали: "никому о них не расскажу". Мне же про них никто не рассказывал, и я не буду. И только подумайте, как первые двое решились это обсудить. Один говорит: "Я иногда вижу вспышки, у тебя такое бывает?" А потом оказывается, что все их видели. Ну тогда все ясно, значит это нормально.
При полетах на другие планеты защита электроники особенно важна, когда единственный бит информации отвечает за важную деталь работы аппарата, за двигатель, например. Если вместо единицы появится 0, положение "вкл" превращается в "выкл" и наоборот. Миссия может на этом завершиться.
По этой причине у ровера Perseverance, который недавно сел на Марсе, компьютер 20-летней давности PowerPC и модель 2001 года. Всего 256 мегабайт оперативной памяти и 2 гигабайта флэш-памяти. Зато он надежно защищен от излучения. Конструкция, материалы, схема и программное обеспечение способны выдержать радиацию в 40 раз мощнее, чем у обычных компьютеров. Эту систему, начиная с 2005 года, использовали больше чем в десяти миссиях.
Много лет назад, когда мы только начали проводить испытания, мы просто поставили работающий процессор под поток частиц в одной из лабораторий и ждали, пока выскочит синий экран. Таким образом, можно понять, что неправильно работает, и переделать так, чтобы больших синих экранов не было. Потому что если подобное произойдет на аппарате, для нас по сути потерян.
О том, что Voyager 1 вышел за пределы солнечной системы, мы в том числе узнали по тому, насколько выросло воздействие на него космических лучей. На Земле частицы, которые летят от солнца и солнечного ветра, это источники радиации. Однако вдали от нас они служат защитной оболочкой гелиосферы, которая отражает частицы из космоса и прикрывает солнечную систему от ионизирующего излучения извне.
Но у солнца есть цикл активности около 11 лет, и прочность этой оболочки меняется. Космические лучи попадают на землю гораздо реже, когда солнце активно, и чаще, когда нет. Космические лучи, возможно, сыграли в истории нашей планеты даже большую роль, спонтанно меняя значение не только в компьютерном, но и в генетическом коде, что могло способствовать большему разнообразию жизни на Земле.
Мария Винды Вогель вошла в бельгийскую палату представителей. Ее избрали люди, а не заблудившиеся частицы. Но эта история служит напоминанием о том, что триллионы частиц миллионами и миллиардами лет снуют по Вселенной, и какая-нибудь из них однажды может изменить вашу жизнь, врезавшись в крошечный транзистор и вызвав сбой.
Переведено и озвучено студией Вирт Дай Дар.