Разработка и исследование дискретной системы автоматического регулирования, страница 13

Централизованная ОС в ММПС осуществляет общее управление ресурсами системы, обеспечивает взаимо­действие между модулями системы и выполняемыми программами и реализует динамическое распределение задач.

ММПС, работая под управлением распределенной операционной системы

(ОС), может функционировать в двух режимах. В первом режиме, используемом в случае достаточных объемов собственной оперативной памяти МПМ, копии ОС хранятся в каждом локальном ОЗУ. Во втором режиме, характерном для небольших объемов локальной оперативной памяти, единственный экземпляр ОС хранится в общей оперативной памяти ММПС и разделяется во времени всеми микропроцес­сорами системы. В любом из указанных режимов соб­ственная ОП каждого МПМ содержит программу текущей исполняемой ветви исходной параллельной программы и локальные данные, а общая ОП — объект­ный код исходной программы, совместно используемые данные и управляющие таблицы.

Системой управления базой данных (СУБД) назы­вают системные программы, выполняющие операции по подготовке и обработке данных для прикладных про­грамм. СУБД обеспечивает средства организации дан­ных, доступ к ним согласно предварительно определен­ным правилам.

Создание системного ПО ММПС сводится к допол­нению ОС базовых МПМ, из которых состоит ММПС, средствами для реализации параллельных процессов и возможности параллельной работы.

Инструментальное ПО состоит из программ, облег­чающих создание как системного, так и прикладного ПО. К нему относят, например, ассемблеры и трансля­торы.

Прикладное ПО ММПС состоит из программ, пред­назначенных для решения задач пользователя. При­кладное ПО требует для своего создания самого боль­шого объема работ. Затраты на создание приклад­ного ПО зависят от уровня системы подготовки про­грамм (СПП), количества и разнообразия требуемых прикладных программ. Более высокий уровень СПП уменьшает затраты на создание конкретной приклад­ной программы, однако при этом увеличиваются затра­ты на создание СПП. Зная требования к производи­тельности разрабатываемой ММПС для решения определенных задач, можно принять решение об уровне разрабатываемой СПП ММПС таким образом, чтобы общие затраты на создание ПО и библиотеки прикладных программ были минимальны. Каждый уровень ПО используется для создания необходимых прикладных программ и может быть применён для создания следующего, более высокого уровня ПО. Системные программы и трансляторы с языков, разработанные на определённом уровне, используется на более высоких уровнях ПО.

На уровнях 1 и 2 сложности ПО ММПС языков программирования ММПС является машинно-ориентиро­ванный язык и язык высокого уровня соответственно.

На уровне 3, где необходимо разработать трансля­тор с языка параллельного программирования, можно использовать существующие языки со средствами опи­сания параллельных процессов. Другим подходом яв­ляется использование процедурно-ориентированного языка программирования, расширенного необходимы­ми операторами и (или) программами.

На уровне 4 следует использовать язык параллель­ного программирования.

На уровнях 1 и 2 предполагается, что пользователь сам распараллеливает вычисления для МПМ, после чего для каждого МПМ разрабатывает свои программ­ные модули. Все пересылки информации между МПМ программирует пользователь, применяя программы межпроцессорных обменов операционной системы ММПС.

На уровне 3 СПП также предполагается, что поль­зователь распараллеливает программу самостоятельно. Однако в этом случае ему не нужно отдельно описывать программные единицы для каждого МПМ, поскольку при трансляции производится автоматическое разбие­ние программы по МПМ. Загрузку программных мо­дулей и обмен информацией между МПМ в процессе решения задачи выполняет супервизор мультипроцес­сорной обработки.

Вопросы разработки операционных систем ММПС рассматриваются в ряде работ, где обсуждаются опыт и проблемы создания эффективного программного обеспечения ММПС.

17.5 Принципы построения обеспечений мультимикропроцессорных систем

Принципы построения мультимикропроцессорных моделирующих средств связаны с архитектурой ЭВМ, которая развивается в направлении создания вычисли­тельных средств сверхвысокой производительности, наиболее эффективной формы общения пользователя с ЭВМ, уменьшения стоимости вычислительных работ. Рассмотрим направления развития архитектуры ЭВМ III поколения к ЭВМ IV и V поколений:

традиционное (поэтапное) преобразование модели алгоритма в объекты операционной среды. Послед­нее достижение — виртуальная операционная среда, при использовании которой естественны потери на трансляцию, контроль и управление вычислительным процессом. Эффективность вычислительных средств в указанном направлении повышается за счет повыше­ния производительности ЭВМ;

исходное проектирование операционной среды под модель класса алгоритмов и задач. К этому направле­нию относится создание суперЭВМ, рекурсивных машин. В последнее время заметны успехи в создании вычислительных средств с программируемой архитек­турой;

создание процессоров с управлением от потоков данных. В процессорах, управляемых потоками дан­ных, отсутствуют традиционное устройство управле­ния и счетчик команд. Информация обрабатывается не в последовательности, задаваемой программой, а по мере готовности данных, подобно обработке в аналого­вой технике. Применение потоковых ЭВМ связано с необходимостью разработки соответствующих про­граммных и аппаратных средств;

создание    универсальной   операционной   среды высокого уровня   как  некоторого  промежуточного программирования, позволяющего свести к минимуму потери на преобразование, а такжереализующего наибо­лее эффективнуюсхему интерпретации. Работы в дан­ном направлении привели к функционально и объект­но-ориентированной архитектурам. Эти архитектуры предусматривают объединение аппаратных и программ­ных модулей в функциональные модули. Операцион­ная среда имеет проблемный характер, она определяет­ся в концептуальных понятиях решаемой проблемы и отображаемых процессов.

Именно последнее направление в наибольшей сте­пени характеризует архитектуру моделирующей ММПС. Основные преимущества функционально-ориентированной архитектуры состоят в упрощении проектирования систем со сложной конфигурацией, в возможности выбора способов реализации функций (аппаратного, программного, микропрограммного).