ERNIE — удивительный компьютер на военных технологиях

в 11:30, , рубрики: Colossus, ERNIE, hardware, вычислительная мощность, оборудование, Флауэрс, эвм
ERNIE — удивительный компьютер на военных технологиях - 1

Что такое генератор случайных чисел? Несколько строчек кода, а в некоторых языках программирования — так и вовсе одна. Удивительно, но факт: в 1957 году генератор случайных чисел занимал небольшое помещение, поскольку именно для этой цели был построен специальный компьютер. И построен он был не просто так, а для решения важной практической задачи. Разрабатывал его, к слову, Томас Флауэрс — человек, создававший во время Второй мировой войны вычислительные машины, которые расшифровывали секретные сообщения немецкой армии. Однако обо всем по порядку.

Кто купил билетов пачку…

В 1956 году министр финансов Великобритании Гарольд Макмиллан задумался о способах немного повысить благосостояние подданных Ее Королевского Величества, а заодно и пополнить государственную казну. Результатом его размышлений стало появление так называемых «премиальных облигаций». В отличие от обычных государственных ценных бумаг премиальные облигации не предлагали какого-либо фиксированного купонного дохода. Вместо этого их обладатели становились участниками ежемесячной лотереи, в которой разыгрывался процент по этим самым облигациям и множество денежных призов. Размер призов варьировался от 25 до 1 000 000 фунтов стерлингов, при этом полученные таким образом доходы не облагались налогами. Облигация могла принимать участие в ежемесячных розыгрышах спустя 30 дней после ее приобретения и вплоть до даты ее погашения, а государство обязалось выкупить эти ценные бумаги по номинальной цене по истечении срока их действия.

ERNIE — удивительный компьютер на военных технологиях - 2

Премиальные облигации

Этот оригинальный инвестиционный инструмент был торжественно представлен на Лондонской бирже 1 ноября 1956 года, и самую первую премиальную облигацию приобрел у генерального почтмейстера доктора Чарльза Хилла лорд-мэр Лондона сэр Катберт Экройд, обогатив бюджет Великобритании на 1 фунт стерлингов. Новинка очень понравилась жителям туманного Альбиона, и вскоре премиальные облигации стали пользоваться неизменным спросом. К концу 1956 года было продано около 50 миллионов облигаций, каждая из которых имела уникальный серийный номер. На сегодняшний день такими ценными бумагами владеют более 24 миллионов англичан.

В ходе лотерей, где определялись счастливчики, требовалось случайным образом выбирать большое количество серийных номеров выигравших облигаций, причем таким образом, чтобы ни у кого не возникло даже малейших сомнений в беспристрастности алгоритма. Все-таки речь шла о миллионах фунтов стерлингов. Иными словами, простых лототронов с пронумерованными шариками тут оказалось явно недостаточно. И британское правительство решило построить для этих целей специальный Лотерейный Компьютер, который эффективно решал бы столь непростую задачу. Тут-то чиновники и вспомнили про талантливого инженера Томаса Флауэрса, считавшегося одним из самых продвинутых компьютерщиков Англии в 1956 году. Тем более, ранее он уже успешно работал на британское правительство, и не просто на правительство, а на Министерство обороны и военную разведку.

Неслучайная случайность

Общеизвестно, что числа, генерируемые с помощью функций вроде «rand();» в С++, называют «псевдослучайными». И это «жу-жу-жу», то есть, приставка «псевдо-», тут неспроста. Последовательность таких чисел имеет все свойства случайной, однако она формируется по определенному математическому алгоритму, подчиняющемуся ряду закономерностей, а сам генератор имеет ограниченное число внутренних состояний. Из-за этого на достаточно больших промежутках времени созданная таким генератором последовательность чисел может повториться.

Для генерации номеров, выигравших в государственной лотерее облигаций, требовалось устройство, способное выдавать действительно случайные последовательности, которые невозможно предугадать, даже зная алгоритм. Кроме того, в случае с премиальными облигациями, имеющими многозначные серийные номера, возникла необходимость генерировать до 100 миллионов случайных значений в ходе каждого розыгрыша. Иными словами, правительству Великобритании был нужен генератор случайных чисел прямо-таки промышленного масштаба.

ERNIE — удивительный компьютер на военных технологиях - 3

Том Флауэрс

Задачу придумать такую машину поставили перед Томом Флауэрсом и примкнувшем к нему инженером Гарри Фенсом, также трудившимся в исследовательской лаборатории почтовой службы в Доллис-Хилл. Ради экономии времени и сил Флауэрс взял за основу нового компьютера давно проверенный Colossus, разработкой которого он занимался в годы войны. Нужно было только добавить к нему самую важную деталь — генератор случайных значений, причем в основе случайности должен лежать какой-то хаотичный физический процесс, результат действия которого невозможно предсказать никаким образом. Только вот какой?

«А внутри у ней — неонка!»

Поразмыслив, Флауэрс решил построить генератор на основе ламп, заполненных неоном. Такие лампы светятся красивым красным светом, но их главная особенность заключается отнюдь не в этом. Если приложить к неоновой лампе высокое напряжение, внутри нее возникает электрический ток, создаваемый потоком заряженных частиц между электродами. По пути электроны сталкиваются с атомами неона, отчего их траектория движения становится хаотичной, и на выходе получается электрический ток случайной величины. Этот сигнал, пропущенный через усилитель, подавался на импульсный генератор. Придуманная Флауэрсом схема выдавала до 3000 электрических импульсов в секунду, причем каждую секунду количество этих импульсов было разным. Получившаяся конструкция служила генератором «шума» для компьютера.

ERNIE — удивительный компьютер на военных технологиях - 4

Принципиальная схема генератора «шума» Флауэрса

Количество генерируемых схемой импульсов колебалось вокруг некоего среднего значения, поэтому его нельзя было использовать в качестве по-настоящему случайного числа. Вместо этого из полученного при подсчете импульсов значения компьютер извлекал младший разряд и передавал его на «кольцевой счетчик», который выполнял с ним операцию mod по модулю 6, 10 или 24. При этом счетчик каждый раз начинал отсчет с разного значения, что добавляло результату дополнительный элемент случайности. Счетчики управлялись импульсами, подаваемыми генератором шума. Фактически, вся эта система работала, как некий эквивалент вращающегося колеса рулетки в казино — там, где рулетка останавливалась, и получалось случайное число.

Компьютер получил наименование ERNIE (производное от «A Random Number Generator»). Поскольку серийный номер облигации состоял из 7 цифр и двух букв, в конструкции ЭВМ использовалось девять кольцевых счетчиков. Семь из них генерировали цифры от 0 до 9, а последние два выдавали случайным образом одно из 22 значений, соответствующих символам английского алфавита (литеры «O», «I» и «U» в номерах облигаций не использовались). Чтобы избежать ситуации, при которой полученное число не было бы случайным из-за перегорания неоновой лампы, все «неонки» в конструкции ERNIE Флауэрс продублировал и смонтировал их на плате парами. Полученные в результате своей работы серийные номера компьютер выводил на телетайпную ленту.

ERNIE — удивительный компьютер на военных технологиях - 5

«Лотерейный» компьютер ERNIE

ERNIE был способен выдавать один случайный номер выигрышной облигации каждые две-три секунды, а всего — около 2000 номеров в час. В ходе первого розыгрыша компьютер сгенерировал 60 000 серийных номеров, позволивших выбрать всего 23 000 победителей. Разница объясняется тем, что номера премиальных облигаций не были последовательными — существовало значительное количество номеров, которые не соответствовали проданным ценным бумагам. Все выбранные ERNIE номера тщательно проверялись актуарным департаментом правительства Великобритании (актуарий – специалист в области экономики и финансов, решающий задачи финансовой безопасности и оценки рисков). Целью проверки было убедиться в том, что номера действительно случайные, и в ходе розыгрыша не произошло никаких подтасовок или мошенничества. Иными словами, британцы подошли к вопросу серьезно, с поистине немецкой педантичностью. Сам компьютер ERNIE, к слову, обошелся королевской казне в 25 000 фунтов стерлингов, но эти затраты многократно и довольно быстро окупились.

Вкалывают роботы, счастлив человек

Идея проведения розыгрышей с использованием ЭВМ пришлась британцам по вкусу — в 1957 году столь яркое проявление технического прогресса казалось настоящей научной фантастикой. А сам компьютер ERNIE превратился в элемент местного фольклора. Англичане писали ему письма и присылали поздравительные открытки на Рождество, а в сувенирных лавках продавались фарфоровые копилки в виде симпатичного робота по имени ERNIE и шкатулки в виде него же — считалось, что если хранить облигации в такой «статуетке», их владельцу повезет и они обязательно окажутся выигрышными.

ERNIE — удивительный компьютер на военных технологиях - 6

Надпись на шкатулке гласит: «счастливая коробка для облигаций ERNIE»

Тем временем, тот самый технический прогресс шел своим чередом, и Флауэрс понемногу совершенствовал конструкцию своей машины. В 1972 году появилась вторая версия ERNIE, в архитектуре которой использовались транзисторы и сменные модули в виде отдельных печатных плат. В 1988 году его заменил ERNIE III размером с обычный персональный компьютер. С помощью этого компьютера каждый ежемесячный розыгрыш проводился за пять с половиной часов.

В 2004 году его сменил ERNIE IV, разработанный компанией LogicaCMG. В этой машине уже не использовались неоновые лампы — генератор случайных чисел работал на основе теплового шума в транзисторах. Быстродействие ERNIE IV было в 500 раз выше оригинала — компьютер генерировал миллион серийных номеров облигаций в час.

Последняя на сегодняшний день версия ERNIE за номером V создана компанией ID Quantique, и была введена в эксплуатацию в марте 2019 года. Этот компьютер построен на квантовом генераторе случайных чисел, использующем технологию для получения случайных значений с помощью света, заменившую прежний метод «теплового шума». ERNIE V работает в 21 000 раз быстрее самой первой модели ERNIE и способен определить 3 миллиона победителей ежемесячной государственной лотереи всего лишь за 12 минут.

Ну, а самый первый компьютер ERNIE, построенный Томом Флауэрсом, сейчас выставлен в качестве экспоната в Лондонском музее науки (Science Museum, London). Это тот редкий случай, когда узкоспециализированная вычислительная машина, построенная на основе военных технологий, которые применялись еще в конструкции Colossus, через несколько поколений дожила до наших дней. И, надо заметить, прекрасно решает возложенные на нее задачи.

Статья поддерживается командой Serverspace.

Serverspace — провайдер облачных сервисов, предоставляющий в аренду виртуальные серверы с ОС Linux и Windows из любой точки мира менее чем за 1 минуту. Для построения ИТ-инфраструктуры провайдер также предлагает: создание сетей, шлюзов, бэкапы, сервисы CDN, DNS, объектное хранилище S3.

ERNIE — удивительный компьютер на военных технологиях - 7

Автор: CyberPunk

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js