Параллельный мир суперкомпьютеров
| Ни слова в энциклопедии | Говорили, что мы психи | Ракетный щит Весной были озвучены как минимум две грандиозных инициативы российских ученых по разработке собственных (а не купленных за рубежом) суперкомпьютеров. Одна из них кажется более реальной: она касается модернизации уже существующего в МГУ «Ломоносова» производства компании «Т-Платформы». Сейчас выдающийся россиянин из деревни Холмогоры Архангельской губернии с его производительностью 0,35 Пфлопс занимает 13-е место в мире (согласно июньскому-2010 списку Top500). Примерно трех–четырехкратное увеличение производительности, которое, по уверениям разработчиков, обойдется в 900 млн рублей, позволит вывести «Ломоносова» на вторую–третью строчку мирового рейтинга. Вторая инициатива больше смахивает на аферу, но автор никого не хочет обвинять априори: как говорится, поживем – увидим. Речь идет о 65 млн рублей, которые в апреле выманил президент РАНЮрий Осипов у Владимира Путина «на развитие суперкомпьютера принципиально нового типа». Вызывает сомнения прежде всего сам размер запрошенных средств: для начинания такого масштаба – при, как быстро выяснилось, еще не существующем в «железе» прототипе и даже не выбранном на тот момент окончательно варианте архитектуры – сумма порядка $2 млн представляется смехотворной. Между тем в СССР к строительству «суперов», в отличие от массовых компьютеров, подходили со всей возможной серьезностью. Оборонные нужды оказавшегося втянутого в гонку вооружений государства не позволяли принимать в рассмотрение даже экономические соображения – те самые, что заставили в гражданской области перейти на копирование IBM/360. ПАРАЛЛЕЛЬНЫЙ МИР СУПЕРКОМПЬЮТЕРОВ Говоря о советских суперкомпьютерах, прежде всего вспоминают широко распиаренную БЭСМ-6 разработки ИТМиВТ под руководством Сергея Алексеевича Лебедева. Машина второго поколения (на дискретных транзисторах) была сравнима с современными ей (1966–1968 год) «американцами» (CDC 6600) по производительности (1 млн операций в секунду), и далеко обходила даже более совершенный Illiac-IV (1965) по соотношению производительность/стоимость «железа». Второй знаменитый советский «супер», разработку которого С.А.Лебедев отстоял в условиях начинающейся монополии «Единой Серии», был «Эльбрус-1», сданный в эксплуатацию довольно поздно: лишь в 1980 году. Это была машина уже третьего поколения (на ТТЛ-микросхемах) – суперскалярная, с возможностью многопроцессорной конфигурации и производительностью до 15 млн оп/с. Все эти машины имели двойное назначение: гражданское и военное (как, впрочем, и большинство хайтековских новинок советских времен), – и потому стали хорошо известны. Но из-за режима секретности, переходящего в советских условиях все рамки разумного, лишь в 1990 году стало известно о существовании целого параллельного мира суперкомпьютеров, предназначенных чисто для военных целей: в первую очередь, для ракетно-ядерного щита. Машина М-10, о которой здесь пойдет речь, была разработана в 1971 году. Но отдельные ее экземпляры, несмотря на смену эпох в электронике, продержались в эксплуатации, как минимум, до конца тысячелетия и, совсем не исключено, кое-где работают и до сих пор. НИ СЛОВА В ЭНЦИКЛОПЕДИИ У главного героя этого очерка Михаила Александровича Карцева при жизни было достаточно недоброжелателей. Кроме того, он был «засекречен» как директор оборонного предприятия НИИВК («НИИ вычислительных комплексов»). Поэтому Карцев при жизни был обойден академическими званиями, и лишь спустя десять лет после его смерти основанный им НИИВК получил его имя. В популярной «Википедии» нет даже статьи о нем, как, впрочем, и о сконструированных им машинах (кроме поздней разработки М-13). Танкист Карцев прошел всю войну и, как рассказывают его потомки и сотрудники, очень не любил вспоминать это время. В 1947 году он демобилизовался и поступил в МЭИ на радиотехнический факультет. Еще будучи студентом, он принял участие в разработке одной из первых советских ЭВМ – М-2 – под руководством И. С. Брука. В конце 1950-х он возглавил разработку ЭУМ («электронной управляющей машины») М-4, специально предназначенной для нужд радиолокационного комплекса, разрабатываемого в Радиотехническом институте АН СССР под руководством академика А. Л. Минца. В 1967 году лаборатория, которой руководил Карцев, была выделена в отдельный институт (НИИВК). В 1969 году Совмин принял решение о построении машины нового поколения М-10 – на основе не пошедшего в производство вычислительного комплекса М-9. ГОВОРИЛИ, ЧТО МЫ ПСИХИ Несомненно, секретность играла на руку Карцеву и его коллективу: даже немногие причастные к его разработкам из числа академиков и руководящих инженерных работников высказывали сомнение в том, что вся эта затея оправданна. На совещании, состоявшемся накануне принятия решения, Лебедев высказался решительно против многопроцессорности в начатой им разработке «Эльбруса». Он сделал ставку на максимальное быстродействие в однопроцессорном варианте (жизнь, впрочем, рассудила иначе). Но в защиту разработки Карцева выступил Глушков, и в результате были одобрены оба варианта. Это и были две самые крупные разработки, которые велись в стране в 1970-е годы вне рамок «Единой Серии». Сомнения же вызывала чисто техническая сложность системы: сам Карцев вспоминал: «Нам говорили, по правде сказать, что мы психи, что нельзя собрать воедино такую груду металла, что все это никогда не заработает». В БЭСМ-6, к примеру, входило 60 000 транзисторов и 1,2 млн ферритных сердечников-колечек (применявшихся тогда в качестве ячеек ОЗУ). А в М-10 одних дискретных транзисторов было 400 000, 40 млн ферритовых колечек диаметром 1 мм (они тогда «прошивались» проволочками вручную!), и еще около 700 000 совсем еще непривычных микросхем. Воспитанные на ненадежной ламповой технике, когда время непрерывной работы до отказа составляло часы (например, у одной из первых отечественных ЭВМ «Стрела» – 16 часов), советские конструкторы старались минимизировать аппаратную часть. И немало в этом направлении преуспели. Но Карцев, вероятно, первым в полной мере оценил возможности новой элементной базы, и время показало, что он был прав: среднее время безотказной работы М-10 составило 90 часов. Это очень высокий показатель по тем временам для структуры подобной сложности; для сравнения: у американской Cray-1, реализованной полностью на микросхемах, среднее время наработки на отказ составляло 50 часов. М-10 – это многопроцессорная машина с высоким параллелизмом процесса вычислений: все команды разными процессорами выполнялись в одном такте. Другим новшеством, которое применил Карцев, было двухуровневое ОЗУ – то, что мы теперь называем кэш-памятью. Память первого уровня составляла 0,5 Мбайта, и еще столько же было отведено под ПЗУ со сменными металлическими перфокартами. Память второго уровня («большая», как ее называли разработчики) была размером 4 Мбайта с произвольной адресацией. Отдельно стоит упомянуть о микросхемах: это были чипы ДТЛ серии 217 с плотностью упаковки всего несколько вентилей на кристалл (оттого их было так много). Позднее (в модификации М-10М, 1975) в устройствах памяти также применили микросхемы, что позволило резко сократить ее физический объем. Но все равно даже М-10М занимала 200 кв.м площади, и потребляла 66 кВА электроэнергии. РАКЕТНЫЙ ЩИТ О стоимости всей этой конструкции можно только догадываться. Удивительно другое: весь цикл от передачи заводу-изготовителю опытно-конструкторской документации до окончательных испытаний первого образца занял всего два года: с августа 1971 года до сентября 1973 года. Практически сразу приступили и к серийному производству – темпы, непривычные для советской реальности. Тот же «Эльбрус-1», куда менее громоздкий, проектировался десять лет, если считать с момента зарождения проекта до официальной приемки. Если сравнивать М-10 с современными ей аналогами, то ее официальное быстродействие (5,1 млн операций в секунду) еще ни о чем не говорит: по свидетельству Б.Н.Малиновского, в некоторых типах задач (для которых машина и была предназначена) производительность ее составляла 20–30 млн оп/с. К началу 1980-х, времени ввода в эксплуатацию «Эльбруса», М-10 была самой быстродействующей машиной в СССР. По оценкам Института прикладной математики АН СССР, она обгоняла БЭСМ-6 в 3,6–4,6 раза, а ЕС-1060 – в 3–5,6 раза. На некоторых задачах М-10 обходила даже «Эльбрус-1», имеющий официальную производительность в три раза больше. Что же касается американцев, то выпущенный почти одновременно знаменитый Cray-1 (1974), также векторный компьютер, имел официально производительность примерно в 35 раз большую (из-за более совершенной элементной базы). Но он уступал советской разработке по ряду архитектурных особенностей. Например, в М-10 приходилось от 0,9 до 5,3 такта на операцию, а в «Крэе» – от 0,7 до 27,6. Всего было выпущено около 50 комплектов М-10, и почти все они были связаны в мощную вычислительную сеть «Системы предупреждения о ракетном нападении». Но Карцев также настоял на том, чтобы частично рассекретить сведения о существовании машины и предоставить ее мощности для проведения научных расчетов. В результате, по его инициативе, как пишет Малиновский, «на М-10 были проведены особо сложные научные расчеты: по механике сплошной среды (в 40–45 раз быстрее, чем на ЕС-1040), по моделированию плазмы (в 20 раз быстрее, чем на БЭСМ-6, для вариантов, помещающихся в ОЗУ БЭСМ-6, и в сотни раз быстрее для реальных вариантов). Впервые в мире на модели получены данные по явлению коллапса в плазме, чего не удалось сделать на СДС-7600 в США». Ну а потом была еще М-13 – лебединая песня Карцева, скончавшегося в 1983 году. А потом случилось то, что случилось. Но об этом – в следующий раз.