Введение к работе
Актуальность темы. На современном этапе практически во всех областях человеческой деятельности, связанных с разработкой и использованием современных технологий, дальнейший прогресс стал невозможен без широкого использования супер-ЭВМ спроизводительностью в сотни миллионов и миллиарды операций в секунду.
Для подтверждения этого положения перечислим лишь некоторые задачи, решаемые на супер-ЭВМ в научных центрах разни:, стран.
В вычислительном центре (ВЦ) штата Северная Каролина (США) на CRAY Y-MP 8/432 и CONVEX С220 решаются задачи немедленной визуализации осевой томографии (медицина), проводится региональное моделирование осаждения кислоты и выбросов метеорологических загрязняющих веществ (экология).
В ВЦ города Сан-Диего (шт. Калифорния, США) на CRAY Х-МР/48 моделируется связь между структурой и биологической функцией молекулы (биохимия), разработана улучшенная климатическая модель (атмосферные исследования), рассчитываются конфигурации ускорителей элементарных частиц (физика).
В ВЦ штата Огайо (США) на CRAY Y-MP/864 ведется автоматизированный расчет состава лекарств (медицина).
В ВЦ университета города Калгари (Канада) с помощью CYBER 205 ведутся фундаментальные исследования молекулярных структур (химия), проводится оценка волоконно-оптических линий связи (электронная техника), прогнозируются районы нефтеносных песков (нефтедобыча), моделируется динамика эволюции галактик (астрофизика).
В теоретическом центре науки и техники Корнельского университета (США) на IBM 3090-600, дополненных процессорами фирмы FPS, ведется моделирование поведения релятивистских скоплений звезд и массированных нейтрино (космология) , изучают сложную динамику аналитических уравнений (математика), моделируют взаимодействие атомов в материалах (материаловедение), моделируют миграции населения,
- I -
чить возможность ее технологической реализации в отечественной промышленности.
Учитывая современные достижения в области промышленной технологии, а также достижения в области программирования для супер-ЭВМ с архитектурой различных типов, в качестве основополагающих структурных принципов получения супер-производительности для ВС "Эльбрус 3-1" были выбраны принцип многопроцессорности вычислительной системы с относительно малым числом процессоров (крупно структурированная MIMD система) и принцип векторно-конвейерной обработки в центральных процессорах. Вследствие этого разработка ВС "Эльбрус 3-1" и ее центральных процессоров -МКП была проведена в классе векторных многопроцессорных супер-ЭВМ.
Перечисленные обстоятельства явились условиями постановки задачи " настоящей диссертационной работы. Поскольку существовала объективная необходимость помимо множества сложнейших проблем, связанных с разработкой аппаратных средств ВС "Эльбрус 3-1" (структурные, схемотехнические и конструктивные решения, разработка элементной базы, подсистем, электропитания и охлаждения, технологии производства многослойных печатных плат и т. д.), решить и проблемы разработки ноеой архитектуры (под архитектурой ЭВМ понимается спецификация ее аппаратуры, используемая при программировании) и базового системного программного обеспечения, потребовалось создание теоретической основы, позволяющей из общих теоретических положений получать практические решения по крайней мере в классе векторных многопроцессорных супер-ЭВМ при разработке новых архитектур и системных программных средств.
В качестве такой теоретической основы в данной работе предлагается построение некоторого семантического уровня программирования, названного базисом алгоритмического программирования, достаточно высокого, чтобы его средствами адекватно выразить семантику современных алгоритмических языков и технологий программирования, и в то же время достаточно низкого, чтобы была возможность его эффективной реализации в архитектуре и операционной
системе ЭВМ и его поддержки в других системных программных компонентах.
В связи с этим тема настоящей диссертационной работы является актуальной как в теоретическом, так и в практическом плане.
В подмножество языков программирования, семантика которых подвергалась при выполнении данной работы наиболее тщательному анализу, вошли языки семейства Алгол (Алгол 60, 68), семейства Фортран (Фортран 66, IV, 77, 90), ШІ-1, семейства Паскаль (Паскаль, Турбо-Паскаль 5.0, 5.5, 6.0), семейства Си (Си, Турбо Си, C++, Турбо Си++), Ада, Модула-2, Смолток 80, Оккам.
Дополнительно учитывались особенности языков логического, функционального и концептуального программирования.
В качестве основных технологий программирования рассматривались технологии модульного программирования, объектно-ориентированного программирования, параллельного программирования и надежного программирования, взятые шире, чем они представлены в языках программирования.
В совокупность требований, учитывавшихся при решении проблем реализации базиса, были включены не только требования эффективной реализации языков программирования и тем самым и всех прикладных лрограммных систем, написанных на них, но и дополнительные требования со стороны реализации больших программных комплексов и промышленных программ.
Одним из критериев правильности получаемых практических результатов была эффективность программирования различных численных методов, особенно из области математической физики, общих методов компиляции и методов адаптации алгоритмов и программ к особенностям архитектуры супер-ЭВМ.
Следствием одного из предварительных условий выполнения данной работы, а именно, ориентации МКП на векторную обработку, явился поиск архитектурных решений для него в классе CISC архитектур (отметим, что RISC архитектуры ориентированы на скалярную обработку, a VLIW архитек-
гуры - на супер-скалярную обработку). Это обстоятельство позволило повысить семантический уровень аппаратно реализуемых средств базиса алгоритмического программирования без нарушения общих принципов построения CISC архитектуры и снижения эффективности ее аппаратной реализации.
Для более полного понимания обстоятельств выполнения данной работы следует подчеркнуть положительный теоретический и практический опыт автора (и многих других разработчиков МКП и ВС "Эльбрус 3-1") по созданию, внедрению, сопровождению и развитию многомашинного вычислительного комплекса АС-б, использовавшегося в ряде центров страны, обеспечивающих управление космическими полетами. Многие принципы построения комплекса АС-6 и его системного программного обеспечения явились отправным пунктом для данной работы. Важную роль сыграл также опыт, полученный автором при постановке на АС-6 промышленных программ вычислительного характера и больших программных комплексов управления, работающих в распределенной многомашинной среде в режиме реального времени.
Таким образом в работе развивается научное направление: разработка архитектуры и системного программного обеспечения векторных многопроцессорных. супер-ЭВМ на основе концепции базиса алгоритмического программирования, а также решается в&таая практическая задача разработки архитектуры и базового системного программного обеспечения МКП и ВС "Эльбрус 3-1".
Цель работы. Целью диссертационной работы является развитие теоретических основ разработки архитектуры и системного программного обеспечения универсальных ЭВМ с практической конкретизацией теоретических положений в классе векторных многопроцессорных супер-ЭВМ. В том числе, целью работы является:
- разработка концепции базиса алгоритмического программирования, определение состава и семантики базисных средств, необходимых и достаточных для эффективного выражения семантики алгоритмических языков и основных технологий программирования;
выделение аппаратно реализуемого в классе CISC архитектур для векторных многопроцессорных супер-ЭВМ подмножества базиса алгоритмического программирования;
разработка принципов, методов, спецификаций и основных алгоритмов реализации базиса алгоритмического программирования в архитектуре, операционной системе и других компонентах системного программного обеспечения МЕШ и ВС "Эльбрус 3-1";
практическое использование полученных решений в разработке ВС "Эльбрус 3-1" и ее базового системного программного обеспечения как на этапах проектирования и программирования (изготовления), так и на этапах отладки и практического освоения пользователями.
Новизна научных результатов
-
В диссертационной работе исследовано новое научное направление: разработка архитектуры и системного программного обеспечения векторных многопроцессорных супер-ЭВМ на основе концепции базиса алгоритмического программирования.
-
Предложен новый базисный уровень выражения семантики программ и основных технологий программирования. Определен состав и семантика базисных средств.
-
Разработана и специфицирована новая архитектура для отечественной векторной многопроцессорной супер-ЭВМ миллиардного диапазона производительности (ВС "Эльбрус 3-1" на базе МКЦЬ с семантикой выделенного подмножества базиса алгоритмического программирования.
-
Разработаны новые спецификации с семантикой базисных средств для операционной системы универсального применения и других системных средств организации вычислительного процесса на супер-ЭВМ.
-
Разработан новый машинно-ориентированный язык программирования с основными свойствами языков высокого уровня и эффективностью реализации языков ассемблерного типа-, построенный по принципам языкового выражения базисных возможностей.
-
Предложен новый подход к организации объект-
- 6 - .
но-ориентированного программирования с пассивными и активными объектами на основе базисных средств в среде ОС ЖЕ
7. Предложена новая методика и алгоритмы реализации основных базисных средств в архитектуре и ОС МКП, основанные на учете особенностей области применения супер-ЭВМ на базе МКП и семантической целостности базиса алгоритмического программирования.
Методы исследования и разработки. *& разных этапах теоретических исследований, принятия решений и практической разработки архитектуры и программного обеспечения МКП и ВС "Эльбрус 3-1" применялись следующие методы:
анализа области применения супер-ЭВМ, в частности, анализа промышленных задач в ряде ведущих научных центров страны (прикладной "математики и механики, физических исследований, управления космическими полетами);
анализа методов разработки супер-ЭВМ на примере супер-ЭВМ производства США и Японии и отечественных разработок;
моделирования структуры ЭВМ;
интерпретации и моделирования архитектуры ЭВМ;
структурного проектирования и программирования;
модульного программирования;
объектно-ориентированного программирования;
параллельного программирования;
синхронизации, предупреждения и разрушения тупиков;
надежного программирования;
управления вычислительными ресурсами различных типов (процессорами, оперативной памятью, каналами ввода-вывода, внешней памятью, устройствами и т.д.);
управления структурированными данными;
синтаксического анализа и семантического разбора;
дискретной математики;
математической логики;
теоретической кибернетики.
Практическая ценность работы. Теоретические результаты работы были использованы при практической разработке МКП и ВС "Эльбрус 3-1". Основные архитектурные решения МКП и ВС "Эльбрус 3-1" соответствуют выводам настоящей работы. Структура, функциональные возможности и спецификации системного программного обеспечения и его компонентов, а также используемая методика программирования в полной мере отражают результаты и выводы диссертационной работы.
Внедрение результатов. Результаты работы внедрены в ИТМиВТ им. С. А. Лебедева в разработку МКП и ВС "Эльбрус 3-1", в НФ ИТМиВТ, ВНМЭФ, ЦНИИМАШ и НИВЦ МГУ им. М. В. Ломоносова в разработку системного и прикладного программного обеспечения. Имеются соответствующие акты о внедрении. Кроме того, имеется акт о внедрении результатов работы в педагогическую практику на факультете ВМиК МГУ им. М. В. Ломоносова.
Личный вклад автора. Основные теоретические результаты работы получены лично автором. Отработка архитектурных решений проводилась совместно с коллективом специалистов по разработке аппаратных средств. Разработка программного обеспечения МКП и ВС "Эльбрус 3-1" проводилась под руководством и при непосредственном участии автора. Основной вклад автором был внесен в проектирование всех программных подсистем базового системного программного обеспечения МКП и ВС "Эльбрус 3-1" и в разработку спецификаций этих подсистем и составляющих их модулей, в программирование и сопровождение программных модулей ОС МКП, ответственных за реализацию основных базовых механизмов языков программирования (процедурного, исключительных ситуаций, адресации, виртуальной памяти, контекстной защиты, динамического знакомства, внутренних и внешних прерываний и некоторых других). в методику и организацию автономной и комплексной отладки отдельных программных подсистем, базового системного программного обеспечения в целом и первых прикладных задач, а также в разработку
программной документации.
Автор является первым заместителем главного конструктора МКП и руководителем работ по программному обеспечению МКП и ВС "Эльбрус 3-1".
В 70-е и начале 80-х годов автор занимался проблемами создания, внедрения, сопровождения и развития многомашинного вычислительного комплекса АС-б и его системного программного обеспечения , многие принципы организации и реализации которого послужили первоначальной основой для настоящих исследований. За работы по комплексу АС-6 автор был удостоен в 1982 году звания лауреата Государственной премии СССР в области вычислительной техники.
Апробация работы. Основные результаты диссертации докладывались на всесоюзной конференции-выставке "Проблемы развития высокопроизводительных вычислительных систем" (Непецино, 1991), международной конференции "Высокопроизводительные вычислительные системы в управлении и научных исследованиях"(Алма-Ата, 1991), всесоюзной конференции по методам численного решения многомерных нестационарных задач математической физики (Арзамас-16, 1991), всесоюзном семинаре "Проектирование и создание многомашинных и многопроцессорных систем реального времени" (Москва, 1990), всесоюзной конференции "Высокопроизводительные вычислительные системы для комплектации центров математического моделирования" (Новосибирск, 1989), всесоюзной школе "Автоматизация и эффективность научных исследований" (Протвино, 1988), всесоюзной школе по супер-ЭВМ (Абрау-Дюрсо, 1988), I всесоюзной конференции "Проблемы создания супер-ЭВМ, супер-систем и эффективность их применения" (Минск, 1987), двенадцатом всесоюзном семинаре по вычислительным сетям (Одесса, 1987), рабочей группе по программному обеспечению банков данных (Алма-Ата, 1977), научно-техническом совещании "Вопросы проектирования электрической части электростанций" (Москва, 1974), всесоюзной конференции "Разработка математического обеспечения ОАСУ" (Кишинев, 1973), научно-технических конференциях по вычислительной технике (Москва, ИТМиВТ,
1973, 1974, 1981, 1983, 1985,1989).
Использование научных резулыатов в педагогической практике. Основные результаты работы входят в программу спецкурса "Программное обеспечение супер-ЭВМ и технологии программирования", который автор читает последние годы в МГУ им. М. В. Ломоносова по кафедре АСВК факультета ВМиК. Под руководством автора было выполнено и защищено 3 кандидатских диссертации, в которых были развиты и детализированы отдельные положения данной работы. В настоящее время под руководством автора выполняют работу 5 аспирантов в аспирантуре ИТМиВТ им. А. С. Лебедева и аспирантуре ВМиК МГУ им. М. В. Ломоносова, темы диссертаций которых связаны с развитием программного обеспечения МКП и ВС "Эльбрус 3-1".
Автор является заведующим филиалом кафедры АСВК ВМиК МГУ им. U. В. Ломоносова при ИТМиВТ им. С. А. Лебедева РАЕ Тематика научной и педагогической деятельности филиала во многом определяется проблемами, рассмотренными в настоящей диссертационной работе.
Публикации. По теме диссертации опубликовано 80 научных работ. Из них 48 печатных работ и 32 работы на правах рукописи (отчеты, проекты и т. п.). По основной тематике работы можно условно разделить следующим образом: операционные системы - 20, управление данными на внешней памяти - 10, языки и системы программирования - 8, организация программного обеспечения - 7, архитектура ЭВМ -6, интерпретация и моделирование ЭВМ - 7, тестирование и отладка - 5, технология программирования - 5, распределенные программные системы - 4, применение ЭВМ - 8. Одной из последних работ автора является двухтомная монография "Модульный конвейерный процессор". В список литературы из них включено 20 работ, представляющих результаты исследований в наиболее завершенном виде. Полный список научных работ прилагается отдельно.
чающих собственно МКП, модули массовой оперативной памяти (МОП), различные фронтальные ЭВМ и периферийные подсистемы. Даны принципы объединения этих компонентов в единую вычислительную систему специально разработанными модульными средствами коммутации и передачи данных, названными системным каналом.
МКП являются центральными процессорами вычислительной системы. В главе приведен состав и структура МКП. Отмечены такие особенности МКП, как наличие двух скалярных блоков, поддерживающих одновременное выполнение двух потоков команд в МКП, наличие блока выполнения векторных операций в форме векторных выражений, наличие блока векторных сортировок и блока выполнения операций в системном канале, а также блока обработки с конвейерными специализированными устройствами выполнения арифметических и логических операций и блока локальной оперативной памяти, управление которым обеспечивает доступ к памяти при выполнении скалярных и векторных команд.
В этой главе приведены основные характеристики МКП и ВС МКП по производительности для разных видов обработки, по емкости оперативной памяти и по пропускной способности различных каналов. Кроме того, исследованы различные виды и формы параллелизма в ВС МКП, использование которых позволяет повышать производительность программ. К ним отнесены векторные операции, векторные операторы с зацеплением векторных операций, параллельное выполнение векторных операторов, параллельное выполнение скалярных команд и векторных операторов в одном потоке команд, параллельное выполнение в одном потоке разных групп и отдельных скалярных команд между собой, параллельная обработка двух потоков команд в одном МКП и параллельная обработка многих потоков команд в нескольких МКП вычислительной системы.
Приведен состав базового программного обеспечения и отмечены перспективы его развития.
Вторая глава в целом посвящена построению базисных средств обработки данных и методам их реализации в ВС
Объем и структура работы. Диссертация состоит из введения, пяти глав, заключения и списка литературы (86 наименований). Работа содержит 228 страниц, из которых 5 страниц составляет титульный лист и оглавление, 215 страниц составляет основной текст диссертации и 8 страниц -список литературы.