Попов И.И., Матвеев А.А., Максимов Н.В. Архитектура электронно-вычислительных машин и систем (2004) (1186255), страница 39
Текст из файла (страница 39)
Напрактике часто используется соединение устройств в цепь, при которомприоритет устройства определяется местом его подключения к шине.Для контроля доступа к шине используется отдельный блок управления.Динамические приоритетыТак же, как и в предыдущем алгоритме, устройства получаютуникальные приоритеты, однако в отличие от него эти приоритетынепостоянны во времени. Приоритеты динамически изменяются,предоставляя устройствам более или менее равные шансы получениядоступа к шине.
Наиболее часто применяются следующие способыизменения приоритетов: наивысший приоритет предоставляетсяустройству, наиболее долго не использовавшему шину и циклическаясмена приоритетов. Контроль доступа к шине осуществляет устройство,получившее доступ к шине в предыдущем цикле арбитража.Фиксированные временные интервалыКаждое устройство по порядку получает одинаковый временнойинтервал для осуществления передачи. Если устройство не имеетданных для передачи, то интервал, тем не менее, не предоставляетсяследующему устройству.Очередь FIFOСоздается очередь запросов “первый пришел – первый ушел”,однако сохраняется проблема арбитража между почти одновременнымизапросами, а также возникает необходимость поддержания очередизапросов достаточной длины.
Преимуществом данного алгоритмаявляется возможность достижения максимальной пропускнойспособности шины.213Особенности реализации шинВнутри микросхем шины используются для объединенияфункциональных блоков микропроцессоров, микросхем памяти,микроконтроллеров. Шины используются для объединения устройств напечатных платах и печатных плат в блоках. В последнее время широкоприменяются шины следующих стандартов:ISA – Industry Standard ArchitectureEISA – Extended ISAVESA – Video Electronics Standards AssociationPCI – Peripheral Computer InterconnectVME – Versabus Module EuropeI2C – Inter Integrated CircuitAGP – Accelerated Graphic PortШины используются также в мезонинной технологии, где набольшой плате устанавливается один или несколько шинных разъемовдля установки меньших плат, так называемых мезонинов.Шины, объединяющие устройства, из которых состоитвычислительная система, являются критическим ресурсом, отказкоторого может привести к отказу всей системы.
Шины обладают такжерядом принципиальных ограничений. Возможность масштабируемостишинных структур ограничивается временем, затрачиваемым наарбитраж и количеством устройств, подключенных к шине. При этомчем больше подключенных устройств, тем больше время, затрачиваемоена арбитраж. Время арбитража ограничивает и пропускную способностьшины. Кроме того, в каждый момент времени шина используется дляпередачи только одним устройством, что становится узким местом приувеличении количества подключенных устройств.
Пропускнаяспособность шины ограничивается ее шириной – количествомпроводников, используемых для передачи данных – и тактовой частотойее работы. Данные величины имеют физические ограничения.Простые коммутаторы с пространственным разделениемПростые коммутаторы с пространственным разделениемпозволяют одновременно соединять любой вход с любым однимвыходом (ординарные) или несколькими выходами (неординарные).Такиекоммутаторыпредставляютсобойсовокупностьмультиплексоров, количество которых соответствует количествувыходов коммутатора, при этом каждый вход коммутатора должен бытьзаведен на все мультиплексоры.
Структура этих коммутаторов показанана рис. 26.214Рис. 26. Простой коммутатор с пространственным разделением.Достоинства:• возможность одновременного контакта со всеми устройствами• минимальная задержкаНедостатки:• высокая сложность порядка n x m, где n – количество входов, m –количество выходов.• сложность обеспечения надежностиСоставные коммутаторыПростые коммутаторы имеют ограничения на число входов ивыходов, а также могут требовать большого количества оборудованияпри увеличении этого числа (в случае пространственных коммутаторов).Поэтому для построения коммутаторов с большим количеством входови выходов используют совокупность простых коммутаторов,объединенных с помощью линий “точка-точка”.Составные коммутаторы имеют задержку, пропорциональнуюколичеству простых коммутаторов, через которые проходит сигнал отвхода до выхода, т.е.
числу каскадов. Однако объем оборудованиясоставного коммутатора меньше, чем простого с тем же количествомвходов и выходов.Чаще всего составные коммутаторы строятся из прямоугольныхкоммутаторов 2х2 с двумя входами и выходами. Они имеют двасостояния: прямое пропускание входов на соответствующие выходы иперекрестное пропускание. Коммутатор 2 х 2 состоит из собственноблока коммутации данных и блока управления. Блок управления взависимости от поступающих на него управляющих сигналов215определяет, какой тип соединения следует осуществить в блокекоммутации: прямой или перекрестный. При этом если оба входа хотятсоединиться с одним выходом, то коммутатор разрешает конфликт исвязывает с данным выходом только один вход, а запрос на соединениесо стороны второго блокируется или отвергается.Коммутатор КлозаКоммутатор Клоза может быть построен в качестве альтернативыдля прямоугольного коммутатора с (m x d) входами и (m x d) выходами.Он формируется из трех каскадов коммутаторов: m коммутаторов (d x d)во входном каскаде, m коммутаторов (d x d) в выходном и dпромежуточных коммутаторов (m x m).Рис.
27. Коммутатор Клоза 3×4Соединения внутри коммутатора устроены следующим образом:j-й выход i-ого коммутатора входного каскада соединен с i-ым входом jого промежуточного коммутатораj-й вход k-ого коммутатора выходного каскада соединен с k-ым выходомj-ого промежуточного коммутатораДанный тип составных коммутаторов позволяет соединять любойвход с любым выходом, однако при установленных соединенияхдобавление нового соединения может потребовать разрыва ипереустановления всех соединений.216Баньян-сетиКоммутаторы этого типа строятся на базе прямоугольныхкоммутаторов таким образом, что существует только один путь откаждого входа к каждому выходу.Наиболее важной разновидностью баньян-сетей является дельтасеть.
Она формируется из прямоугольных коммутаторов (a×b) ипредставляет собой n-каскадный коммутатор с an входами и bnвыходами. Составляющие коммутаторы соединены так, что длясоединения любого входа и выхода образуется единственный путьодинаковой для всех пар входов и выходов длины.Распределенные составные коммутаторыВ распределенных вычислительных системах ресурсы разделяютсямежду задачами, каждая из которых исполняется на своемподмножестве процессоров.
В связи с этим возникает понятие близостипроцессоров, которая является важной для активно взаимодействующихпроцессоров. Обычно близость процессоров выражается в различнойкаскадности соединений, различных расстояниях между ними.Один из вариантов создания составных коммутаторов заключаетсяв объединении прямоугольных коммутаторов (v+1 × v+1), v > 1, такимобразом, что один вход и один выход каждого составляющегокоммутатора служат входом и выходом составного коммутатора.
Ккаждому внутреннему коммутатору подсоединяются процессор ипамять, образуя вычислительный модуль с v каналами для соединения сдругими вычислительными модулями. Свободные v выходов и vвыходов каждого вычислительного модуля соединяются линиями“точка-точка” с входами и выходами других коммутаторов, образуя графмежмодульных связей.Наиболее эффективным графом межмодульных связей с точкизрения организации обмена данными между вычислительнымимодулями является полный граф.
В этом случае между каждой паройвычислительных модулей существует прямое соединение. При этомвозможны одновременные соединения между произвольнымивычислительными модулями.Однако обычно создать полный граф межмодульных связейневозможно по различным причинам. Обмен данными приходитсяпроизводить через цепочки транзитных модулей. Из-за этогоувеличиваются задержки, и ограничивается возможность установленияодновременных соединений. Таким образом, эффективный графмежмодульных связей должен минимизировать время межмодульныхобменовимаксимизироватьколичествоодновременноактивизированных соединений.
Кроме того, на выбор графа217межмодульных связей влияет учетвычислительных модулей и линий связи.отказовивосстановленийГраф межмодульных связей Convex Exemplar SPP1000В качестве примера реального графа межмодульных связейрассмотрим структуру системы Convex Exemplar SPP1000. В основекаждого составного блока системы лежит прямоугольный коммутатор(5×5), до 16 подобных блоков объединяются каналами “точка-точка” вкольцо (одномерный тор), состоящее из четырех независимыхподканалов.Внутри каждого блока четыре входа и выхода прямоугольногокоммутатора (5х5) используются для взаимодействия устройств внутриблока (при этом в каждом блоке располагается по два процессора),пятые вход и выход используются для объединения блоков в кольцо.При этом каждый из четырех кольцевых каналов рассматривается какнезависимый ресурс, и система сохраняет работоспособность до тех пор,пока существует хотя бы один функционирующий кольцевой канал.Рис.
28. Граф межмодульных связей Convex Exemplar SPP1000218Граф межмодульных связей МВС-100Система МВС-100 предлагает блочный подход к построениюархитектуры параллельной вычислительной системы. Структурныймодуль системы состоит из 16 вычислительных узлов, образующихматрицу 4×4 (рис. *). Угловые узлы соединяются попарно по диагонали,таким образом, максимальная длина пути между любой парой элементовравна трем. В исходной же матрице 4 х 4 эта длина равна шести.Каждый блок имеет 12 выходов, что позволяет объединять их в болеесложные структуры.Для МВС-100 базовый вычислительный блок содержит 32 узла.Такой блок строится из двух структурных модулей в соответствии сосхемой, приведенной на рис.
29. В этом случае максимальная длина путимежду любой парой вычислительных узлов равна пяти. При этомостается 16 свободных связей, что позволяет продолжить объединение.При объединении двух базовых блоков по схеме, приведенной на рис. 6(64 вычислительных узла) максимальная длина пути составит 6, как и вгиперкубе, количество свободных связей будет равно 16.Рис. 29. Структурный модуль МВС-100219Рис. 30.
Варианты объединения структурных модулей МВС-100Граф межмодульных связей МВС-1000Архитектура системы МВС-1000 аналогична архитектуре МВС100. Основой системы является масштабируемый массив процессорныхузлов. Каждый узел содержит вычислительный микропроцессор Alpha21164 с производительностью 2 GFLOPS при тактовой частоте 500 MHzи оперативную память объемом 128 MB, с возможностью расширения.Процессорные узлы взаимодействуют через коммуникационныепроцессоры TMS320C44 производства Texas Instruments, имеющие по 4внешних канала (линка) с общей пропускной способностью 80 Мбайт/с(20 Мбайт/с каждый).