Сама по себе концепция цифрового компьютера в современном его понимании была придумана более 200 лет назад, если не раньше. Но первые попытки реализации идеи на механической элементной базе Чарльзом Бэббиджем показали, что даже в простейшей версии конструкция получалась настолько дорогостоящей и ненадёжной, что тогдашние правительства не стремились выделять деньги на такие развлечения учёных. Потому и застопорилось это дело более чем на век, хотя механизация различных вычислений весьма быстро распространялась, поскольку в некоторых областях такие потребности были.
И только необходимость создания оружия Судного Дня привела к тому, что вопрос сверхсложных и сверхбыстрых вычислений со сверхвысокой точностью стал важнейшим. Точнее, важнейшим для двух мировых держав или для двух политических систем (кому как больше нравится) было овладеть атомной бомбой как самым мощным оружием в мире. И хотя вычисления только инструмент для получения искомого, даже на него участники атомной гонки стали отпускать любые деньги и материалы.
Но создание первых атомных бомб происходило, так сказать, на «компьютерах» предыдущего технологического уклада. Перейдем к свидетельствам тех лет.
СССР
Главным «решателем», «думателем» и «вычислителем» по советской атомной бомбе был физик-теоретик Лев Ландау. Академик Халатников вспоминал о нём: «В декабре 1946 года меня перевели из аспирантов в младшие научные сотрудники, и Ландау объявил, что я буду заниматься вместе с ним атомной бомбой. В это время в теоротделе Ландау было всего два сотрудника: Е. М. Лифшиц и я. Задача, которую поручил нам Ландау, была связана с большим объёмом численных расчетов. Поэтому при теоротделе создали вычислительное бюро: 20-30 девушек, вооруженных немецкими электрическими арифмометрами, во главе с математиком Наумом Мейманом».
Декабрь первого послевоенного года. Три физика-теоретика, один математик, 20-30 девушек, вычислительное бюро и трофейные немецкие арифмометры - романтика! Хотелось бы быть молодым советским физиком в те годы! Обратите внимание на лёгкость происходящего: Ландау поставил задачу - раз; для её решения требуется масса вычислений - два; в теоротделе появляются 20-30 новых сотрудниц с арифмометрами - три. К тому же всем нужны зарплаты, жильё, соцпакет и прочее. И это в голодные послевоенные годы!
У академика Халатникова хорошая память. Вот как организовывали вычислительные бюро на правительственном уровне в 1948 году уже в других институтах АН СССР (вычислительное бюро Института физических проблем, где работал Халатников, на тот момент уже вовсю считало бомбу и разделение изотопов):
Изпостановления СМ СССР № 1990- 774сс/оп«О дополнительных заданиях по плану специальных научно-исследовательских работ на 1948 год» (г. Москва, Кремль 10 июня 1948 г. Сов. секретно):
«...разрешить президиуму АН СССР увеличить штаты и соответственно фонд заработной платы в Математическом институте АН СССР на 12 чел., в Ленинградском филиале Математического института АН СССР на 15 чел., в Геофизическом институте АН СССР на 30 чел.). Обязать Министерство внешней торговли (т. Крутикова) в месячный срок поставить 60 счетных электрических автоматических машин «Мерседес Эвклид Р-38 С. М.» (за счет сокращения поставки их Министерству торговли СССР), в т. ч.: Математическому институту АН СССР - 20 машин, Ленинградскому филиалу Математического института АН СССР - 10 машин, Геофизическому институту АН СССР - 30 машин. Председатель Совета Министров Союза ССР И. Сталин».
Как хорошо совпадают цифры (на 57 новых сотрудников - девушек же! - 60 счётных машин) и как жесток «тиран» (торгаши со своим госпланом идут лесом, на счётах переморщатся баланс сводить, а арифмометры - в Академию наук!). А поскольку постановление секретное, то Минторг, возможно, еще и возмущался тогда.
Вот так выглядел этот самый «Мерседес» без колёс. Никак не скажешь, что на нём можно посчитать дифференциальное уравнение второго порядка в частных производных. А считали-то и покруче уравнения!
Mersedes R38 SM
Неплохие деньги тогда получали эти девочки-расчётчицы.
Из того же постановления: «Установить за выполнение в срок теоретических и расчетных работ, указанных в данном Постановлении, следующие премии: за теоретические работы научному руководителю - 100 тыс. руб.; коллективу сотрудников - 200 тыс. руб.; за расчетные работы научному руководителю - 100 тыс. руб.; коллективу сотрудников - 300 тыс. руб.»
Просто за выполнение работы в срок - премия в 300 тысяч рублей на коллектив в 15-20 человек. Неплохо зарабатывали «живые ЭВМ» в то время (средняя зарплата в 1948 г. была около 600 рублей)!
Водородную бомбу считали примерно так же. Из воспоминаний об академике Харитоне:
«Мне было предложено организовать группу из математиков и вычислителей для отдела И. Е. Тамма, куда входил и А. Д. Сахаров. Предстояло рассчитывать "слойку" Сахарова. Для решения этой задачи требовалось привлечение довольно «высокой» математики и проведение колоссального количества вычислений. В то время мы не имели быстродействующих ЭВМ, расчёты проводились вручную на электромеханических машинах «Mersedes» и «Rheinmetall», с использованием американских таблиц элементарных и специальных функций. Подходящих специалистов, математиков и вычислителей наши вузы и техникумы не готовили. По инициативе Юлия Борисовича было решено привлечь в качестве вычислителей молодых женщин - опытных геодезистов-вычислителей, в основном из Ленинграда. В результате к весне 1951 года мы имели группу, насчитывающую около 40 человек. Была создана как бы "живая ЭВМ"; Юлий Борисович Харитон много внимания уделял созданию этой группы».
И снова: физики, математики, девушки, арифмометры и термоядерная бомба. И ведь бахнуло, как надо!
Арифмометры Rheinmetall.
Rheinmetall SAL
Rheinmetall KELR
Но к середине 50-х уже не одними арифмометрами и девушками считали. В контексте термоядерного проекта мне попадались упоминания применения аналоговых вычислительных машин (АВМ) МН-2 и цифровых (ЦВМ) линейки «Урал». Но эту тему я постараюсь осветить подробнее в следующий раз.
А что в США?
Кто-то может сказать: «А в это время в передовой Америке...» Да, в Америке, конечно же, компьютеры, лазеры, звёздные войны и кока-кола. Вот как, описывая свою работу в Лос-Аламосе, шутил по поводу расчетов американской атомной бомбы мистер Фейнман в своей известной книге: «...Проблема, над которой я работал, была вот какой. Нам приходилось делать множество вычислений, и мы делали их на счетных машинах Маршана. Между прочим, это интересно - просто чтобы дать представление, на что был похож Лос-Аламос. У нас были "компьютеры" Маршана - ручные арифмометры, калькуляторы с числами. Нажимаешь на них, и они умножают, делят, прибавляют и т.д., но не так легко, как это делается сейчас. Это были механические приспособления, часто ломающиеся, их то и дело приходилось отсылать на фабрику для починки. Довольно быстро все оставались без машинок...
Ну, в общем, мы все решили, что самая главная задача - понять точно, что именно происходит во время взрыва бомбы, чтобы можно было точно указать, сколько выделяется энергии и т. д., - требовала намного больше выкладок, чем мы могли делать. Но один умный человек по имени Стэнли Френкель сообразил, что вычисления, возможно, удастся сделать на машинах IBM. Компания IBM выпускала машины для бизнеса - устройства для сложения, называемые табуляторами, и машины для умножения - мультипликаторы, в которые можно было закладывать карточки: машина считывала два числа с карточки и умножала их. Были также устройства, которые сличали числа, сортировали их и т. д.
И вот Френкель придумал замечательную программу. Если бы мы собрали довольно много таких машин в одной комнате, то мы смогли бы взять карточки и запустить их по циклу. Всякий, кто сейчас делает численные вычисления, знает точно, о чем я говорю, но тогда это было нечто новое - поточная линия из вычислительных машинок. Мы делали подобные вещи на машинках для сложения. Обычно продвигаешься шаг за шагом, проводя все выкладки самостоятельно. Но здесь всё не так - сначала обращаешься к "слагателю", затем к "умножителю", опять к "слагателю" и т. д. Одним словом, Френкель спроектировал такую систему и заказал калькуляторы в компании IBM, поскольку мы поняли, что это хороший способ решения наших проблем...
В данном конкретном случае мы разработали все численные операции - предполагалось, что их будут делать машины - множь это, потом сделай это, потом вычти это. Мы разработали программу, но у нас пока не было машин для реальной проверки. Поэтому мы посадили в комнату девушек и снабдили каждую калькулятором Маршана: одна была "умножителем", другая - "слагателем". Еще одна возводила в куб: всё, что она делала, - возводила в третью степень число на карточке и отправляла её следующей девушке.
Так мы прошли по всему циклу, пока не "вылизали" его, не избавились от всех скрытых ошибок. Оказалось, что скорость, с которой мы теперь были в состоянии вычислять, стала чертовски большой - намного больше, чем при другом способе, когда каждый человек все шаги проделывал сам. По этой системе мы получили скорость вычислений, совпадающую с предсказываемой скоростью для машины IBM. Единственная разница состояла в том, что машины IBM не уставали и могли работать в три смены. А вот девушки через некоторое время уставали».
Ручная механическая машина Маршана выглядела тогда так:
Еще были электрические, но ведь «девушки уставали», по-видимому, ручки крутить.
Получается, у американцев первую бомбу считала та же самая «живая ЭВМ» из девушек и арифмометров (ручных) Маршана. Еще у Фейнмана в книге много интересного про параллельные вычисления, ловлю багов и даже про «компьютерную болезнь» у Стенли Френкеля. Айтишникам однозначно почитать стоит!
Но, в целом, развитие ЭВМ под атомные проекты в США по понятным причинам опережало СССР. Уже в манхеттенском проекте появились компьютеры IBM Mark I. А свою термоядерную бомбу американцы частично считали уже на ENIAC. Правда, это не очень помогло им опередить СССР с созданием готового к применению термоядерного устройства.