Великолепная шестерка: девушки, которые термоядерный взрыв рассчитывали

Когда-то компьютеры были женщинами, калькуляторы работали на электромоторах, вместо учебников были чертежи, а программисты выглядели вот так:

f9067bea439d4deca791d182ae1665ab.jpg
ENIAC girls

Во время второй мировой войны каждое орудие требовало собственной баллистической таблицы и рассчитывались они для каждого отдельного типа снаряда и орудия перед отправкой на фронт, и при различных комбинациях множества параметров (температура воздуха, скорость ветра, плотность почвы под орудием, возвышение ствола, скорость снаряда, температура ствола орудия). Этими вычислениями занимались 75 молоденьких девушек-выпускниц.

Одна из них, Бетти, вспоминает:

«В то время у нас были механические калькуляторы, на шестеренках и с электроприводом, которые могли выполнять простейшие арифметические операции. Вы выполняли умножение и записывали ответ, чтобы потом его заново ввести в машину. Мы готовили баллистические таблицы для каждого орудия, примерно для 1800 траекторий. Чтобы вычислить вручную одну траекторию требовалось 30–40 часов просиживания перед столом с листиком и калькулятором. Название моей профессии для баллистического проекта было «компьютер». Идея была в том, что я не просто выполняла арифметические операции, а принимала решения, что делать на следующем шаге. ENIAC сделал меня, одну из первых «компьютеров», устаревшей технологией.»

Та же баллистическая задача решалась за 30 минут на дифференциальном анализаторе:
image
Самый большой и самый сложный механический калькулятор, их было всего 3 в Америке и 5 или 6 в мире (в Великобритании).
На фото: Kay McNulty и Alyse Snyder

Компьютер ENIAC справлялся с подобными баллистическими вычислениями примерно за 10 секунд. Но чтобы его «запрограммировать» на новую задачу (переподключить кабеля), требовалось около двух дней.

ENIAC


Electronic Numerical Integrator and Computer (Электронный числовой интегратор и вычислитель) — первый электронный цифровой вычислитель общего назначения, который можно было перепрограммировать для решения широкого спектра задач.

b9c5882aa7dd4a01ab15b4f4396bc043.jpg На создание ENIAC ушло 200 000 человеко-часов и 486 804,22 доллара США. Всего комплекс включал в себя 17 468 ламп 16 различных типов, 7200 кремниевых диодов, 1500 реле, 70 000 резисторов и 10 000 конденсаторов.

Вес — 27 тонн.
Объём памяти — 20 число-слов.
Потребляемая мощность — 174 кВт.
Вычислительная мощность — 357 операций умножения или 5000 операций сложения в секунду.
Тактовая частота — 100 кГц, то есть один импульс каждые 10 микросекунд.

Основной вычислительный такт состоял из 20 импульсов и занимал 200 микросекунд.

Сложение выполнялось за 1 такт, умножение — за 14 тактов. Умножение заменялось многократным сложением, так что 1 умножение равнялось 14 операциям сложения и выполнялось, соответственно, за 2800 микросекунд.

Устройство ввода-вывода данных — табулятор перфокарт компании IBM: 125 карт/минуту на ввод, 100 карт/минуту на вывод.

Вычисления производились в десятичной системе, после тщательного анализа ей было отдано предпочтение перед двоичной системой. Компьютер оперировал числами максимальной длиной в 20 разрядов.

Программирование задачи на ЭНИАКе могло занимать до двух дней, а её решение — несколько минут. Большая часть времени уходила на распечатку перфокарт и их сортировку. Во время расчётов приходилось на ходу вносить изменения в программу и ждать замены перегоревших ламп.

Выход из строя одной лампы, одного конденсатора или резистора означал остановку работы всей машины, всего существовало 1,8 миллиарда различных вариантов отказа в каждую секунду. До этого человечество не создавало ни один прибор такой сложности и с таким требованием к надёжности.

Использование


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

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

Детали и результаты выполненных в ноябре — декабре 1945 года расчётов до сих пор засекречены. Перед ЭНИАКом была поставлена задача решить сложнейшее дифференциальное уравнение, для ввода исходных данных к которому понадобилось около миллиона перфокарт.

Вводная задача была разбита на несколько частей, чтобы данные могли поместиться в память компьютера. Промежуточные результаты выводились на перфокарты и после перекоммутации снова заводились в машину. В апреле 1946 года группа Теллера обсудила результаты расчётов и сделала вывод, что они достаточно обнадёживающе (хотя и очень приблизительно) доказывают возможность создания водородной бомбы.

На обсуждении результатов расчёта присутствовал Станислав Улам. Поражённый скоростью работы ЭНИАКа, он предложил сделать расчёты по термоядерному взрыву методом Монте-Карло. В 1947 году на ЭНИАКе было выполнено 9 расчётов этим методом с различными исходными параметрами. После этого метод Монте-Карло стал использоваться во всех вычислениях, связанных с разработкой термоядерного оружия.

Крыло
Британский физик Дуглас Хартри в апреле и июле 1946 года решал на ЭНИАКе проблему обтекания воздухом крыла самолета, движущегося быстрее скорости звука. ЭНИАК выдал ему результаты расчётов с точностью до седьмого знака. Об этом опыте работы Хартри написал в статье в сентябрьском выпуске журнала Nature за 1946 год.ПИ
В 1949 году фон Нейман использовал ЭНИАК для расчёта числа π и e с точностью до 2000 знаков после запятой. Фон Неймана интересовало статистическое распределение цифр в этих числах. Предполагалось, что цифры в этих числах появляются с равной вероятностью, а значит — компьютеры могут генерировать действительно случайные числа, которые можно использовать как вводные параметры для вычислений методом Монте-Карло. Вычисления для числа e были выполнены в июле 1949 года, а для числа π — за один день в начале сентября. Результаты показали, что «цифры в числе π идут в случайном порядке, а вот с числом e всё обстояло значительно хуже»

Программирование ENIAC


ENIAC мог быть запрограммирован на выполнение сложной последовательности операций, включая циклы, ветвление и подпроцедуры. Задача по формализации проблемы и переносу ее внутрь машины была комплексной и занимала несколько недель. После того как задача была описана на бумаге, надо было поработать над переключателями и кабелями. Пару дней. Потом шел процесс верификации и дебаггинга, пошагово выполняя программу. Программа вычисления остатка от деления на эмуляторе показывает как это было.

image
Посмотреть полный алгоритм

Девушки


image

Работа девушек изначально была засекречена, но потом мир узнал о красавицах.

image

Ruth Lichterman и Marlyn Wescoff


image
Ruth Lichterman (присела) и Marlyn Wescoff (стоит) «вводят» новую программу в ENIAC при помощи проводов и перемычек.

Frances Spence


image
Jennings и Frances Spence

Kathleen «Kay» McNulty Mauchly Antonelli

image

Jean Bartik


image

Бартик описывает первую публичную демонстрацию ENIAC:

«День, когда мир узнал про ENIAC был самым восхитительным днем моей жизни. Демонстрация была невероятной. ENIAC вычислял траекторию быстрее, чем скорость пули. Мы раздавали копии вычислений в тот же момент, как они запускались. ENIAC был в 1000 раз быстрее любой машины на тот момент. Со всеми вспыхивающими лампочками, это было ток впечатляюще видеть насколько быстро происходят вычисления.»


Позже, Бартик стала частью группы, которая проапгрейдила ENIAC до уровня «Stored-program computer». Программа хранилась в электронной памяти компьютера, а не «в кабелях и перемычках».
После войны она помогала разрабатывать BINAC (первый коммерческий цифровой компьютер) и UNIVAC I.

Вспоминая годы работы с Eckert and Mauchly, она описывает их маленькую рабочую группу компьютерных инженеров как «техно-Камелот» («technical Camelot»).

image
Jean Bartik (справа) и Kay McNulty Mauchly Antonelli (слева) подруги на всю жизнь.

Betty Holberton


«У меня была фантастическая жизнь. Все, что я делала, было началом чего-то нового»


image Именно Бетти мы обязаны серо-бежевым компьютеров, это она убедила инженеров отказаться от черных цветов. Она приложила руку и к созданию клавиатуры.

Она была одна из тех, кто написал первую generative programming system (SORT/MERGE), и написала первый пакет для аналитики и статистики, который использовался в переписи населения США в 50е.

Помогала разрабатывать C-10, который стал прототипом современных языков программирования.

Принимала участие в разработке ранних стандартов COBOL и FORTRAN вместе с Грэйс Хоппер.

Однажды Бэтти удалось убедить Джона фон Нейманна добавить кнопку «stop instruction». Поначалу он отнесся к этой идее скептично, но в итоге признал необходимость такой функции.

пруф
4bac1b12bcb1481a80fdb5a2d8664397.jpg

Сегодня у Бетти день рождения.
fa43b46f1e4648a793a279640ec52b5d.jpg

P.S.
В 2016 вышла 20-ти минутная документалка, стоит она 5 долларов, вот можно глянуть трейлер.

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

Я постараюсь докопаться до первоисточников IT-технологий, разобраться, как мыслили и какие концепции были в головах у первопроходцев, о чем они мечтали, каким видели мир будущего. Для чего задумывались «компьютер», «сеть», «гипертекст», «усилители интеллекта», «система коллективного решения задач», какой смысл они вкладывали в эти понятия, какими инструментами хотели добиться результата.

Надеюсь, что эти материалы послужат вдохновением для тех, кто задается вопросом, как перейти «от Нуля к Единице» (создать что-то, чего раньше и в помине не было). Хочется, чтобы IT и «программирование» перестали быть просто «кодингом ради бабла», и напомнить, что они задумывались как рычаг, чтобы изменить методы ведения войны образование, способ совместной деятельности, мышления и коммуникации, как попытка решить мировые проблемы и ответить на вызовы, вставшие перед человечеством. Как-то так.

0 марта. Сеймур Пейперт
1 марта. Xerox Alto
2 марта «Позвоните Джейк». История NIC и RFC
3 марта Грэйс «бабуля COBOL» Хоппер
4 марта Маргарет Гамильтон: «Пацаны, я вас на Луну отправлю»
5 марта Хеди Ламарр. И в кино обнаженной сняться и во врага торпедой пульнуть
7 марта Великолепная шестерка: девушки, которые термоядерный взрыв рассчитывали

© Habrahabr.ru