понедельник, 17 декабря 2007 г.

История убиения отечественной школы IT.

  Вот и еще один источник, опровергающий миф о вековечном и непреодолимом отставании советской инженерной мысли (еще по теме - здесь).
  Не секрет, что нынешний мэйнстрим формировали американцы. Если в сфере политики и экономики многополярный мир существовал практически до распада Советского Союза, то в сфере программирования он свелся к однополярному уже к началу 1970-х. На заре компьютерной эры американцы сделали несколько ознакомительных визитов в СССР (особенно в конце 1950-х и начале 1960-х гг). Они подметили нашу основную особенность - лицо программирования у нас определяли математики с мировым именем. Русская школа Николая Николаевича Лузина была недостижимым для Запада образцом. Математики же Америки смотрели на программирование как на что-то потустороннее. В Советском Союзе вплоть до его распада была едва ли не лучшая в мире школа трансляторов, напрямую завязанная на фундаментальные исследования в сфере теоретического и системного программирования. И об этом прекрасно знали как американцы, так и явропейцы.
  Проф. Эдгар Дейкстра (Нидерланды), один из отцов-основателей программирования, так охарактеризовал ключевые события, которые привели к формированию однополярного мира и разрушению европейской культуры программирования: «Принятие в Германии Алгола-68 оказало парализующий эффект на немцев, подобный тому, который наблюдался в Советском Союзе, когда русские в конце 1960-х приняли решение разрабатывать свою новую национальную серию компьютеров на основе поразрядно-совместимой копии IBM-360. То была величайшая победа Америки в холодной войне».
  История с клонированием IBM-360 (серия ЕС) требует особого рассмотрения. Можно со всей уверенностью сказать, что этим шагом был нанесен колоссальный урон инженерному потенциалу страны. К середине 1960-х гг. в Советском Союзе была создана инфраструктура для разработки собственных компьютеров, во многом аналогичная инфраструктуре конструкторских бюро (КБ) в авиационной и космической промышленности. Был переизбыток новейших архитектурно-инженерных решений, превосходивших американские разработки (БЭСМ-6 С. А. Лебедева, «Мир» В. М. Глушкова, «Сетунь» Н. П. Брусенцова, «М-10» М. А. Карцева, серия «Урал» Б. И. Рамеева и др.). Все было разрушено за несколько лет. Началось с того, что ведущие институты (аналоги КБ) правительственным решением по распоряжению Н. С. Хрущева были выведены из состава АН СССР и переданы разным промышленным министерствам. Затем был инициирован вопрос об унификации архитектуры и о ее распространении на страны социалистического лагеря (Совета экономической взаимопомощи - СЭВ).
  Рассматривалось три варианта: отечественная архитектура («Урал»), интеграция с европейцами (английская ICL System 4) либо клонирование американской техники (линия IBM-360). Запомните эти черные даты: 26 января 1967 г. состоялось совместное заседание Комиссии по вычислитель-ной технике АН СССР и Совета по вычислительной технике ГКНТ при Совете Министров СССР. Именно там было принято решение использовать в качестве прототипа новой серии ЕС американские компьютеры IBM-360 образца 1963-1964 гг. Как вспоминает Б. Н. Малиновский, «единственным оппонентом, написавшим свое особое (отрицательное) мнение, был… председательствующий на дискуссии Глушков, считавший, что использовать зарубежный опыт безусловно надо, но не в такой степени, чтобы просто копировать зарубежные системы, к тому же созданные несколько лет назад». Штаты не предоставляли к своим комплектующим никакой документации. На продажу компьютеров IBM-360 в СССР американцами был наложен запрет. Тогда как те же англичане готовы были направлять своих специалистов, передавать спецификации по ICL - они прекрасно понимали, что в гонке компьютерных вооружений им в одиночку невозможно будет противостоять Америке. Почти все страны СЭВ были против клонирования IBM-360. Исключение составляла ГДР, где усилиями отечественных лоббистов IBM-360 (С. А. Крутовских - директор НИЦЭВТ, В. В. Пржиялковский - генеральный конструктор ЕС ЭВМ) была подготовлена необходимая почва. Окончательно чаша весов склонилась в сторону IBM после двухлетней подковерной борьбы с привлечением лоббистами IBM-360 на свою сторону руководства Министерства радиопромышленности Советского Союза. Последний гвоздь в крышку гроба отечественного компьютеростроения был вбит 18 декабря 1969 г. на совещании у министра Минрадиопрома СССР В. Д. Калмыкова.
  И все же вопреки подобному трагическому развитию событий огонек конструкторской мысли еще теплился. Хотел бы обратить внимание на факт, малоизвестный широкой отечественной аудитории: принцип многопроцессорности в архитектуре был реализован в СССР в 1966 г. в ЭВМ 5Э92б, которая создавалась под руководством академика В. С. Бурцева и на основе которой развертывалась система противоракетной обороны Москвы. В 1969-1972 гг. Бурцев возглавлял проект по созданию модульной трехпроцессорной ЭВМ 5Э261-Э265, которая вошла в наши знаменитые противоракетные комплексы С-300, до сих пор стоящие на вооружении в ряде стран. В рамках упомянутой ЭВМ Бурцева в комплексе С-300 мы тогда имели 32-разрядную трехпроцессорную систему с полностью аппаратным контролем надежности, конвейерами, асинхронными шинами… Бурцев был генеральным конструктором высокопроизводительных вычислительных комплексов «Эльбрус-1» (1978) и «Эльбрус-2» (1984). «Эльбрус-1» был первым в мире суперкомпьютером с суперскалярной архитектурой. На Западе первый суперскаляр появился в 1992 г., а Pentium Pro - в 1995 г. Одним из ведущих разработчиков «Эльбруса» был В. М. Пентковский, впоследствии ставший архитектором Intel Pentium III. Преемником В. С. Бурцева в разработке «Эльбрус-3» стал Б. А. Бабаян (ныне - член-корреспондент РАН, Intel Fellow). Бабаян писал: «Генеральную линию нужно было разрабатывать, а не тушить. БЭСМовская линия была не хуже IBM, а бесплатное матобеспечение для IBM все равно не появилось. На рынке Россия, конечно, не могла бы занять ведущего места - для этого нужна хорошая и стабильная экономика. Но моя точка зрения: не нужно стремиться к чисто русским машинам! Это глупость. Нужно стремиться, чтобы у России был свой громкий голос. Вот возьмите Тайвань - уважаемая страна, с массой фирм с мировым именем. Или Япония. Не обязательно делать все - если возьмете американскую машину, там почти ничего в Америке не сделано. Но необходимо, чтобы у нас был свой имидж, своя рыночная ниша. Просто победить Intel на рынке нереально. А делать какие-то значительные куски машины - платы, архитектуру, софт - так, чтобы нас знали, чтобы здесь были филиалы многих фирм, вполне возможно».
  Помимо «Эльбрусов» в период 1980-1990 гг. нам было чем гордиться: проект МАРС (модульные асинхронные развиваемые системы) создавался на базе европейских и отечественных микропроцессорных разработок под руководством В. Е. Котова (ныне ведущий специалист в HP Labs). Аппаратную часть проекта (процессоры КРОНОС, ОС Excelsior) возглавлял А. Г. Марчук (ныне директор Института систем информатики СО РАН). МАРС создавался с использованием идей проф. Т. Хоара, воплощенных в транспьютерах английской фирмы Inmos, и замыслов Н. Вирта, реализованных (на языке Modula-2) в первом европейском ПК Lilith. Отзвуком этого проекта стала технология создания бортового ПО наших спутников по заказу НПО ПМ им. Решетнева (И. В. Поттосин, проект СОКРАТ).
  В отношении системного ПО нам также нечего стыдиться. Одна из первых отечественных операционных систем была разработана для ЭВМ «М-20» (1958) в Институте прикладной математики АН СССР. Она называлась ИС-2 (интерпретирующая система) и ее создавали под руководством М. Р. Шура-Бура. В ней был эффективно реализован способ динамического подключения библиотечных подпрограмм. В ИС-2 были предвосхищены некоторые функции будущих операционных систем - осуществлялись динамическое связывание, подкачка и смена используемых подпрограмм. В 1967 г. И. Б. Задыхайло, С. С. Камынин и Э. З. Любимский спроектировали операционную систему ИПМ АН СССР для машины БЭСМ-6 (ОС ИПМ). Она была реализована под руководством Э. З. Любимского. По его словам, ОС ИПМ во многом схожа с современной UNIX.
  Другая отечественная ОС, для «Эльбруса» (ОСПО - общее системное программное обеспечение), создавалась на основе принципов защищенного программирования - на базе собственного высокоуровневого языка системного программирования Эль-76 (1972-1977) с поддержкой абстрактных типов данных (ООП), модульного и параллельного программирования, с обеспечением аппаратной поддержки динамического контроля типов (В. М. Пентковский, Г. Д. Чинин, Ю. С. Румянцев и др.). Общий объем ОСПО - около 500 тыс. строк на языке Эль-76.
 Не все достижения у нас остались в прошлом. В сфере аппаратного обеспечения достаточно вспомнить про МЦСТ (Московский Центр SPARC-технологий), выпускающий отечественные микропроцессоры, совместимые с архитектурой SPARC (технологические нормы - 0,35 и 0,13 мкм) и операционными системами МСВС, Linux и Solaris, а также про НТЦ «Модуль», создающий СБИС для цифровой обработки сигналов, для эмуляции нейронных сетей, задач радиолокации, видеообработки и гидролокации.

Комментариев нет: