Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем (2005) (1186253), страница 47
Текст из файла (страница 47)
3.5. Классификация БазуВторой уровень в классификационном дереве фиксирует методреализации алгоритма. С появлением сверхбольших интегральныхсхем (СБИС) стало возможным реализовывать аппаратно не толькопростые арифметические операции, но и алгоритмы целиком.
Например, быстрое преобразование Фурье, перемножение матриц идругие относятся к классу тех алгоритмов, которые могут быть эффективно реализованы в СБИС. Данный уровень классификацииразделяет системы с аппаратной реализацией алгоритмов (С нарис. 3.5) и системы, использующие традиционный способ программной реализации (Р).Третий уровень конкретизирует тип параллелизма, используемого для обработки инструкций машины: конвейеризация инструкций (Р) или их независимое (параллельное) выполнение (Ра).В большей степени этот выбор относится к компьютерам с программной реализацией алгоритмов, так как аппаратная реализациявсегда предполагает параллельное исполнение команд.
Отметим,что в случае конвейерного исполнения имеется в виду лишь конвейеризация самих команд, разбивающая весь цикл обработки навыборку команды, дешифрацию, вычисление адресов и т. д. (возможная конвейеризация вычислений на данном уровне не принимается во внимание).238Глава 3. Вычислительные системыПоследний уровень данной классификации определяет способуправления, принятый в вычислительной системе: синхронный (S)или асинхронный (А). Если выполнение команд происходит в строгом порядке, определяемом только сигналами таймера и счетчикомкоманд, то говорят о синхронном способе управления.
Если же дляинициации команды определяющими являются такие факторы,как, например, готовность данных, то машина попадает в класс сасинхронным управлением. Наиболее характерными представителями систем с асинхронным управлением являются компьютерыdata-driven и demand-driven.Классификация Дункана (рис.
3.6). Р. Дункан определяет тотнабор требований, на который может опираться искомая классификация.Из класса параллельных машин должны быть исключены те, в которых параллелизм заложен лишь на самом низком уровне, включая:• конвейеризацию на этапе подготовки и выполнения команды(instruction pipelining), т. е. частичное перекрытие таких этапов, как дешифрация команды, вычисление адресов операндов, выборка операндов, выполнение команды и сохранениерезультата;• наличие в архитектуре нескольких функциональных устройств, работающих независимо, в частности, возможностьпараллельного выполнения логических и арифметическихопераций;• наличие отдельных процессоров ввода/вывода, работающихнезависимо и параллельно с основными процессорами.IСинхронные •MIMDВекторные-SIMD-СистолическиеС распределенной памятьюС общей памятьюМашины,использующиеидею MIMD-MIMD/SIMD-Dadaflow-Reduction- WavefrontРис.
3.6. Классификация ДунканаМатричныеС ассоциативнойпамятью3.1. Основные определения. Классы архитектур ВС239Причины исключения перечисленных выше особенностей авторобъясняет следующим образом. Если рассматривать компьютеры,использующие только параллелизм низкого уровня, наравне со всеми остальными, то, во-первых, практически все существующие системы будут классифицированы как «параллельные» (что заведомо небудет позитивным фактором для классификации), и, во-вторых, такие машины будут плохо вписываться в любую модель или концепцию, отражающую параллелизм высокого уровня.Классификация должна быть согласованной с классификациейФлинна, показавшей правильность выбора идеи потоков команд иданных.Классификация должна описывать архитектуры, которые однозначно не укладываются в систематику Флинна, но тем не менее относятся к параллельным архитектурам (например, векторно-конвейерные).Учитывая вышеизложенные требования, Дункан дает неформальное определение параллельной архитектуры, причем именнонеформальность дала ему возможность включить в данный класскомпьютеры, которые ранее не вписывались в систематику Флинна.
Итак, параллельная архитектура — это такой способ организации вычислительной системы, при котором допускается, чтобымножество процессоров (простых или сложных) могло бы работать одновременно, взаимодействуя по мере надобности друг сдругом. Следуя этому определению, все разнообразие параллельных архитектур Дункан систематизирует так, как это показано нарис. 3.6.По существу систематика очень простая: процессоры системыработают либо синхронно, либо независимо друг от друга, либо вархитектуру системы заложена та или иная модификация идеиMIMD. На следующем уровне происходит детализация в рамкахкаждого из этих трех классов. Дадим небольшое пояснение лишь ктем из них, которые на сегодняшний день не столь широко известны.Систолические архитектуры (их чаще называют систолическимимассивами) представляют собой множество процессоров, объединенных регулярным образом (например, система WARP).
Обращение к памяти может осуществляться только через определенныепроцессоры на границе массива. Выборка операндов из памяти ипередача данных по массиву осуществляется в одном и том же темпе. Направление передачи данных между процессорами фиксированно. Каждый процессор за интервал времени выполняет небольшую инвариантную последовательность действий.240Глава 3. Вычислительные системыГибридные MIMD/SIMD архитектуры, вычислительные системы dataflow, reduction и wavefront осуществляют параллельную обработку информации на основе асинхронного управления, как иMIMD-системы. Но они выделены в отдельную группу, посколькувсе имеют ряд специфических особенностей, которыми не обладаютсистемы, традиционно относящиеся к MIMD.M1MD/SIMD — типично гибридная архитектура.
Она предполагает, что в MlMD-системе можно выделить группу процессоров,представляющую собой подсистему, работающую в режиме SIMD(например, PASM, Non-Von). Такие системы отличаются относительной гибкостью, поскольку допускают реконфигурацию в соответствии с особенностями решаемой прикладной задачи.Остальные три вида архитектур используют нетрадиционныемодели вычислений. Dataflow-машины используют модель, в которой команда может выполняться сразу же, как только вычисленынеобходимые операнды. Таким образом, последовательность выполнения команд определяется зависимостью по данным, которая может быть выражена, например, в форме графа.Модель вычислений, применяемая в reduction-машинах, иная исостоит в следующем: команда становится доступной для выполнения тогда и только тогда, когда результат ее работы требуется другой, доступной для выполнения команде в качестве операнда.Архитектура wavefront array объединяет в себе идею систолической обработки данных и модель вычислений, используемой вdataflow-машинах.
В данной архитектуре процессоры объединяютсяв модули и связи, по которым процессоры могут взаимодействоватьдруг с другом, фиксируются. Однако, в противоположность ритмичной работе систолических массивов, данная архитектура используетасинхронный механизм связи с подтверждением (handshaking), из-зачего «фронт волны» вычислений может менять свою форму по мерепрохождения по всему множеству процессоров.Классификация Кришнамарфи.
Е. Кришнамарфи для классификации параллельных вычислительных систем предлагает использовать четыре характеристики, похожие на характеристики классификации А. Базу (рис. 3.7):• степень гранулярности;• способ реализации параллелизма;• топологию и природу связи процессоров;• способ управления процессорами.Принцип построения классификации достаточно прост. Длякаждой степени гранулярности рассматриваются все возможныеспособы реализации параллелизма. Для каждого полученного таким3.1.
Основные определения. Классы архитектур ЕС241Параллельные вычислительные системыУровеньпараллелизмаДанныеМетод реализацииалгоритмаАппаратнаяреализацияТопологияЛинейныймассивУправлениеСинхронный У АсинхронныйРис. 3.7. Классификация Кришнамарфиобразом варианта устанавливаются все комбинации топологии связи и способов управления процессорами. В результате получаетсядерево (см. рис.
3.7), в котором каждый ярус соответствует своей характеристике, каждый лист представляет отдельную группу компьютеров в данной классификации, а путь от вершины дерева однозначно определяет значения указанных выше характеристик.Первых два уровня практически повторяют классификациюА. Базу. Третий уровень классификации (топология и природа связипроцессоров) тесно связан со вторым.
Если был выбран аппаратныйспособ реализации параллелизма, то надо рассмотреть топологиюсвязи процессоров (матрица, линейный массив, тор, дерево, звездаи т. п.) и степень связности процессоров между собой (сильная,слабая или средняя), которая определяется относительной долей накладных расходов при организации взаимодействия процессоров.В случае комбинированной реализации параллелизма, помимо топологии и степени связности, надо дополнительно учесть механизмвзаимодействия процессоров: передача сообщений, разделяемые переменные или принцип dataflow (по готовности операндов).Наконец, последний, четвертый уровень — способ управленияпроцессорами, определяет общий принцип функционирования всейсовокупности процессоров вычислительной системы: синхронный,dataflow или асинхронный.242Глава 3.
Вычислительные системыНа основе выделенных четырех характеристик нетрудно определить место наиболее известных классов архитектур в данной систематике.Векторно-конвейерные компьютеры:• гранулярность — на уровне данных;• реализация параллелизма — аппаратная;• связь процессоров — простая топология со средней связностью;• способ управления — синхронный.Классические мультипроцессоры:• гранулярность — на уровне задач• реализация параллелизма — комбинированная;• связь процессоров — простая топология со слабой связностьюи использованием разделяемых переменных;• способ управления — асинхронный.Матричные процессоры:• гранулярность — на уровне данных;• реализация параллелизма — аппаратная;• связь процессоров — двухмерные массивы с сильной связностью;• способ управления — синхронный.Систолические массивы:• гранулярность — на уровне данных;• реализация параллелизма — аппаратная;• связь процессоров — сложная топология с сильной связностью;• способ управления — синхронный.Архитектура типа wavefront:• гранулярность — на уровне данных;• реализация параллелизма — аппаратная;• связь процессоров — двухмерная топология с сильной связностью;• способ управления — dataflow.Архитектура типа data/low:• гранулярность — на уровне команд;• реализация параллелизма — комбинированная;• связь процессоров — простая топология с сильной либо средней связностью и использованием принципа dataflow,• способ управления — асинхронно-dataflow.Несмотря на то, что классификация Е.