Меркулов В.И., Дрогалин В.В. Авиационные системы радиоуправления. Том 2 (2003) (1151998), страница 26
Текст из файла (страница 26)
После обработки очередной порции информации одним из сегментов она передается на следующий. На каждом такте обработки в первый сегмент вводится новый операнд, а из последнего сегмента выдается результат. Конвейер весьма эффективен при обработке векторов и используется в большинстве компьютеров, сконструированных для этих целей (например, С)(АУ и др.). Особенно выгодно использование конвейера для обработки команд, что используется, практически, во всех современных микропроцессорах. Классификацию архитектур компьютеров пытались провести многие исследователи. Чаще всего, как наиболее простая, используется классификация Флинна (Г!(лп 1972) [72). В основе классификации Флинна используются два понятия: потоки команд и потоки данных.
Существует 4 варианта комбинации потоков (см. табл. 9.2): 133 81Я) — Япб!е 1пзггцсбоп 8!геагп Япб!е Вага Ягеагп, один поток команд, один поток данных; 31МΠ— 8!пб!е 1пмгцсбоп 8ггеат Мц!бр1е Рава Бсгеат, один поток команд, много потоков данных; М1Я) — Мц!Нр!е 1пзггцсбоп 8ггеагп Япб!е )за!а 8ггеапз, много потоков команд, один поток данных; М1МО - Мц!Нр!е 1па!госпои Бггеагп Мц!Нр!е 1)а!а Бггеапз, много потоков команд, много потоков данных. Таблица 9.2. Потоки команд Потоки данных Названия Примеры Классическая последовательная однопроцессорная машина фон Неймана Один Один Б!50 Векторный суперкомпьютер, массово-параллельный процессор Один Много Б!МО М!8Р Много Один Не существует Много Много М!МО Мультипроцессоры, мультикомпьютеры пз Лякахь Рис.
9.9 Рис. 9.8 !34 На рис. 9.8 — 9.1! показаны упрощенные архитектуры параллельного действия по классификации Флинна. 81М1)-компьютеры (рис. 9.8 и 9.9) состоят из одного устройства управления (управляющего модуля) и нескольких модулей обработки данных, называемых процессорными элементами (ПЭ). Количество модулей ПЭ в таких компьютерах может достигать нескольких тысяч.
Од- ним из преимуществ данной архитектуры считается эффективная реализация логики вычислений. Подклассом ЯМР-компьютеров являются векторные компьютеры. Другой пример Б1МР-компьютера — матрич-ные процессоры (Апау Ргосезаог), которые специализированы для конкретных задач, допускающих матричное представление (например, обработка изображений). Класс архитектур М1МР наиболее богат примерами. В классе М1МР несколько независимых процессоров работают как часть большой системы. В эту категорию попадают большинство параллельных процессоров: мультипроцессоры и мультикомпьютеры.
Мультипроцессор — это колтьютерная гастелло, котори» содерлсит несколько процессоров, включающих устройство управления (УУ) и арифл~етико-логическое устройство (АЛУ) (рис. 9.10). Рис. 9.10 В мультипроцессоре существует общая для всех процессоров операционная система, которая оперативно распределяет вычислительную нагрузку между процессорами.
Взаимодействие между отдельными процессорами организуется наиболее простым способом — через общую оперативную память. Мультипроцессор, как и все компьютеры, должен содержать устройства ввода-вывода. В одних мультипроцессорных системах только определенные процессоры имеют доступ к устройствам ввода-вывода, выполняя специальную функцию ввода-вывода. В других мультипроцессорных системах каждый процессор имеет доступ к любому устройству ввода-вывода. Если все процессоры имеют равный доступ ко всем модулям памяти и всем устройствам ввода-вывода и каждый процессор взаимозаменяем с другими процессорами, то такая система называется 135 БМР (Бупппе~пс Ми1пргосеааог — симметричный мультипроцессор). БМР функционирует под управлением одной операционной системы. Территориальную распределенность мультипроцессор не поддерживает — все его блоки (модули) располагаются в одном или нескольких близко расположенных конструктивах, как и у обычного компьютера. Основное достоинство мультипроцессора — его высокая производительность, которая достигается за счет параллельной работы нескольких процессоров.
Так как при наличии общей памяти взаимодействие процессоров происходит очень быстро, мультипроцессоры могут эффективно выполнять даже приложения с высокой степенью связи по данным. Еще одним важным свойством мультипроцессорных систем является достаточно высокая отказоустойчивость, обеспечиваемая за счет снижения производительности при отказе каких-либо элементов.
Количество процессоров в ЯМР, как правило, ограничено (не превышает 32). Использование ЯМР обеспечивает: масштабирование приложений путем их применения без преобразования на новых более производительных аппаратных средствах; программирование на базе разделяемой памяти; одинаковое время доступа ко всей памяти; возможность пересылки сообщений с большой пропускной способностью; поддержку соответствия данных, расположенных в совокупности КЭШ-памятей и блоках основной памяти, неделимые операции синхронизации и блокировки. Кластерная система образуется из вычислительных модулей (ВМ) по структуре БМР, объединенных системой связи или разделяемыми устройствами внешней памяти, например дисковыми массивами. Для образования кластерных систем используются либо специализированные фирменные средства, либо универсальные локальные и глобальные сети (Ейзегпей ННН и др.).
Размер кластера может достигать десятков модулей ВМ. Создание больших мультипроцессоров связано с некоторыми трудностями. Чтобы избежать проблем связывания процессоров с памятью были предложены вычислительные системы, состоящие из взаимосвязанных компьютеров, у каждого из которых имеется своя собственная оперативная память (ОП), а общей памяти нет. Такие вычислительные системы называются мультикомпьютерами (рис. 9.11). Операционная система в процессоре мультикомпьютера не может получить доступ к памяти, относящейся к другому процессору, просто путем выполнения, например, команды «чтение».
Ему приходится отправлять сообщение и ждать ответа. Именно способность операционной системы считывать слово из отдаленного модуля памяти с помощью команды «чтение» отличает мультипроцессоры от мультикомпьютеров. 136 Работа любого мультикомпьютера определяется двумя главными компонентами: высокоскоростным механизмом связи процессоров (компьютеров) и системным программным обеспечением, которое предоставляет пользователям и приложениям прозрачный доступ к ресурсам всех компьютеров, входящих в мультикомпьютер. В состав средств связи входят программные модули, которые обеспечивают распределение вычислительной нагрузки, синхронизацию вычислений и реконфигурацию системы. По сравнению с мультипроцессорами возможности параллельной обработки в мультикомпьютерных системах ограничены: эффективность распараллеливания резко снижается, если параллельно выполняемые задачи тесно связаны между собой по данным.
Это объясняется тем, что связь между компьютерами в мультикомпьютере менее тесная, чем между процессорами в мультипроцессоре. Говорят, что в мульти- процессоре используются сильные программные и аппаратные связи, а в мультикомпьютере такие связи между обрабатывающими устройствами являются слабыми. Мультикомпьютеры можно разделить на две категории. Первая категория МРР (Маза!те!у Рата!!е! Ргосеззогз — процессоры с массовым параллелизмом).
Это дорогостоящие компьютеры, которые состоят из большого количества процессоров, связанных высокоскоростной коммуникационной сетью. МРР-системы, в отличие от кластеров, имеют более скоростные, как правило специализированные каналы связи между вычислительными модулями, а также широкие возможности по масштабированию. Однако, поддержка работоспособности и оптимизация загрузки процессоров в МРР менее развита по сравнению с кластерами в силу разнообра- !37 зия используемых программ и отсутствия функциональных связей между программами.
Вторил категория мультикомпьютера включает рабочие станции, которые связываются с помошью уже нмеюшейся технологии соединения: )Чепчогк оГ %огйз1апопа (сеть рабочих станций) и С(пя1ег оГ %огЫабопз (кластер рабочих станций — М1МР - система с распределенной памятью). Мультипроцессоры сложнее строить, но легче программировать, а мультикомпьютеры легче строить, но труднее программировать. Поэтому появились гибридные системы, в которых общую память организуют по-разному, получая в каждом случае какие-то преимущества и какие-то недостатки. Очень важно получить при этом расширяемую систему. 9.3.6. КОММУНИКАЦИОННАЯ СЕТЬ В НАРАЛЛЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ Важнейшим элементом архитектуры любого компьютера, а высокопроизводительных вычислительных сетей в особенности, является кояьпуяикициояяая сеть, связывающая процессоры с оперативной памятью, процессоры между собой, процессоры с другими устройствами.
Она оказывает решающее влияние на производительность системы. Трафик в такой сети состоит из пересылаемых данных и команд. Основной характеристикой сети является пропускная способность, измеряемая в битах в секунду. Мультипроцессоры н мультикомпьютеры, в данном контексте следует рассматривать как набор узлов (процессорных элементов, модулей памяти, переключателей) и соединений между ними. Организация внутренних коммуникаций вычислительной системы определяется ее топологией. Масштабируемость характеризует возрастание сложности соединений при добавлении в конфигурацию новых узлов.
Если система обладает высокой степенью масштабируемости, ее сложность будет незначительно изменяться при наращивании системы. Есть два типа топологий коммуникационных сетей статические и динамические. В случае статической сети все соединения фиксированы, а в динамической сети в межпроцессорных соединениях используются переключатели. Первый тип сетей более всего подходит для решения тех задач, в которых известны структуры и характер обмена данными. Динамические соединения более универсальны, но они дороже, их реализация сложнее.
Статические шопологию Соединение ПЭ через сетевой адаптер с помошью одиночной шины является самым простым и дешевым !38 Одиночная шина (рис. 9.12). Основной его недостаток заключается в том, что в каждый момент времени возможна только одна пересылка данных/команд. Пропускная способность обратно пропорциональна количеству процессоров, подРис.
9.12 ключенных к шине. Такой способ хорош только для систем, содержащих не более 10 процессоров. Более эффективным является другой способ соединения — одномерная решетка. У каждого элемента в этом случае есть две связи с соседями, а граничные элементы имеют по одной связи (рис. 9.13,а). Если замкнуть концы одномерной решетки, получим топологию «кольцо» (рис. 9.13,б). б) а) Рнс. 9.13 Обобщением одномерной решетки является д-мерная решетка, в которой у каждого ПЭ имеется 2о связей.