Реферат по курсу «Микропроцессорные системы» на тему «Распределенные вычислительные системы»
Вид материала | Реферат |
- Первое информационное сообщение 8 российская конференция с международным участием, 125.72kb.
- Микропроцессорные системы, 177.83kb.
- Микропроцессорные системы, 75.23kb.
- Примерная программа учебной дисциплины микропроцессоры и микропроцессорные системы, 382.92kb.
- Рабочая программа учебной дисциплины микропроцессоры и микропроцессорные системы для, 378.72kb.
- Учебно-методический комплекс дисциплины вычислительные системы, сети и телекоммуникации, 338.43kb.
- Реферат по дисциплине: «Микропроцессорные системы» На тему: «Разработка микропроцессорной, 114.65kb.
- Программа дисциплины Вычислительные системы и телекоммуникации для направления 080700., 173.01kb.
- Учебно-методический комплекс по дисциплине вычислительные системы, сети и телекоммуникации, 287.7kb.
- Программа государственного экзамена по специальности 220100 «Вычислительные машины,, 83.9kb.
АЛУ – арифметико-логическое устройство, ЛП – локальная память, ЛК – локальный коммутатор,
поток команд,
поток данных
Рис. 1. Развитие архитектуры вычислительных средств
Вычислительные системы с программируемой структурой
Вычислительные системы (ВС) с программируемой структурой – это распределенные средства обработки информации. В таких ВС нет единого функционально и конструктивно реализованного устройства: все компоненты (устройство управления, процессор и память) являются распределенными. Тип архитектуры ВС – MIMD; в системах заложена возможность программной перенастройки архитектуры MIMD в архитектуры MISD или SIMD.
Основная функционально-структурная единица вычислительных ресурсов в системах рассматриваемого класса – это элементарная машина (ЭМ). Допускается конфигурирование ВС с произвольным числом ЭМ. Следовательно, ВС с программируемой структурой относятся к масштабируемым средствам обработки информации и допускают формирование конфигураций с массовым параллелизмом (Scalable Massively Parallel Architecture Computing Systems).
Вычислительные системы с программируемой структурой диалектически сочетают в себе достоинства универсальных и специализированных средств обработки информации, в них допускается автоматическое формирование виртуальных проблемно-ориентированных конфигураций. В таких ВС с достаточной полнотой воплощены перспективные архитектурные принципы, системы основаны на модели коллектива вычислителей, обладают большими потенциальными возможностями по обеспечению высоких значений показателей эффективности функционирования.
Ниже будут даны основные понятия ВС с программируемой структурой и описаны архитектуры реализаций систем (ВС “Минск-222”, МИНИМАКС, СУММА, МИКРОС, МВС). Каждая из реализаций по сути является семейством распределенных моделей или средств обработки информации. Модели формируются на единой аппаратно-программной базе и отличаются друг от друга структурой сети межмашинных связей и/или составом (числом ЭМ и их конфигурацией). Архитектура каждой реализации ВС характеризуется предельной гибкостью, отвечающей текущему уровню развития элементной базы и технологии производства средств вычислительной техники.
Понятие о вычислительных системах с программируемой структурой
В конвейерных, матричных и мультипроцессорных ВС принципы модели коллектива вычислителей воплощены не достаточно полно. Пожалуй самым главным недостатком архитектуры таких ВС является наличие единого ресурса (устройства управления, управляющей ЭВМ, коммутатора и т.п.). Отказ единого ресурса приводит к отказу ВС в целом, что не приемлемо даже с позиций надежности и живучести. Единый ресурс не позволяет организовать мультипрограммную работу, при которой на различных подсистемах – связных подмножествах технических ресурсов (элементарных процессорах) – будут выполняться одновременно различные программы.
Значительный прогресс в практической реализации принципов модели коллектива вычислителей обеспечивается вычислительными системами с распределенными средствами управления. В отечественных научно-технических работах к названным системам относят ВС с программируемой структурой.
В вычислительных системах с программируемой структурой диалектически сочетаются архитектурные свойства универсальных и специализированных средств обработки информации. Рассматриваемые ВС – это универсальные параллельные компьютеры, которые способны программно настраиваться под структуру и параметры решаемых задач.
Ниже будут даны описания сосредоточенных и распределенных ВС, составляющих класс систем с программируемой структурой.
Определение ВС
При построении ВС с программируемой структурой доминирующими являются следующие три принципа:
- массовый параллелизм (параллельность выполнения большого числа операций);
- программируемость (автоматическая перестраиваемость или реконфигурируемость) структуры;
- конструктивная однородность.
Следует подчеркнуть, что принцип программируемости структуры вычислительной системы является таким же важным, каким в свое время было предложение Дж. фон Неймана относительно организации в ЭВМ автоматической модификации программ. (Он предложил хранить программу в памяти машины вместе с данными, что позволило модифицировать программу с помощью самой ЭВМ.) Принцип программируемости структуры требует, чтобы в ВС была реализована возможность “хранения” программного описания функциональной структуры и программной ее модификации (перенастройки) с целью достижения адекватности структурам и параметрам решаемых задач.
Под ВС с программируемой структурой понимается совокупность элементарных машин, функциональное взаимодействие между которыми осуществляется через программно настраиваемую сеть связи. Элементарная машина (ЭМ) – это композиция из вычислительного модуля и системного устройства. Вычислительный модуль (ВМ) служит как для переработки и хранения информации, так и для выполнения функций по управлению системой в целом. Системное устройство (СУ) – это та аппаратурная часть ЭМ, которая предназначается только для обеспечения взаимодействия данной ЭМ с ближайшими соседними машинами (точнее, с системными устройствами, с которыми имеется непосредственная связь).
Под ВМ в общем случае понимается аппаратурно-программный комплекс, структура и состав которого допускают варьирование в широких пределах. Здесь под ВМ будем понимать лишь аппаратурную часть этого комплекса. Минимальный состав ВМ представляется (элементарным или локальным) процессором с (локальной) оперативной памятью; промежуточный – ЭВМ с каналами (например, прямого доступа к памяти, селекторными, мультиплексными), внешними запоминающими устройствами, устройствами ввода-вывода информации, терминалами и т.п.; максимальный – вычислительной системой (или средством, основанным на модели коллектива вычислителей). Вычислительные модули могут быть произвольного состава, но для компоновки каждого из них в пределах одной ВС, как правило, используется один и тот же тип процессора. При более широкой трактовке класса ВС с программируемой структурой можно ограничиться лишь требованием программной совместимости вычислительных модулей.
Простейшие и развитые конфигурации СУ – это локальный коммутатор и коммуникационный процессор. Простейшая конфигурация – это элементарный процессор, т.е. композиция локального процессора (арифметико-логического устройства и локальной памяти) и предельно простого локального коммутатора (рис. 1).
Системы с программируемой структурой предназначаются для решения задач произвольной сложности (с произвольным объемом вычислений) как в моно-, так и в мультипрограммным режимах, они могут использоваться как вычислительные средства общего назначения либо как проблемно-ориентированные, могут эксплуатироваться автономно либо в составе сложной системы.
Сосредоточенные и распределенные ВС
Вычислительные системы с программируемой структурой являются распределенными средствами и в архитектурном, и в функциональном планах. В самом деле, в них любые ресурсы (процессоры, память и устройства управления и системные) представляются множествами соответствующих модулей. Тем не менее в классе вычислительных систем с программируемой структурой выделяют (пространственно) сосредоточенные и распределенные ВС. Характерной особенностью сосредоточенных ВС является компактное пространственное размещение средств обработки и хранения информации, при котором нет необходимости использовать телекоммуникационные сети (существующие абонентские или специально разработанные сети передач данных). В сосредоточенных системах нет линий связи, вносящих существенную задержку в работу ВС, нет жестких ограничений на топологию сети связи, на возможность параллельной передачи информации между функциональными модулями (процессорами, модулями памяти, ЭВМ и др.). В таких ВС среднее время передачи слова между функциональными модулями соизмеримо со средним временем выполнения одной операции в процессоре.
К распределенным ВС относят макросистемы – системы сложной конфигурации, в которых в качестве функциональных элементов выступают пространственно- рассредоточенные вычислительные средства, основанные на моделях вычислителя и коллектива вычислителей, и сети связи, обеспечивающие взаимный теледоступ между средствами обработки информации. Распределенная ВС – это объединение пространственно удаленных друг от друга сосредоточенных ВС, основанное на принципах:
1) параллельности функционирования сосредоточенных ВС (т.е. способности нескольких или всех сосредоточенных систем совместно и одновременно решать одну сложную задачу, представленную параллельной программой);
2) программируемости структуры (т.е. возможности автоматически настраивать сеть связи между сосредоточенными ВС);
3) гомогенности состава (т.е. программной совместимости различных сосредоточенных ВС и однотипности элементарных машин в каждой из них).
Распределенные ВС в общем случае предназначаются для реализации параллельных программ решения задач (произвольной сложности или с произвольным объемом вычислений, в монопрограммном и мультипрограммном режимах) на рассредоточенных в пространстве вычислительных ресурсах. Они должны быть приспособленными и для выполнения функций, присущих вычислительным сетям, и для реализации последовательных программ. В распределенных ВС допустимо централизованное и децентрализованное управление вычислительными процессами. Использование “длинных” каналов связи приводит в общем случае к необходимости учета запаздывания сигналов при передаче по ним информации.
Любое функциональное взаимодействие между сосредоточенными ВС, составляющими распределенную систему, производится через сеть связи. В сеть связи включаются каналы и системные устройства, распределенные по сосредоточенным ВС. В распределенных ВС нет принципиальных ограничений на физическую природу каналов; в них могут быть использованы двухпроводные, коаксиальные и радиорелейные линии связи, средства коммуникации на основе волоконной оптики, микроволновой и спутниковой связи и др. На СУ возлагается выполнение функций, свойственных системным устройствам для сосредоточенных ВС и устройствам связи для вычислительных сетей. Среди элементарных функций любого СУ есть осуществление обмена информацией между сосредоточенной ВС и каналом, а также может быть обеспечение транзитной передачи информации. Для мощных распределенных ВС системное устройство может быть реализовано как параллельный сервер.
Предельным по простоте вариантом сосредоточенной ВС является ЭМ, следовательно, простейшим вариантом распределенной ВС будет совокупность однотипных и регулярно соединенных ЭМ, использующая “длинные” программно-коммутируемые каналы межмашинной связи. В этом случае в состав ЭМ входят однотипные СУ.
Более развитым вариантом распределенных ВС являются системы, структура сети связи которых в целом является нерегулярной и которые компонуются из программно-совместимых ЭВМ. В данном случае сеть связи организуется посредством программно-совместимых системных устройств. В топологическом плане такие ВС классифицируются как централизованные, децентрализованные, кольцевые и радиально-кольцевые системы. Топологическое изображение названных систем аналогично схемам, общепринятым для вычислительных сетей.
Распределенные системы, в которых выполняется условие программной совместимости ЭВМ, будем относить к гомогенным ВС. В теоретическом плане можно рассматривать и гетерогенные распределенные ВС, состоящие из программно-несовместимых ЭВМ и сосредоточенных ВС и имеющие сеть связи с нерегулярной структурой. Однако реализация гетерогенных систем наталкивается на большие трудности, связанные прежде всего с организацией их эффективного функционирования.
В подкласс распределенных ВС входят вычислительные сети. Несмотря на внешнюю схожесть распределенных систем и сетей, имеется принципиальное отличие в их функционировании. Вычислительные сети производят обработку потоков задач, как правило, представленных последовательными программами. Параллельные программы могут иметь место, если в сети имеются сосредоточенные ВС (например, в сети ARPA такой системой была ILLIAC-IV; в глобальной сети Internet функционирует большое разнообразие конвейерных, матричных, кластерных и мультипроцессорных ВС). Далее, решение каждой задачи выполняется на отдельной ЭВМ или сосредоточенной ВС, совместное использование нескольких ЭВМ и (или) ВС для решения одной задачи не допускается. При обслуживании потоков задач в вычислительных сетях осуществляются распределение нагрузки на ресурсы, передача информации, распределение программ и данных, дистанционная обработка и т.п. В сетях основным режимом является диалоговый, при котором взаимодействие происходит между двумя абонентами (пользователь – ЭВМ или ВС, пользователь – пользователь). Естественно, в сетях одновременно может происходить большое число диалогов. Работа вычислительной сети в этом отношении напоминает функционирование телефонной (проводной или сотовой) сети.
В распределенных ВС наряду с режимом работы, характерным для вычислительных сетей, реализуется также режим решения общей сложной задачи. Задача представляется параллельной программой, каждая макроветвь (или ветвь), которой реализуется на своей сосредоточенной ВС (или ЭВМ). Для распределенных ВС при решении одной сложной задачи характерен режим группового обмена информацией между абонентами (машины–машины, машины–пользователь).
Таким образом, распределенные системы относятся к более общему классу средств обработки информации по сравнению с вычислительными сетями и качественно от них отличаются возможностью решения одной сложной задачи на распределенных вычислительных ресурсах.
На производительность распределенных ВС (при реализации параллельных программ сложных задач) сильно влияют скорость передачи информации в каналах и запаздывание сигналов при передаче информации из одной сосредоточенной ВС (в простейшем варианте системы из одной ЭМ) в другую. В качестве мер снижения этого влияния могут служить совмещение счета с обменом информацией и применение в полной мере методики крупноблочного распараллеливания сложных задач.
При распараллеливании процесса вычислений (разбиении задачи на параллельные ветви – информационно связанные подзадачи – и размещении их в элементарных машинах системы) нужно стремиться к укрупнению частей задачи, решаемых автономно каждой ЭМ, и к уменьшению количества информации, передаваемой по каналам между машинами. Практика распараллеливания сложных задач показывает, что по мере укрупнения “автономных” частей задачи имеет место уменьшение количества информации, передаваемой при межмашинных взаимодействиях. Поэтому даже при относительно малой скорости передачи информации по межмашинным каналам имеется реальная возможность эффективно решать задачу не только на сосредоточенных, но и на распределенных ВС (если эта задача может быть разбита на такие крупные подзадачи, время параллельного счета, для которых будет больше времени, расходуемого на обмен информацией между машинами, реализующими подзадачи).
При построении распределённых ВС большое значение приобретают экономические факторы. Так, стоимость распределённой ВС (в сравнении с сосредоточенной системой) в существенной мере определяется стоимостью достаточно дорогих физических каналов связи между рассредоточенными в пространстве вычислительными ресурсами (сосредоточенными системами или в простейшем случае – элементарными машинами). Следовательно, для снижения стоимости системы в целом приходится при построении ВС использовать минимальное число каналов связи между ЭМ. В простейших приложениях достаточно ограничиться топологией сети межмашинных связей, обеспечивающей непосредственную связь любой ЭМ с двумя ЭМ (достаточно использовать одномерные или кольцевые структуры), а также применить способ межмашинной передачи информации в последовательной форме.
Появившиеся в конце 20 столетия так называемые кластерные ВС или вычислительные кластеры суть варианты сосредоточенных и распределенных систем. Кластеры подразделяются на физические и логические. Первые кластеры являются специально сконфигурированными вычислительными системами из серийных аппаратурно-программных средств ЭВМ. Логические (или виртуальные) кластеры организуются в аппаратурно-программной среде вычислительных сетей. Для такой организации используются дополнительные системные средства, (как правило, программные), которые превращают вычислительную сеть в средство для реализации параллельных вычислений.
Целесообразно подчеркнуть, что современное информационное пространство – это локальные и распределённые корпоративные вычислительные сети и глобальная сеть Internet. Дальнейшим шагом в развитии архитектуры сетей должны стать распределенные вычислительные системы, способные реализовать параллельные алгоритм решения сложной задачи на рассредоточенных ЭВМ и ВС. По-видимому, наиболее перспективны распределённые ВС, основанные на принципах программируемости межмашинных связей и конструктивной однородности.
Опыт 70-х годов 20 столетия в создании и эксплуатации распределённых ВС убеждает в том, что такие системы суть эффективный инструментарий решения сложных задач. Установлено, что при реализации параллельных программ сложных задач на машинах распределённой ВС достигается производительность , где коэффициент – быстродействие одной ЭВМ. В распределённых вычислительных системах эффективно реализуются все режимы работы, характерные для вычислительных сетей.
Создание распределённых ВС из серийно выпускаемых ЭВМ и ВС не вызывает существенных инженерных и математических трудностей. Как правило, требуются незначительные доработки базового программного обеспечения, связанные с реализацией системных операций в виде подпрограмм и с введением системного диспетчера в операционную систему. Это же самое можно сказать и относительно организации (логических) вычислительных кластеров на базе существующих вычислительных систем.
Таким образом, распределённые вычислительные системы в сравнении с сетями являются более общим классом средств переработки информации.
В конце 20 столетия в индустрии обработки информации получили развитие так называемые Grid-технологии. На основе этих технологий создаются большемасштабные пространственно-распределённые системы обработки информации, способные реализовать параллельные алгоритмы решения суперсложных задач на своих рассредоточенных ресурсах. Такая Grid-система суть композиция множества ЭВМ и вычислительных систем, пространственно-распределённой коммуникационной сети и программных компонентов для осуществления параллельных вычислений. В Grid-системе могут использоваться гетерогенные и несовместимые вычислительные средства, однако для их совместной работы над параллельными алгоритмами должны быть применены специальные механизмы (например, протоколы) поддержки. Очевидно, что введение в Internet программных компонентов для реализации параллельных алгоритмов на её распределённых вычислительных ресурсах превращает сеть в Grid-систему. Из сказанного следует, что Grid-система – это ничто иное как распределённая ВС в том понимании, которое представлено в данном разделе.
Архитектурные особенности вычислительных систем с прграммируемой структурой
В архитектурном плане вычислительные системы с программируемой структурой – это аппаратурно-программные объекты, основанные на модели коллектива вычислителей. В этом разделе будет дана детализация структуры ВС, точнее будут изложены элементы теории структур.
Структура ВС
Структура ВС описывается графом , множеству вершин которого сопоставлены элементарные машины (или системные устройства, или локальные коммутаторы), а множеству рёбер – линии межмашинных связей.
Какие же структуры следует использовать в ВС, особенно, в масштабируемых и большемасштабных ВС? Это достаточно сложный вопрос, однако аксиоматически ясно, что полносвязные структуры (когда любая ЭМ непосредственно связана с каждой ЭМ) практически не приемлемы (хотя бы из-за ограничений существующих технологий БИС). Нужны структуры, которые были бы существенно проще “полных графов” и которые бы позволяли достичь “эффективного” решения задач (с учётом ненадёжности компонентов ВС). Здесь внимательнее рассмотрим структурные аспекты, прежде всего связанные с производительностью и живучестью ВС.
Требования, предъявляемые к структуре ВС
Остановимся на требованиях, которые предъявляются к структурам современных вычислительных систем.
1. Простота вложения параллельного алгоритма решения сложной задачи в структуру ВС
Структура ВС должна быть адекватна достаточно широкому классу решаемых задач; настройка проблемно-ориентированных виртуальных конфигураций и реализация основных схем обмена информацией между ЭМ не должны быть связаны со значительными накладными расходами (например, с большим временем работы операционной системы по вложению параллельного алгоритма).
2. Удобство адресации элементарных машин и “переноса” подсистем в пределах вычислительной системы
Вычислительная система должна предоставлять возможность пользователям создавать параллельные программы с виртуальными адресами ЭМ. Следовательно, структура ВС должна позволять реализовать простейший “механизм” преобразования виртуальных адресов ЭМ в реальные (физические) адреса машин ВС. Необходимость организации одновременного решения нескольких задач на ВС (т.е необходимость разделения пространства элементарных машин между задачами) обосновывает требование простоты перемещения подсистем в пределах системы (при сохранении их топологических свойств). Итак, при выполнении данных требований будет достигнута эффективность ВС как при работе в моно-, так и мультипрограммных режимах. Кроме того следует отметить, что данные требования – это необходимые условия для создания отказоустойчивых параллельных программ.
3. Осуществимость принципа близкодействия и минимума задержек при межмашинных передачах информации в ВС
Принцип близкодействия предопределяет реализацию обменов информацией между “удалёнными” друг от друга ЭМ через промежуточные машины системы. Следовательно, в условиях ограниченности числа связей у каждой ЭМ структура должна обеспечивать минимум задержек при “транзитных” передачах информации.
4. Масштабируемость и большемасштабность структуры ВС
Для формирования конфигураций ВС с заданной эффективностью требуется, чтобы структура обладала способностью к наращиванию и сокращению числа вершин (машин). Изменение числа ЭМ в ВС не должно приводить к коренным перекоммутациям между машинами и (или) к необходимости изменения числа связей для любых ЭМ.
Для достижения высокой производительности ВС при существующих возможностях микропроцессорной техники требуется число ЭМ порядка . Для поддержки большемасштабности (такого массового параллелизма) необходимо, чтобы структура ВС обладала способностью эффективно осуществлять межмашинные обмены информацией в условиях невозможности реализации связей по полному графу (например, из-за ограниченности числа выводов с корпусов БИС).
5. Коммутируемость структуры ВС
Как уже было показано, ВС должна быть приспособлена к реализации групповых межмашинных обменов информацией. Следовательно, структура ВС должна обладать способностью осуществлять заданное число одновременных непересекающихся взаимодействий между элементарными машинами.
6. Живучесть структуры ВС
Важным требованием к ВС в целом является обеспечение работоспособности при отказе её компонентов или даже подсистем. Основой функциональной целостности ВС как коллектива элементарных машин является живучесть структуры. Под последним понимается способность структуры ВС обеспечить связность требуемого числа работоспособных ЭМ в системе при ненадёжных линиях межмашинных связей.
7. Технологичность структур ВС
Структура сети межмашинных связей ВС не должна предъявлять особых требований к элементной базе, к технологии изготовления микропроцессорных БИС. Системы должны быть восприимчивы к массовой технологии, их “вычислительное ядро” должно формироваться из массовых микропроцессорных БИС. Последнее позволит достичь приемлемых значений технико-экономических показателей ВС.
Анализ путей удовлетворения перечисленным требованиям приводит к безальтернативному выбору однородных (или регулярных, т.е. описываемых однородными графами) структур для формирования вычислительных систем. Заметим, что аналогичный вывод сделан в гл. 3 на основе опыта применения методики крупноблочного распараллеливания трудоёмких задач.