Бывшие сотрудники IBM, участвовавшие в компьютерном обеспечении лунной программы США, ответили на вопросы “Ъ”, как это происходило 50 лет назад.
Фото: IBM
Фото: IBM
— Какие принципиально новые задачи пришлось вам решать?
Дэвид Проктор, бывший сотрудник IBM, написавший программный код для посадочного маневра:
— Многие математические модели, использованные в ходе программы «Аполлон» и в предыдущих программах пилотируемых космических полетов, были основаны на работах немецкого астронома, математика и астролога Иоганна Кеплера, жившего в XVII веке. Он был ключевой фигурой в области исследования законов движения планет. В ходе работы над программой «Аполлон» мы должны были учитывать силу притяжения Земли и Луны, а также движущие силы. Задача осложнялась тем, что мы гораздо больше знали о земном притяжении, чем о лунном, или о влиянии физических сил на астронавтов. К числу фундаментальных проблем, с которыми мы столкнулись, относился расчет маневра сближения и маневра по выводу комплекса на отлетную траекторию к Луне. Многие из разработок были протестированы в ходе миссий, предшествовавших «Аполлону-11».
После создания математической модели ее ведь пришлось перевести на язык, понятный для компьютера. У нас получилось несколько миллионов строчек исходного кода, на тестирование которых требовались тысячи часов. Из-за ограниченной мощности бортовых компьютеров ключевые параметры маневров рассчитывались в центре управления полетом и передавались на корабль.
— Были ли такие научные трудности, которые не удалось преодолеть и пришлось искать обходные пути?
Меррит Джонс, бывший сотрудник IBM, один из руководителей проекта в программе «Аполлон»:
— Да, нам приходилось искать способы обойти ограничения, связанные с недостаточной производительностью вычислительных машин. Самый мощный серийный компьютер того времени мог обрабатывать не более миллиона команд в секунду и был оборудован памятью объемом один мегабайт. Как следствие, мы столкнулись с рядом трудностей в различных областях: расчеты тяги, аэродинамического сопротивления и возмущений, человеческий фактор, проблемы передачи информации в реальном времени, абстрактные вычисления, методика разработки программного обеспечения. Эти проблемы мы смогли решить за счет программного и аппаратного обеспечения, введения новых методик и повышения квалификации сотрудников. Свидетельством нашего успеха стала высадка на Луну. Пожалуй, наибольшую сложность представляла задача вернуть корабль на Землю. Но и ее в конечном итоге удалось решить при помощи программного обеспечения, разработанного специалистами IBM.
— А были ли задачи, которые в процессе космической операции дались вам неожиданно легко?
Дэвид Проктор, бывший сотрудник IBM, написавший программный код для посадочного маневра:
— У нас не было таких легких задач. Чтобы выполнить миссию, мы должны были приложить все силы и работать на пределе возможностей.
— Если смотреть из сегодняшних реалий, как оригинальные решения позволили обойти тогдашнюю аппаратную скудность?
Гомер Ар, бывший сотрудник IBM, работавший программистом в проекте «Аполлон»:
— Несмотря на то что наши компьютеры были самыми большими, быстрыми и мощными на тот момент, их скорость обработки данных и объем памяти, а также время на вычисления были серьезно ограничены. Мы это понимали и постоянно искали способы работы в условиях ограниченности времени и имеющихся технических возможностей.
Мы разработали много новых технологических решений, таких как система хранения параметров и система отображения цифровых и графических данных. Это позволило нам сэкономить время и ресурсы при выполнении задач.
— Как вы считаете, сейчас существуют подобного рода грандиозные задачи?
Гомер Ар, бывший сотрудник IBM, работавший программистом в проекте «Аполлон»:
— Конечно, сегодня есть огромное количество глобальных проблем в различных областях: молекулярной биологии и химии, моделировании экономических систем,— а также сложные проблемы оптимизации, например, логистических цепочек. Решение этих вопросов требует постоянного увеличения вычислительной мощности. Возможно, развитие квантовых компьютеров поможет человечеству добиться прогресса и станет ключом к новым научным открытиям, жизненно важным лекарствам и значительным социально-экономическим преобразованиям.
— Использовались ли потом разработки, которые позволили выполнить космическую задачу? Если да, то как?
Гомер Ар, бывший сотрудник IBM, работавший программистом в проекте «Аполлон»:
— Безусловно. Например, методика разработки программного обеспечения, использованная нами в ходе программы «Аполлон», зарекомендовала себя с лучшей стороны с точки зрения эффективности управления и стандартов качества. Благодаря ей нам удалось вести параллельную разработку довольно сложных, масштабных и многозадачных программных систем и при этом добиться весьма высокого уровня качества и показателей производительности. Позднее методика была принята в качестве передовой как самой компанией IBM, так и правительством США.