|
|
|||||||||||||||||||||||||||||
|
ДВЕ ТРАГЕДИИ СОВЕТСКОЙ КИБЕРНЕТИКИИсточник: malchish
ДВЕ ТРАГЕДИИ СОВЕТСКОЙ КИБЕРНЕТИКИ. ЧАСТЬ 1.
Самолёт начал снижение, до посадки всего 15 минут, как объявил первый пилот. Вид внизу совершенно напоминает марсианский ландшафт - какой-то красно-оранжевый барельеф на жёлтом фоне. Только снизившись ниже, стало понятно, что это деревья так окрашены, и вместе с пожелтевшей травой они создают такой совершенно безжизненный "песчаный" вид сверху. Осень полностью вступила в свои права, и я за неделю конференции упустил наступление этого сезона у нас в Новосибирске. Конференция же была весьма и весьма интересная. Пожалуй, самая интересная из тех, на которых я побывал. Хотя она не вполне техническая, имеет скорее гуманитарный, исторический характер. Именно поэтому, мой доклад о высокопроизводительных RISC-процессорах, которые когда-то разрабатывались в институте ядерной физики был воспринят не очень восторженно - вместо фотографий и рассказов о людях, их разрабатывавших, я слишком много ввёл в доклад технических деталей. Они сейчас уже никого не интересуют...
Но что заставило свернуть свои разработки? В тот момент, когда наши достижения не уступали американским? Я уже писал об истории введения "Единой Системы" - линии ЭВМ, копировавшей архитектуру американских компьютеров серии IBM-360. Решение о введении этой политики копирования было сделано в 1967 году, практически сразу после появления БЭСМ-6, которую я считаю самым лучшим компьютером того времени. Не только у нас в стране, но и в мире. Как по производительности, так и по оптимальности архитектуры. Это былая первая советская ЭВМ с конвейерной архитектурой, Сеймур Крей, основной конкурент Лебедева, использовал его на полтора года позже, в системе CDC-7600. И именно эта характерная черта архитектуры гораздо более влияет на производительность системы в целом, чем параллельность различных вычислительных блоков. Конечно, вопрос приоритета по достигнутой производительности очень спорный, реально производительность вычислительной системы зависит не только от архитектуры, но и от эффективности компиляторов, транслирующих программу с языка программирования в машинный код. Именно поэтому современные сравнения процессоров проводят специальными тестами. И при этом разные тесты дают ещё и разные результаты. То есть эффективность архитектуры вычислительной системы зависит ещё и от самих программ, использующих ресурсы процессоров по-разному. Однако, чисто технически, можно оценивать скорость исполнения программ по тактовой частоте процессора и структуре самого процессора, определяющей сколько тактов приходится на исполнение команд. БЭСМ-6 и CDC-6600 имели одинаковую тактовую частоту в 10 МГц, но конвейерная организация процессора БЭСМ-6 говорила о том, что его программа должна была выполняться быстрее. Косвенно наше превосходство в производительности компьютеров подтверждает история. В 1975 году, в ходе космического полёта "Союз-Аполлон", управление осуществлялось комплексом, в состав которого входила БЭСМ-6. Эта система позволяла обрабатывать данные по траектории полёта за 1 минуту, в то время как на американской стороне такой расчёт занимал 30 минут.
Однако, вопрос о приоритете тут не главный. В любом случае БЭСМ-6 была уникальной машиной, совершенно оригинальной архитектуры (хотя американцами это и не признаётся) и имевшей высочайший показатель производительности. Трагедией было то, что почти сразу после её появления в СССР было принято решение о производстве клонов IBM-360 - то есть о переходе на копирование американской архитектуры! При этом производительность этого семейства американских вычислительных машин не шло ни в какое сравнение с последними отечественными достижениями! Даже "Википедия" обсуждает данное странное решение: Как следует из сравнительно недавно (в 2005 году) обнародованных воспоминаний авторитетных представителей академической науки, значительную долю ответственности за решение о переводе советской промышленности, науки и образования к копированию ЭВМ серии IBM-360 и, соответственно, быстрому качественному сокращению поддержки отечественных разработок (в частности, БЭСМ), несут министр МРП СССР В. Д. Калмыков и Президент АН СССР М. В. Келдыш. Так, в статье директора ВЦ РАН, академика Ю. Г. Евтушенко, зам. дир. ВЦ РАН Г. М. Михайлова и др. "50 лет истории вычислительной техники: от "Стрелы" до кластерных решений" (в сборнике к 50-летию ВЦ РАН) отмечено: Копирование имеет только один смысл - как этап обучения. Когда нет собственных технологий. Сегодня Китай демонстрирует эффективность такого подхода. Но логическим концом такого подхода является всё же переход на собственные разработки. В этом весь смысл первоначального копирования. Так Китай уже начал производить автомобили собственной конструкции после 5 лет копирования. Пытается производить и самолёты оригинальной разработки. Авианосцы, ракеты, различные виды вооружений... Позже на эту же тему мне удалось побеседовать с другим участником событий, ветераном ИТМиВТ Игорем Михайловичем Лисовским, работавшим когда-то вместе с Лебедевым и Бурцевым, создателями БЭСМ-6 и "Эльбруса". По его словам комиссия приняла положительное решение о введении ЕС на основе IBM-360 и на комиссии Марчук и Ершов проголосовали "за". Вот такие вот противоречия в показаниях. Не хочу никого обвинять, все эти люди очень заслуженные. Возможно, что за давностью лет кто-то и путается. Но вопрос для меня остался открытым.
ДВЕ ТРАГЕДИИ СОВЕТСКОЙ КИБЕРНЕТИКИ. ЧАСТЬ 2.
Самолёт наконец сел в аэропорту Толмачёво и пассажиры похватав сумки потянулись к выходу из "аэробуса". А320 - в общем неплохой самолёт и довольно тихий. И, видимо, удобен в эксплуатации, судя по популярности у наших авиакомпаний. Тот же Аэрофлот в своём парке имеет более 40 таких авиалайнеров, других же типов не более десятка в каждом. В общем же количестве А320 гораздо более половины и отечественных там наберётся едва ли десяток. Это я узнал сидя в своём кресле и листая какой-то рекламный журнал авиакомпании. И, надо сказать, другие авиакомпании не слишком отличаются в своём выборе. По-сути сейчас вся Россия летает на этих А320. Опять же, почему не на наших "тушках"? Ту-204 имеет чуть большую вместимость и почти ту же дальность, Ту-334 чуть меньше по вместимости. Ту-204-300 вообще был разработан в трёх вариантах с дальностью полёта 3400, 7500 и 9250 км. Таким образом, он стал первым отечественным двухмоторным самолётом, способным совершить беспосадочный перелёт из Москвы во Владивосток. Ту-334 и Ту-204 более экономичны по топливу и почти также комфортабельны, как "аэробус". Что мешает использовать их?
Строго говоря, кое-какие объективные причины всё же были. Как и в случае авиапрома. Для любого действия можно найти какие-то оправдания, и даже весьма убедительные. Глава "Сухого" (а ныне и ОАК, и, по сути, всего российского авиапрома) Михаил Погосян заявил: Свои резоны можно найти и по вводу "Единой Системы ЭВМ" в конце 60-х: Сегодня мы этой проблемы не замечаем, поскольку система команд Intel и архитектура x86 (Pentium) по существу стали стандартом. Даже конкурент Intel, компания AMD, вынуждена выпускать процессоры с той же системой команд. И даже сам Intel теперь не может отказаться от введённого им же самим стандарта и вывести на рынок процессор с какой-то иной системой команд. Рынок просто откажется от него - слишком много программного обеспечения уже написано именно для x86. Та же проблема у Microsoft - все новые операционные системы должны быть совместимы с предыдущими версиями. Иначе не будут покупать! Система команд x86 стала отраслевым стандартом точно так же, как API (application programming interface - интерфейс программирования приложений) операционной системы Microsoft Windows. Это не строгое утверждение, Intel производит множество процессоров различной архитектуры. Но не для "десктопов" - настольных персональных компьютеров, здесь царствует именно x86. И в области программного обеспечения "стандартов", вообще говоря, два - Windows и Linux. И стандарты эти вводили не законом, так распорядился рынок. Эта ситуация всеобщего стандарта на написание программ даёт огромные выгоды - вся масса программного обеспечения, созданная многими разработчиками и за многие годы продолжает быть полезной и постоянно накапливается. Сейчас выбор конкретной аппаратуры зависит чаще от того программного обеспечения, которое сможет на ней работать, чем от конкретных характеристик самой аппаратуры. Именно поэтому у какой-то новой архитектуры с новой системой команд на рынке нет шансов. Если нет режима совместимости со старой x86 никто не рискнёт её внедрять. И это не такое уж открытие, если вспомнить, что современный транслятор с языка программирования - это миллионы строк программы, это огромные затраты высококвалифицированного труда. Совершенно иной была ситуация в 60-х годах прошлого века. Каждый новый компьютер вызывал необходимость создавать для него программное обеспечение буквально с нуля. И это правило сохранялось даже в рамках одного производителя! И первой это правило нарушила именно американская фирма IBM - она первая в отрасли начала создавать линейку программно совместимых компьютеров с различной производительностью и назначением. И именно поэтому захватила рынок так называемых "промышленных" компьютеров - массовых компьютеров средней производительности для экономических расчётов. Не Сеймур Крей со своими суперкомпьютерами захватил рынок, не фирма CDC, где он работал, а IBM, которая сделала ставку на стандарты программирования. Введение стандарта оказалось более важным, чем миллионы операций в секунду. Причины успеха IBM не стали секретом для советских руководителей компьютерной индустрии и задача в принципе ставилась правильно - необходимо было создать "Единую Систему" - как стандарт для программного обеспечения ЭВМ. В Советском Союзе с плановой экономикой это сделать было значительно проще, чем в США, достаточно издать приказ, который в итоге и был отдан (приказ Министра радиопромышленности №138 о создании НИЦЭВТ и назначении его головной организацией по разработке Единой системы ЭВМ - ЕС ЭВМ). Другое дело, что основой для этого стандарта могли быть выбраны самые разные архитектуры. И архитектура IBM тут вовсе не была обязательной. Да, фирма IBM наработала достаточно богатое программное обеспечение, которое можно было "позаимствовать" в случае совместимости архитектуры ЭВМ. Но в конце 60-х этот фактор был пока не самым серьёзным в выборе, наши разработки не слишком уступали в богатстве и возможностях ПО. Для иллюстрации сказанного достаточно напомнить, что та же БЭСМ-6 производилась в течении 20 лет (до 1987 года) и общее количество произведённых комплектов достигало 367. Это очень много для таких дорогих машин. Программное обеспечение таких машин фактически становилось уже промышленным стандартом. Но и это не рекорд. ЭВМ "Минск-32" разработки Пржиялковского было выпущено около 3 тыс штук! Что неудивительно при относительной дешевизне, которая следовала из-за конвейерной сборки, осуществлённой впервые в практике электронного машиностроения. И для "Минск-32" было разработано достаточно богатое, по меркам того времени, программное обеспечение: система символьного кодирования (ССК); макрогенератор и язык макроописаний с набором библиотечных макрокоманд; транслятор с языка КОБОЛ; транслятор с языка АЛГАМС; транслятор с языка ФОРТРАН. На совещании СЭВ в Будапеште в 1972 г. она была признана базовой для организации АСУ в странах СЭВ. Чем не стандарт? Но "Минск-32" была разработана в 1968 году и стала последней песней Минского проектного бюро завода счётных машин им. Г. К. Орджоникидзе. Завод входил в ведомство Министерства радиопромышленности СССР и первым стал жертвой решения руководства. Однако сам конструктор машины Виктор Владимирович Пржиялковский так описывает причины введения копирования системы IBM: Принять восьмибитный байт после семибитного ("Минск-32") и шестибитного (БЭСМ-6, "Весна", М-220 и др.) было бы перспективно, но за этим решением стояла разрядная сетка 8-16-32-64 бита, вместо привычных 36- и 48-битных. Неизбежное увеличение оборудования можно было компенсировать новой микроэлектронной базой - интегральными микросхемами. А если взять принятую зарубежными фирмами кодировку восьмибитного байта, ставшую де-факто мировым стандартом и систему команд (одно-двухадресную систему с шестнадцатью регистрами общего назначения), то можно было ставить задачу обеспечения полной программной совместимости с IBM-360. Проведённые в ИПМ АН СССР исследования показали, что программы, составленные для IBM-360, требуют в 1,5-3 раза меньшего объёма памяти, чем программы БЭСМ-6, "Весна", М-20. Дискуссия в основном сводилась к вопросу о том, возможна ли реализация архитектуры IBM-360 в условиях жёсткого эмбарго, ибо если она без документации и образцов невозможна, то не стоит тратить силы на её точное воспроизведение и её нужно "улучшить". Конец этой дискуссии положило решение комиссии по ВТ АН СССР и ГКНТ от 27 января 1967 г. под председательством академика А. А. Дородницына, которым было предложено принять для "Ряда" архитектуру IBM-360 "с целью возможного использования того задела программ, который можно полагать имеющимся для системы 360". Это решение было принято практически при поддержке присутствующих представителей организаций, которым предстояло работать по программе "Ряд". Альтернативного предложения на этой комиссии никто не выдвигал." Но если вернуться к вопросу объективной целесообразности копирования именно IBM, то чётких аргументов так и не прозвучало. Да, ввели восьмибитный байт, у нас он тогда был слишком разным - шестибитный в БЭСМ-6 и семибитный в "Минск-32". Это что, суть вопроса? А почему не 9, не 12 бит? На мой взгляд, с высоты 21 века, уже и 16 бит мало. Самое время вводить 32-битный байт. Байтовая адресация давно изжила себя, а машинное слово может иметь любую разрядность. Удобная для программистов шестнадцатеричная система счисления делает удобным 16-битный байт. С точки же зрения схемотехники байт следовало бы сделать четырёхбитным - для первых микросхем 4-х разрядная организация была оптимальной. Может хотели сэкономить на разработке программного обеспечения? Для чего ещё нужна программная совместимость? Брать чужое программное обеспечение, своих программистов переучить на трактористов? Судя по тому, что число программистов не уменьшилось, этого всё же не планировалось. Однако именно это звучало главным аргументом! Полагаю, что такие аргументы служили в основном ширмой для проявления совершенно других интересов. Ведомственных и некоторых иных. Об этом говорит конечный результат проводимой политики. А также кое-какие странные совпадения. Вот о них и поговорим далее... ДВЕ ТРАГЕДИИ СОВЕТСКОЙ КИБЕРНЕТИКИ. ЧАСТЬ 3.
В аэропорту меня встретила наша институтская "Волга". Это было приятно. Поездка по "казённой надобности" имеет свои преимущества. Будь она по "личной", я бы не стал тратиться на такси и добирался бы в Академгородок на перекладных, через городской вокзал - прямых автобусных маршрутов в Академгородок уже давно нет. А ведь в советское время был "экспресс" под номером "108", который ходил почти каждый час. И довольно много народа ездило на нём. Но с приходом к власти демократов почему-то резко убавилось количество желающих воспользоваться своим правом на свободу перемещений. Маршрут стал непопулярным. В результате сначала "Икарус" заменили "пазиком" и сделали рейсы реже, а потом маршрут и вовсе закрыли... Вскоре я уже мчусь на старенькой "Волге" в родной Академ и болтаю с молодым парнем-водителем. Разговор о прекрасной погоде, о машинах, о больших штрафах за нарушения правил... В общем, ни о чём. Я весело болтаю ни о чём и продолжаю думать о той истории, что произошла в далёком 1967 году. В чём была её трагедия? В том, что насильно внедрили восьмибитный байт? Или в том, что выкрутили руки разработчикам ЭВМ заставив использовать систему команд IBM?
Однако, вернёмся к описанию ситуации в области вычислительной техники в конце 60-х - начале 70-х. Появление супер-ЭВМ БЭСМ-6, массовое производство "Минск-32" и его очевидные достоинства её полностью не исчерпывают. В СССР был ещё один конкурент для машин IBM серии 360 и сочетавший в себе те достоинства системы, к которым так стремилось руководство компьютерной индустрии. Это машины серии "Урал" разработки Башира Искандеровича Рамеева. Рамеев стоял у истоков советской кибернетики, он был участником разработки первой в Советском Союзе электронной цифровой вычислительной машины (совместно И.С. Бруком), был заместителем главного конструктора первой серийной ЭВМ "Стрела", и он первым в стране сформулировал и реализовал в разработанном под его руководством семействе машин принцип программной и конструктивной совместимости. Произошло это до того, как этот принцип внедрили в IBM! Как описывает Малиновский: Ещё в ноябре 1962 года в Пензе (в НИИ математических машин, где Рамеев занимал должность главного инженера и заместителя директора по научной работе) была закончена разработка унифицированного комплекса элементов "Урал-10", рассчитанного на автоматизированное производство. И хотя эти элементы разрабатывались для использования в серии ЭВМ "Урал-11" - "Урал-16", они нашли широкое применение и в других средствах вычислительной техники и автоматике. Для этих целей было выпущено несколько миллионов штук элементов. То есть это было уже готовое массовое производство унифицированных модулей - основы для массового же производства ЭВМ. Унифицированный комплекс логических элементов представлял собой набор полупроводниковых схемных элементов модульной конструкции из 5 типов основных и 10 типов специальных модулей (для накопителей и внешних устройств). Электронные схемы "Урал-11" на 90% состояли из двух типов основных диодно-транзисторных модулей, которые размещались в ячейки, имеющие запаиваемый разъём. Их выпуск освоил Пензенский завод вычислительных электронных машин - ВЭМ. В семейство полупроводниковых "Уралов" входили три модели: "Урал-11", "Урал-14" и "Урал-16". Первые две модели семейства стали выпускаться серийно с 1964 года, а последняя - с 1969 года. За период с 1965 по 1975 гг. было выпушено 123 комплекта "Урал-11". ЭВМ "Урал-14" выпускалась с 1965 по 1974 гг., был произведён 201 экземпляр машин. А вот старшая модель семейства была выпущена лишь в 3-х экземплярах в 1969 г. - сказалась переориентация на IBM. К концу 60-х годов пензенские "Уралы" применяли в многочисленных вычислительных центрах НИИ, на заводах, в банках, в системах военного назначения. На их базе были созданы многомашинные системы "Банк", "Строитель", системы обработки данных, получаемых со спутников. Это первое в нашей стране семейство машин с унифицированной системой организации связи с периферийными устройствами (унифицированный интерфейс), унифицированной оперативной и внешней памятью. Однако уникальность "Уралов" была не только в их программной совместимости, в унификации электронных модулей, но и в способности создавать многомашинные комплексы, способные обрабатывать единый массив информации. Каналы связи "Уралов" поддерживали скорость более 2 мегабит в секунду (2 200 000 бит в секунду)! Это было задолго до появления сетевых технологий за рубежом. И, конечно, на ЭВМ семейства IBM-360, выпускаемых в те годы, такие системы построить было невозможно. В 1968-1969 гг. завершалась работа над проектом уже многопроцессорной ЭВМ "Урал-25", старшей моделью, завершавшей семейство. И была начата проработка "Урал-21" на интегральных схемах. Это был запланированный переход к 4-му поколению. Что остановило работу? Копирование IBM/360. Конечно разработчики "Уралов" во главе с Рамеевым, так же как Глушков и Лебедев - другими известными разработчиками ЭВМ, были против копирования. Они предлагали вести новую разработку на основе отечественного опыта, хотя и с учётом зарубежных достижений. В октябре 1967 г., после известного совещания, они пишут письмо руководству Минрадиопрома, основному инициатору создания ЕС ЭВМ: ... Предложение о копировании системы IBM-360 эквивалентно планированию производства математических машин в семидесятые годы на уровне математических машин начала шестидесятых годов. Учитывая тенденцию развития науки и техники, можно смело утверждать, что в семидесятые годы архитектура системы IBM-360 будет устаревшей, не способной удовлетворить требования, предъявляемые к вычислительной технике. ...Архитектура системы IBM-360 имеет ряд недостатков, без устранения которых недопустима разработка ряда машин, предназначенных для использования в ближайшее десятилетие, так как совокупность этих недостатков делает систему не соответствующей даже сегодняшним требованиям. Копирование зарубежной разработки исключит возможность использования собственного опыта, накопленного коллективами разработчиков математических машин, и на ближайшие годы приведёт к отказу от начала разработок, использующих новые принципы. Все это приведёт к торможению развития вычислительной техники в стране." Вообще-то министр МРП Калмыков не колебался, а пробивал вариант IBM, просто вёл себя дипломатично, как и положено руководителю такого ранга. Тоже самое можно сказать про Келдыша. А интрига по поводу варианта ICL несколько интереснее, чем может показаться с первого взгляда. Дело в том, что ICL System-4 - это копия RCA Spectra 70, которая сама является клоном IBM-360! То есть, это перепев той же системы, но в другом исполнении. И, надо заметить, что "перепев" тут был не хуже оригинала, а лучше - у IBM взята лишь пользовательская часть системы команд, а "супевизорская", или системная, переделана. И не просто так, а для увеличения быстродействия - скорость переключения между программами стала значительно быстрее. Для нас это означало, что с точки зрения библиотек программ варианты идентичны, но требовалась иная операционная система. И англичане тут предлагали сотрудничество! Ничего не надо было воровать! Нам дали бы операционную систему и помогли бы её адаптировать для различных вариантов аппаратуры. А мы сами могли бы участвовать в её развитии. Очевидно, что этот вариант был более предпочтителен варианта IBM и наиболее честные из участников совещания это хорошо понимали. Тот же Сулим, замминистра Минрадиопрома, просто написал заявление об уходе сразу после очередной коллегии министерства. Это был акт возмущения той глупостью, что делало руководство. Последствия этой глупости приводит Рамеев в своём исследовании в 1991 году: Это парк машин 1989 года! Заметим, что ЕС-1022, копию IBM-360/50 разработки 1965 года, у нас начали производить лишь в 1974 году. Почти четверть парка ЭВМ 1989 года составляют эти ЕС-1022, которые, заметим, были хуже "Минск-32" по параметрам. Сам Рамеев приходит к следующему заключению: 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 разные модели ЕС ЭВМ, АРМы на базе ЕС ЭВМ, импортные ЭВМ). Выбор зарубежных аналогов производился по номинальной производительности без учета дополнительных параметров, характеризующих технический уровень. Если учесть такие параметры, как технический уровень элементной базы, емкости запоминающих устройств, состав периферийных устройств, материалоемкость (габариты), энергопотребление и надежность ЭВМ, находящихся в эксплуатации, то их технический уровень следует изменить на несколько лет назад. И следует считать технический уровень, например, не "Х-летней давности", а "более X-летней давности". Таким образом, структура парка ЭВМ на базе процессоров общего назначения по техническому уровню характеризуется так: 50% парка состоит из ЭВМ, которые по техническому уровню отстают на 20-25 лет; 49% - более чем на 10-15 лет. Технический уровень парка, выраженный в годах, как будто ни о чем не говорит, но за этим скрывается огромная разница в технико-экономических показателях и эффективности машин парка. По мере развития научно-технического прогресса, совершенствования технологии и появления новых технических решений в условиях конкуренции постоянно происходит улучшение показателя "характеристика/стоимость" средств вычислительной техники и информатики, отражающего высшие достигнутые к этому времени технические, технологические, эксплуатационные и экономические характеристики. По зарубежным источникам, за 15 лет обобщённый технико-экономический показатель отношения "характеристика/стоимость" ЭВМ увеличился в 1000 раз, а надежность - более чем в 15 раз. На эксплуатацию устаревших средств вычислительной техники и информатики тратятся кадровые, финансовые и материальные ресурсы, не адекватные тому технико-экономическому эффекту, которое они дают. Так, убытки только из-за простоев по техническим причинам (низкой надежности) вычислительных систем и ЭВМ в парке страны составили в 1989 г. порядка 500 млн. рублей. Таковы экономические и технические последствия для страны волевого решения о копировании IBM-360." (Продолжение следует...)
|
|