Трагедия советской информатики?
Размышления об одном государственном решении
The greatest American victory in the cold war
E. Dijkstra
Продолжение предыдущего бреда
Выбор архитектуры IBM System/360 в качестве образца для разработки ЕС ЭВМ очень многими рассматривается как катастрофа, трагедия или нечто роковое.
Малиновский: "трагические для отечественного математического
машиностроения последствия принятого решения"
Липаев: "Это привело ... к роковому для отечественной информатики копированию разработок и программ фирмы IBM"
Нариньяни: "решающий шаг на пути к современному кризису был сделан около 15‑и лет назад, когда было принято решение о прекращении развития оригинальных советских линий ЭВМ".
Подобные высказывания звучат из уст разных лиц, многие из которых являются заметными фигурами в истории советской вычислительной техники.
При оценке исторических поворотов, думаю, надо различать суждения a priori и a posteriori, сделаные на основе знаний прошлого и знаний последующего времени.
Оценка a priori
Эту оценку я делаю на основе того материала, который был сделан в предыдущем бреду.
1. На государственном уровне осознана необходимость создания системы ЭВМ, объединённых общим ПО, которую можно было бы производить в массовом порядке.
2. В США очень много программистов (50 тыс.), у нас- 5 тыс, что делает преспективы разработки своего массового ПО маловероятным.
3. Работы поручены передовому в СССР ИТМиВТ.
4. В ИТМиВТ не выказывыют особого восторга, не бросаются проектированать новую систему ЭВМ.
5. Через год другая организация (КБПА) предлагает свой "американский" аванпроект, который принимается министерством.
6. В это время со стороны "уральцев" или "лебедевцев" идёт критика этого проекта. Никакие альтернативные предложения не поступают.
7. Начинается проектирование машин системы.
8. Появляется альтернативный ("английский") проект, за который высказываются многие организации. В этом проекте принимается тот же набор команд (кроме привилегированных), что и в "американском". Преимущество нового проекта в том, что мы будем иметь больше информации по "английским" машинам.
9. Через полтора года после начала работ собирается совещание, где предпринимается последняя и неудачная попытка перенаправить работы в "английский" вариант.
Если поставить себя на место министра радиопромышленности, то решение, по-моему, очевидно. Сначала был выбор между предложением и критическим отсутствием предложений, а потом был выбор между двумя почти одинаковыми проектами, один из которых выполнен на 70%, а другой пока был в виде предложений.
К этому ещё можно добавить в свете обсуждемой проблемы, что никакого отечественного проекта единой системы предложено не было.
Дискуссия шла сначала по линии критики серии ИБМ-360, а затем по линии предпочтения английского варианта той же серии по причине наличия документации.
"Английский" вариант отнимает у высказываний, которые делались в 1966-1968 гг. об устаревшей или неудачной американской машине, всякую убедительность.
Замечу, что вообще для утверждений тех лет о "не самой удачной" архитектуре, о "моральном устаревании", о "ряде недостатков" я не могу найти никаких серьёзных подтверждений. Я не знаю ничего о том, что за период с 1965 г, когда появились новые ИБМ, и 1967-68 годами, когда писали об их устаревании, появились какие-то радикально новые архитектурные идеи. Мне кажется, что такие утверждения были всего лишь, мягко говоря, полемическим приёмом.
Таким образом, a priori можно сказать, что решение об использовании американской архитекутры было вынужденным. Лучших решений на тот момент просто не было.
Оценка a posteriori специалистов
Приведу мнения уважаемых людей, высказанные сильно позже событий 1965-1968 года.
А.С. Нариньяни пишет [1] в 1985 г., что последствия решения 1965-1968 гг. такие:
1. «Запланированное» отставание, - даже покупка готовой технологии обеспечивает разрыв в 3-5 лет....
2. Отсутствие оригинальных разработок и деквалификация кадров, - практически все аппаратные разработки последние 15 лет ориентированы на прототипы.
3. Отсутствие перспективы: основные копируемые семейства ЭВМ морально устарели и закрыты на Западе, соответствующие советские серии имеют «в запасе» 3-5 лет, обеспеченные их отставанием, далее - тупик.
4. Отсутствие мощных современных машин, - основная советская серия ЕС копирует одну из наиболее неудачных линий американских ЭВМ, в наших условиях она особенно сложна и ненадёжна в эксплуатации: оригинальная БЭСМ-6, созданная 20 лет назад, по большинству эксплуатационных параметров не уступает последним моделям ЕС ЭВМ.
Б.Н. Малиновский пишет в 1995 г. [2]:
"Негативные, а скорее - трагические для отечественного математического машиностроения последствия принятого решения, исполнение которого потребовало огромных трудовых и материальных затрат, подтвердилось исследованием, проведенным в 1991 г. Б.И. Рамеевым в его бытность в ГКНТ при СМ СССР....
По данным Госкомитета СССР по последней переписи на 1.01.89 г. парк ЭВМ на базе процессоров общего назначения составлял 13613 шт... парк ЭВМ общего назначения состоит из:
24,9% ЭВМ технического уровня 1965 г. (ЕС-1022);
12% различных ЭВМ выпуска 1965-1970 годов;
13,6% ЭВМ технического уровня 1971 г. (ЕС-1033, ЕС-1055);
36% ЭВМ технического уровня 1973-1978 годов (ЕС-1035, ЕС-1036, ЕС-1045,
ЕС-1046, ЕС-1060, ЕС-1061);
13,5% другие ЭВМ технического уровня 1971-1980 гг. (23 разные модели ЕС
ЭВМ, АРМы на базе ЕС ЭВМ, импортные ЭВМ)...
Таким образом, структура парка ЭВМ на базе процессоров общего назначения по техническому уровню характеризуется так: 50% парка состоит из ЭВМ, которые по техническому уровню отстают на 20-25 лет; 49% - более чем на 10-15 лет...
На эксплуатацию устаревших средств вычислительной техники и информатики тратятся кадровые, финансовые и материальные ресурсы, не адекватные тому технико-экономическому эффекту, которое они дают. Так, убытки только из-за простоев по техническим причинам (низкой надежности) вычислительных систем и ЭВМ в парке страны составили в 1989 г. порядка 500 млн. рублей. Таковы экономические и технические последствия для страны волевого решения о копировании IBM-360."
В.В. Липаев пишет в 2003 г.:
"Этап оригинального развития вычислительной техники в СССР пошел на спад в конце 1970-х годов, когда было принято решение о переходе к производству и использованию ЭВМ, которые являлись прототипами моделей западных образцов - IBM 360 и PDP. Руководители высшего управленческого уровня не понимали уже освоенных в стране методов и технологий программной инженерии, направленных на создание сложных комплексов программ. Они видели, что на Западе имеется программный продукт, который "без особого трудя" можно нелегально копировать и использовать, если наладить производство аппаратуры ЭВМ с соответствующей архитектурой. В угоду приоритету ЕС ЭВМ были оборваны и прекратили существование отечественные линии проектирования и производства семейств универсальных вычислительных машин, в частности, БЭСМ-6 и "Урал". Освоение зарубежных операционных систем, СУБД, прикладных и технологических программ для этих типов машин подорвало оригинальную, отечественную школу программирования и сориентировало ее на заимствование и адаптацию готовых, как правило, неизвестного качества, зарубежных программ."
К сожалению, многое из написанного напомнило мне критику Т.Д.Лысенко тем, что уважаемые люди позволяют себе высказывать ничем не подкреплённые суждения.
Что, например, следует из статистики, выполненной Рамеевым и приведённой Малиновским? Только то, что ЭВМ в СССР в 1989 г. были во многом устаревшие. Причём тут копирование ИБМ? Что нам мешало копировать новые разработки? И сколько старых ЭВМ было в США на тот момент?
В.В. Липаев напрасно обвиняет руководство в непонимании методов программной инженерии. Я не уверен, что такие принципы вообще надо понимать руководству. Кроме того, руководство, как можно было видеть, только ставило стратегическую задачу и принимало предложения, коих было ровно одна штука.
Далее, неверно, что прекратили существование отчественные линии.
Линия БЭСМ-6 продолжилась уже в 1973 г., когда начали разрабатывать "Эльбрус". Линия "Урал" в лице Рамеева собиралась ориентироваться на ICL, и я сомневаюсь, что это можно было назвать оригинальным путём. Продолжением Минск-а (не в архитектурном, конечно, смысле) как раз и была ЕС ЭВМ.
Минск-32, разработан был в 1968 г. и производилс до 1975 г.
А весь остальной зоопарк советских ЭВМ должен был умереть при любом проекте единой системы. В этом как раз и состоял смысл государственного решения по разработке унифицированной системы машин.
По п. 3 Нариньяни я могу сослаться на [4], где в 1985 г. мейнфреймов было произведено на сумму 11,8 млрд. долл., а миникомпьютеров - на 11,7 млрд. долл. Хотя по количеству (10,9 тыс. против 190,8 тыс.) сопоставить сложно (началась эра ПЭВМ), но о "закрытости" архитектуры (а в 1985 это IBM-370) говорить не приходится.
Разработчики ЕС ЭВМ смотрят на произошедшее иначе.
В ответ на ругательную статью Ю. Ревича «Неизвестные ЭВМ» в газете "Известия" от 11.07.2000. вышла статья [5], в которой конструктор ЕС ЭВМ первой серии В.В. Пржиялковский возражает следующим образом:
Отрицательная оценка периода истории советской информатики 70-х "является неверной в принципе, потому что делается только с точки зрения оригинальности аппаратной архитектуры ЭВМ, тогда как роль и место вычислительной техники определяются значимостью и масштабом ее применения для решения народно-хозяйственных и оборонных задач... Отставание ... было ...драматическим, потому что суммарный годовой выпуск всех типов ЭВМ (а их насчитывалось более 20) в СССР составлял всего около тысячи штук, что никак не могло удовлетворить потребности народного хозяйства и обороны страны." Именно две системы ЕС ЭВМ и СМ ЭВМ "составили основу развития отечественной промышленности вычислительной техники, переоснащения действующих и строительства новых заводов для организации крупносерийного специализированного производства универсальных и управляющих ЭВМ. ... В 70-х и 80-х годах СМ ЭВМ и ЕС ЭВМ в совокупности составляли основную техническую базу для построения автоматизированных систем управления в промышленности и непромышленной сфере СССР...
программная совместимость на уровне аппаратной архитектуры семейств ЭВМ третьего поколения была основным решением, принятым во всем мире. Цель обеспечить программную совместимость ЕС ЭВМ и СМ ЭВМ с наиболее распространенными на Западе компьютерами, архитектуры которых стали стандартами де-факто, была вполне оправданной. Совместимость обеспечивала возможности сотрудничества организаций, занимавшихся применением ЭВМ, обмен прикладным и системным программным обеспечением. "
Неверно утверждение Б. А. Бабаяна о том, что с организацией НИЦЭВТ наступил критический этап развития отечественной вычислительной техники, так как были расформированы все творческие коллективы и закрыты конкурентные разработки. Однако в действительности ничего подобного не было.
В частности, ИТМиВТ имел возможность разрабатывать супер-ЭВМ "Эльбрус-1", "Эльбрус-2", "Эльбрус-3". Никто ему не запрещал это делать. Более того, разработка и производство "Эльбруса" были активно поддержаны министром радиопромышленности СССР В. Д. Калмыковым.
Для производства "Эльбруса-2" был выделен один из лучших заводов Минрадиопрома - Загорский электромеханический завод. Этот завод, кстати, в 80-х годах выпускал векторную ЭВМ М-10 с архитектурой широкого командного слова (VLIW) и векторно-конвейерную ЭВМ М-13, разработанные НИИ вычислительных комплексов под руководством М. А. Карцева, который первым предложил у нас архитектуру VLIW. Более того, он реализовал ее в серийной машине.
Возвращаясь к "Эльбрусу-2", следует сказать, что этих машин было выпущено около 30, а десятипроцессорных с производительностью 125 млн. операций в секунду - всего три.
Иначе говоря, создание ЕС ЭВМ некоторым образом решило проблему обеспечения народного хозяйства вычислительными средствами. Нужно было много машин, их стали делать, а ПО взяли из-за рубежа. Точно также поступали во всём мире.
Нельзя обойти и ещё одно высказывание, которое часто приводят противники решения о воспроизведении американской серии. Принадлежит оно Э.Дейкстре и оригинальный кусок этого высказывания я привёл в эпиграфе.
Вообще мало уважения заслуживают аргументы, которые ссылаются на всякие фразы. Мало ли что сболтнул тот или иной великий человек. И контекст важен. Дейкстра был, наверно, гений, но склонный на пару с Виртом к резким выпадам по разным поводам. Оригинал речи Дейкстры можно найти в [9]. Можно видеть, что эта фраза вовсе не итог раздумий, а просто краснобайство. К тому же Дейкстра говорил о том, как вредно уничтожать разнообразие и корил немцев за стандартизацию Алгола.
Десятикратное отставание
Следует заметить, что информатика - это прикладная сфера. Если от астрономов не ждут профита, то разработчики вычислительной техники нужны людям именно потому, что могут принести явную пользу.
Решение о выборе американской архитектуры - это очевидно полезное решение, возражения против которого в пользу несуществующей отечественной архитектуры выглядят абстрактными. Да, абстрактно говоря, лучше (в случае СССР), чтобы архитектура и вообще всё было нашим.
Но пользователям ЭВМ архитектура неинтересна. Для решения реальных задач важно, чтобы архитектура была пригодной для их решения и более ничего. Пригодность американской архитектуры была хорошо доказана практически.
Другое дело, творчество. Ведущим разработчикам было бы интересно придумать свой велосипед, но их поставили в рамки. Это вызвало естественное отторжение, которое со временем превратилось в форму некоторого кликушества, на которое была падка определённая часть советской интеллигенции.
Мне показалось, что Лебедеву и его команде было неинтересно возиться с малыми ЭВМ для бухгалтерских расчётов. ИТМиВТ был нацелен на создание суперЭВМ, что потом и выразилось в разработке Эльбрусов.
Интерес к проекту был у Пржиялковского - конструктора самой массовой советской серии Минск - он продолжил бы решать те же задачи, что и с Минском, и, видимо, интерес был у Рамеева. Но как уже ясно, никаких оригинальных отечественных архитектур оба этих выдающихся конструктора не предлагали.
К этому надо ещё добавить, что наша радиопромышленность уже давно находилась в русле западных разработок и при этом оставала. Из [6] можно узнать, что
Первая партия ИС под названием "Micrologic" была изготовлена фирмой Fairchild Electronics в 1960 г. ...На общедоступном рынке интегральные микросхемы появились в середине 1960-х гг.... Потребности гражданской и военной промышленности год от года росли, и в результате в 1969 г. в США было произведено 350 млн. шт. ИС...
Первая отечественная полупроводниковая ИС "Тропа" с 20 элементами на кристалле являлась точной копией американской ИС серии SN-51. Она была изготовлена в 1962 г....К 1970 г. в СССР было произведено 3,5 млн. полупроводниковых ИС шестидесяти девяти серий.
У американцев был десятикратное превосходство!
Естественно, и производство самих ЭВМ тоже отставало.
Из [5] известно, что в конце 60-х "суммарный годовой выпуск всех типов ЭВМ (а их насчитывалось более 20) в СССР составлял всего около тысячи штук...
Всего за 20 лет промышленностью были поставлены для народного хозяйства и обороны страны более 16 тыс. вычислительных комплексов ЕС ЭВМ.
Всего в 70-х и 80-х годах только по разработкам ИНЭУМ промышленностью в СССР были поставлены более 60 тыс. управляющих, вычислительных и измерительно-вычислительных комплексов СМ ЭВМ."
Для сравнения с США из [4] можно узнать, что в конце 60-х годов в США производилось ежегодно более 10 тыс. ЭВМ. А с 1970 по 1990 гг. было произведено 158 тыс. мейнфреймов и 157 тыс. миникомпьютеров.
То есть объём производства мейнфреймов у нас бы почти в десять раз меньше американского как в конце 60-х - до "эпохи ЕС ЭВМ", так и во время "эпохи" в 70-х и 80-х.
Это означает, что переход к ЕС ЭВМ не сократил количественного отставания от американцев.
И я склонен утверждать, что разработка отечественной архитектуры ничего бы принципиально в этом вопросе не решила. Предполагаю, что причина отставания в объёмах производства ЭВМ заключалась в первую очередь в недостатках производства элементной базы.
Дополнительные оценки ЭВМ и программистов
К приведённым выше цифрам можно ещё добавить то, что мне не удалось найти более или менее твёрдую цифру о количестве произведённых в СССР ЭВМ, и я выше опирался на статью Пржиалковского 2000 г.
Я попытался получить эту цифру следующим образом. Я собрал со всех источников, какие нашлись, количество произведённых ЭВМ по основным моделям, к которым относятся серии ЭВМ БЭСМ, Днепр, М-20, Минск, Урал, Наири.
Объёмы производства ЭВМ в СССР
Модель ЭВМ
Год начала производства
Год окончания производства
Всего выпущено
Урал-1
1957
1961
183
Урал-2
1959
1964
139
Урал-3
1964
1964
22
Урал-4
1962
1964
30
Урал-11
1965
1975
123
Урал-14
1965
1974
201
Урал-16
1969
1969
1
Минск-1
1960
1964
220
Минск-11, 12, 14, 16
1960
1964
53
Минск-2
1963
1964
118
Минск-22
1963
1966
734
Минск-23
1966
1968
28
Минск-32
1968
1975
2889
БЭСМ-2
1958
1962
67
БЭСМ-4
1962
1966
30
БЭСМ-6
1968
1987
355
М-20
1958
1964
20
М-220
1968
1974
200
Наири
1964
1970
500
Днепр
1961
1971
500
ЕС-1020
1971
1975
655
ЕС-1022
1975
1982
3828
ЕС-1030
1973
1978
436
ЕС-1033
1976
1983
1963
ЕС-1050
1974
1978
87
ЕС-1052
1978
1980
74
Если равномерно распределить производство по годам и просуммировать объём с 1960 г. и по 1968 г. включительно, то общее количество выпущенных универсальных ЭВМ за этот срок в СССР составит 2900 шт., то есть чуть более 300 ЭВМ в год.
Полагая, что срок службы ЭВМ не менее 5 лет, то число программистов в 1969 г., названное Дороднициным (1500 чел.), представляется сомнительным. Всяко каждая ЭВМ того времени без программиста работать не могла. По нормам [7] по созданию АСУП на каждую ЭВМ приходится 6 инженеров-программистов, что даёт оценку в 15-16 тыс. программистов.
Есть ещё один способ. В [8] приводятся данные об объёме ПО для основным серий ЭВМ.
Объём ПО, строк кода
Модель ЭВМ
Время разработки, лет
Объём кода, тыс. сткро
Урал-11
3
180
Урал-14
1
490
Урал-16
4
210
Минск-22
2
840
Минск-23
2
580
Минск-32
2
320
Раздан-2
1
360
Раздан-3
4
400
БЭСМ-6
4
890
М-20
3
1220
Наири
2
550
Днепр-2
7
1020
Если всё сложить (ПО тогда было несовместимо в основном), то получится, что всего к 1968 г. было разработано 7,1 млн. строк кода. Складывая время разработки (я принимаю за него время разработки соответствующей модели ЭВМ), получим суммарно 35 лет разработки. Итого 200 тыс. строк кода в год. Принимаем число рабочих дней в году - 250 и производительность в 60-е года 0,5 команд в день [3], получим число программистов, равное примерно 1600 чел.
Это нижняя оценка, так как у Ершова не учтены многие другие машины.
А могло бы быть по другому?
Хочется, однако, задать вопрос: а могли ли мы разработать собственную архитектуру и начать производство собственных ЭВМ?
Я думаю, могли бы. Наверняка ОС была бы попроще, так как на разработку 2 млн. строк кода OS/360 у нас не было средств. Но ОС для решения реальных задач была бы, как были такие ОС для всех выпускавшихся ЭВМ. Это следует из тех цифр по объёму ПО, которые можно найти у Ершова. К тому же ясно, что в 70-х разработка была бы быстрее просто из-за роста числа программистов и накопления опыта.
Качество архитектуры было бы приемлемым. Это я заключаю из одного любопытного графика, который я построил по данным ранее производимым ЭВМ.
Использовались данные для западных ЭВМ: CDC 6600, CDC 7600, CRAY-1, NEC SX1, CRAY-2.
Для советских: Минск-1, БЭСМ-6, М-10, Эльбрус-1, Эльбрус-2, Электроника-СС.
На график выведено отношение производительности ЭВМ в МФЛОПС, делённое на тактовую частоту. Это даёт величину числа команд, выполняемых за один такт.
Вероятно, для М-10 данные были не в МФЛОПС, а в целочисленных операциях, поэтому этот показатель надо бы поделить на 4-5.
Как можно видеть, архитектура наших ЭВМ были вполне на уровне западных. Наши, однако, уступали в производительности из-за менее совершенной элементной базы.
Однако даже на той элементой базе, которая была, СССР был в состоянии производить единую серию ЭВМ собственной архитектуры и соответствующее ПО. Проблема заключается в том, что такой конкретной задачи не поставил в СССР никто.
Заключение
Значение этой сложной истории, как я думаю, было переоценено.
Во-первых, никакой катастрофы не было.
Вероятно, была трагедия отдельных коллективов, которые не смогли разрабатывать свои собственные идеи. Однако в любом случае был бы один проект, и были бы коллективы, которые работали бы над чужими идеями.
"Катастрофа" была заложена в саму идею единой системы.
Во-вторых, никакой отечественной альтернативы не было вообще.
Разговоры о том, что мы потеряли какой-то иной путь развития, абстрактны. Конкретно никакого пути никто не предлагал.
В-третьих, мы оставали от американцев "до" ЕС примерно также как и "после". Это говорит совсем о других причинах отставания, не связанных с принятием американской архитектуры.
Источники
[1] А.С. Нариньяни. О советской программе форсированного развития ЭВМ. Рабочая записка. 1985.
ссылка[2] Б.Н. Малиновский. История вычислительной техники в лицах. 1995.
ссылка[3] В.П. Липаев. Очерки истории отечетственной программной инженерии в 1940-е - 80-е годы
ссылка[4] W. Edward Steinmueller. The U.S. Software Industry: An Analysis and Interpretive History. 1995. (ссылка - где-то в сети)
[5] В. В. Пржиялковский и др. Кого и зачем вводят в заблуждение. 2000.
ссылка[6] Н.С. Симонов. Становление советской электронной промышленности (1940-1962). Взгляд историка.
ссылка[7] Общеотраслевые руководящие методические материалы по созданию АСУП. М., 1977.
[8] Ершов А.П. Об уровне математического обеспечения электронных вычислительных машин" (доклад экспертной группы). Доклад. 01.07.1968.
ссылка[9] Edsger W. Dijkstra. Trip report E.W.Dijkstra: NATO Summer School Marktoberdorf 1975.
ссылка