Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ВС для ГОС (ПИ) / Орлов, Цилькер - Организация ЭВМ (2004)

.pdf
Скачиваний:
474
Добавлен:
25.04.2015
Размер:
9.6 Mб
Скачать

Контрольные вопросы

5 8 5

Контрольные вопросы

1. Какой уровень параллелизма в обработке информации обеспечивают вычислительные системы класса SIMD?

2.На какие структуры данных ориентированы средства векторной обработки?

3.Благодаря чему многомерные массивы при обработке можно рассматривать в качестве одномерных векторов?

4.Поясните различие между конвейерными и векторно-конвейерными вычислительными системами.

5.Поясните назначение регистров векторного процессора: регистра длины вектора, регистра максимальной длины вектора, регистра вектора индексов и регистра маски.

6.Для чего используются операции упаковки/распаковки вектора?

7.Оцените выигрыш в быстродействии векторного процессора за счет сцепления векторов.

8.В чем заключается принципиальное различие между векторными и матричными вычислительными системами?

9.Какими средствами обеспечивается подготовка программ для матричных вычислительных систем и их загрузка?

10.По какому принципу в матричной ВС команды программы распределяются между центральным процессором и массивом процессоров?

И.Каким образом в матричной ВС реализуются предложения типа IF-THEN- ELSE?

12.Как идентифицируются отдельные процессорные элементы в массиве процессоров матричной ВС?

13.Какие схемы глобального маскирования применяются в матричных ВС и в каких случаях каждая из них является предпочтительной?

14.Могут ли участвовать в вычислениях замаскированные (пассивные) процессорные элементы матричной ВС и в каким виде это участие проявляется?

15.Поясните различие между ассоциативной памятью и ассоциативным процессором.

16.В чем выражается аналогия между матричными и ассоциативными ВС?

17.Какую особенность систолической ВС отражает ее название?

18.Объясните достоинства и недостатки систолических массивов типа ULA, BLA, TLA.

19.Сформулируйте правилаобъединения простых команд в командное слово сверхбольшой длины.

20.Чем ограничивается количество объединяемых команд в технологии EPIC?

21.Поясните назначение системы предикации и ее реализацию в архитектуре

IA-64.

Глава14

Вычислительные системы класса MIMD

Технология SIMD исторически стала осваиваться раньше, что и предопределило широкое распространение SIMD-систем. В настоящее время тем не менее наметился устойчивый интерес к архитектурам класса MIMD. MIMD-системы обладают большей гибкостью, в частности могут работать и как высокопроизводительные однопользовательские системы, и как многопрограммные ВС, выполняющие множество задач параллельно. Кроме того, архитектура MIMD позволяет наиболее эффективно распорядиться всеми преимуществами современной микропроцессорной технологии,

ВMIMD-системе каждый процессорный элемент (ПЭ) выполняет свою программу достаточно независимо от других ПЭ. В то же время ПЭ должны как-то взаимодействовать друг с другом. Различие в способе такого взаимодействия определяет условное деление MIMD-систем на ВС с общей памятью и системы

сраспределенной памятью. В системах с общей памятью, которые характеризуют как сильно связанные (tightly coupled), имеется общая память данных и команд, доступная всем процессорным элементам с помощью общей шины или сети соединений. К этому типу, в частности, относятся симметричные мультипроцессоры

(SMP,SymmetricMultiprocessor)исистемыснеоднороднымдоступомкпамяти

(NUMA, Non-Uniform Memory Access).

Всистемах с распределенной памятью или слабо связанных (loosely coupled) многопроцессорных системах вся память распределена между процессорными элементами, и каждый ёлок памяти доступен только «своему» процессору. Сеть соединений связывает процессорные элементы друг сдругом. Представителями этой группымогутслужитьсистемысмассовымпараллелизмом(МРР,MassivelyParallel Processing)икластерныевычислительныесистемы.

Базовой моделью вычислений на MIMD-системе является совокупность независимых процессов, эпизодически обращающихся к совместно используемымданным. Существует множество вариантов этой модели. На одном конце спектра - распределенные вычисления, в рамках которых программа делится на довольно большое число параллельных задач, состоящих из множества подпрограмм.

Симметричные мультипроцессорныесистемы 5 8 7

Числопроцессоров

Рис. 14 . 1 . ПроизводительностьMIMD-систем как функция ихтипа и числа процессоров

На другом конце — модель потоковых вычислений, где каждая операция в программе может рассматриваться как отдельный процесс. Такая операция ожидает поступления входныхданных (операндов), которые должны быть переданы ейдругими процессами. По их получении операция выполняется, и результирующее значение передается тем процессам, которые в нем нуждаются. Примерные значения пиковой производительности для различных типов систем класса MIMD показаны на рис. 14.1.

Симметричные мультипроцессорные системы

До сравнительно недавнего времени практически все однопользовательские персональные ВМ и рабочие станции содержали по одному микропроцессору общего назначения. По мере возрастания требований к производительности и снижения стоимости микропроцессоров поставщики вычислительных средств как альтернативу однопроцессорнымВМсталипредлагатьсимметричныемультипроцессорныевычис- лительныесистемы,такназываемыеSMP-системы(SMP,SymmetricMultiprocessor). Это понятие относится как к архитектуре ВС, так и к поведению операционной системы, отражающему данную архитектурную организацию. SMP можно определить как вычислительную систему, обладающую следующими характеристиками:

-Имеются два или более процессоров сопоставимой производительности.

-Процессоры совместно используют основную память и работают в едином виртуальном и физическом адресном пространстве.

-Все процессоры связаны между собой посредством шины или по иной схеме, так что время доступа к памяти любого из них одинаково.

-Все процессоры разделяют доступ к устройствам ввода/вывода либо через одни

ите же каналы, либо через разные каналы, обеспечивающие доступ к одному

итому же внешнему устройству.

5 8 8 Глава 14. Вычислительные системы класса MIMD

иВсе процессоры способны выполнять одинаковые функции (этим объясняется термин «симметричные»),

- Любой из процессоров может обслуживать внешние прерывания.

-Вычислительная система управляется интегрированной операционной системой, которая организует и координирует взаимодействие между процессорами и программами на уровне заданий, задач, файлов и элементов данных.

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

Хотя технически SMP-системы симметричны, в их работе присутствует небольшойфакторперекоса, которыйвноситпрограммноеобеспечение. Навремязагрузки системы один из процессоров получает статус ведущего (master). Это не означает, что позже, во время работы какие-то процессоры будут ведомыми — все они в SMPсистеме равноправны. Термин «ведущий» вводится только затем, чтобы указать, какой из процессоров по умолчанию будет руководить первоначальной загрузкой ВС.

Операционная система планирует процессы или нити процессов (threads) сразу по всем процессорам, скрывая при этом от пользователя многопроцессорный характер SMP-архитектуры.

По сравнению с однопроцессорными схемами SMP-системы имеют преимущество по следующим показателям [36]:

-Производительность. Если подлежащая решению задача поддается разбиению на несколько частей так, что отдельные части могут выполняться параллельно, то множество процессоров дает выигрыш в производительности относительно одиночного процессора того же типа (рис. 14.2),

-Готовность. В симметричном мультипроцессоре отказ одного из компонентов не ведет к отказу системы, поскольку любой из процессоров в состоянии выполнять те же функции, что и другие.

Рис. 14,2. Мультипрограммирование и мультипроцессорная обработка [36]: а —мультипрограммирование; б — мультипроцессорная обработка

Симметричные мультипроцессорные системы 5 8 9

-Расширяемость. Производительность системы может быть увеличена добавлением дополнительных процессоров.

-Масштабируемость. Варьируя число процессоров в системе, можно создать системы различной производительности и стоимости.

Необходимо отметить, что перечисленное — это только потенциальные преимущества, реализация которых невозможна, если в операционной системе отсутствуют средства; для поддержки параллелизма.

Архитектура SMP-системы

На рис. 14.3 в самом общем виде показана архитектура симметричной мультипроцессорной ВС.

Рис. 14.3. Организация симметричной мультипроцессорной системы

Типовая SMP-система содержит от двух до 32 идентичных процессоров, в качестве которых обычно выступают недорогие RISC-процессоры, такие, например, как DEC Alpha, Sun SPARC, MIPS или HP PA-RISC. В последнее время наметилась тенденция оснащения SMP-систем также и CISC-процессорами, в частности Pentium.

Каждый процессор снабжен локальной кэш-памятью, состоящей из кэш-памя- ти первого (L1) и второго (L2) уровней. Согласованность содержимого кэш-памяти всех процессоров обеспечивается аппаратными средствами. В некоторых SMPсистемах проблема когерентности снимается за счет совместно используемой кэшпамяти (рис. 14.4). К сожалению., этот прием технически и экономически оправдан лишь, если число процессоров не превышает четырех. Применение общей кэш-памяти сопровождается повышением стоимости и снижением быстродействия кэш-памяти.

Все процессоры ВС имеют равноправный доступ к разделяемым основной памяти и устройствам ввода/вывода. Такая возможность обеспечивается коммуникационной системой. Обычно процессоры взаимодействуют между собой через основную память (сообщения и информация о состоянии оставляются в области общих данных). В некоторых SMP-системах предусматривается также прямой обмен сигналами между процессорами.

Память системы обычно строится по модульному принципу и организована так, чтодопускается одновременное обращение к разным ее модулям (банкам). В неко-

5 9 0 Глава 14. Вычислительные системы класса MIMD

Рис. 14.4. SMP-система с совместно используемой кэш-памятью

торых конфигурациях в дополнение к совместно используемым ресурсам каждый процессор обладает также собственными локальной основной памятью и каналами ввода/вывода.

Важным аспектом архитектуры симметричных мультипроцессоров является способ взаимодействия процессоров с общими ресурсами (памятью и системой ввода/вывода). С этих позиций можно выделить следующие виды архитектуры SMP-систем:

-с общей шиной и временным разделением;

-с коммутатором типа «кроссбар»;

-с многопортовой памятью;

-с централизованным устройством управления.

Архитектура с общей шиной

Структура и интерфейсы общей шины в основном такие же, как и в однопроцессорной ВС, где шина служит для внутренних соединений (рис. 14.5).

Рис. 14.5. Структура SMP-системы собщей шиной

Достоинства и недостатки систем коммуникации на базе общей шины с разделением времени достаточно подробно обсуждались ранее. Применительно к SMPсистемам отметим, что физический интерфейс, а также логика адресации, арбитража и разделения времени остаются теми же, что и в однопроцессорных системах.

Симметричные мультипроцессорныесистемы 5 9 1

Общая шина позволяет легко расширять систему путем подключения к себе большего числа процессоров. Кроме того, напомним, что шина — это, по существу, пассивная среда, и отказ одного из подключенных к ней устройств не влечет отказа всей совокупности.

В то же время SMP-системам на базе общей шины свойственен и основной недостаток шинной организации — невысокая производительность: скорость системы ограничена временем цикла шины. По этой причине каждый процессор снабжен кэш-памятью, что существенно уменьшает число обращений к шине. Наличие множества кэшей порождает проблему их когерентности, и это одна из основных причин, по которой системы на базе общей шины обычно содержат не слишком много процессоров. Так, в системах Compaq AlphaServer GS140 и 8400 используется неболее 14 процессоров Alpha 21264. SMP-система HPN9000 в максимальном варианте состоит из 8 процессоров РА-8500, а система SMP Thin Nodes для RS/6000 фирмы IBM может включать в себя от двух до четырех процессоров PowerPC 604.

Архитектура с общей шиной широко распространена в SMP-системах, построенных на микропроцессорах х86. В эту группу входят: DELL Power Edge, IBM Netfinity, HP NetServer. На рис. 14.6 показана структура симметричной мультипроцессорной вычислительной системы на базе микропроцессоров Pentium III.

Рис, 14.6. Структура SMP-системы на базе микропроцессоров Pentium III

Архитектура с коммутатором типа «кроссбар»

Архитектура с коммутатором типа «кроссбар»- (рис. 14.7) ориентирована на модульное построение общей памяти и призвана разрешить проблему ограниченной цропускной способности систем с общей шиной.

5 9 2 Глава 14. Вычислительные системы класса MIMD

Рис. 14.7. СтруктураSMP-системыс коммутатором типа «кроссбар»

Коммутатор обеспечивает множественность путей между процессорами и банками памяти, причем топология связей можетбыть как двумерной, так и трехмерной. Результатом становится более высокая полоса пропускания, что позволяет строить SMP-системы, содержащие больше процессоров, чем в случае общей шины. Типичное число процессоров в SMP-системах на базе матричного коммутатора составляет 32 или 64. Отметим, что выигрыш в производительности достигается, лишь когда разные процессоры обращаются к разным банкам памяти.

По логике кроссбара строится и взаимодействие процессоров с устройствами ввода/вывода.

В качестве примера ВС с рассмотренной архитектурой можно привести систему Enterprise 10000, состоящую из 64 процессоров, связанных с памятью посредством матричного коммутатора Gigaplane-XB фирмы Sun Microsystems (кроссбар 16 х 16), В IBM RS/6000 Enterprise Server Model S70 коммутатор типа «кроссбар» обеспечивает работу 12 процессоров RS64. В SMP-системах ProLiant 8000 и 8500 фирмы Compaq для объединения с памятью и между собой восьми процессоров Pentium III Хеоп применена комбинация нескольких шин и кроссбара.

Концепция матричного коммутатора (кроссбара) не ограничивается симметричными мультипроцессорами. Аналогичная структурасвязей применяется для объединения узлов в ВС типа CC-NUMA и кластерных вычислительных системах.

Архитектура с многопортовой памятью

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

Кластерные вычислительные системы 5 9 3

поскольку требует придания ЗУ основной памяти дополнительной, достаточно сложной логики. Тем не менее это позволяет поднять производительность, так как каждый процессор имеет выделенный тракт к каждому модулю ОП. Другое преимущество многопортовой организации — возможность назначить отдельные модули памяти в качестве локальной памяти отдельного процессора. Эта особенность позволяет улучшить защиту данных от несанкционированного доступа со стороны других процессоров.

Архитектура с централизованным устройствомуправления

Централизованное устройство управления (ЦУУ) сводит вместе отдельные потоки данных между независимыми модулями: процессором, памятью, устройствами ввода/вывода. ЦУУ может буферйзировать запросы, выполнять синхронизацию и арбитраж. Оно способно передавать между процессорами информацию о состоянии и управляющие сообщения, а также предупреждать об изменении информации в кэшах. Недостаток такой организации заключается в сложности устройства управления, что становится потенциальнымузким местом в плане производительности. В настоящее время подобная архитектура встречается достаточно редко, но она широко использовалась при создании вычислительных систем на базе машин семейства IBM 370.

Кластерные вычислительные системы

Одно из самых современных направлений в области создания вычислительных систем — это кластеризация. По производительности и коэффициенту готовности кластеризация представляет собой альтернативу симметричным мультипроцессорным системам. Понятие кластер определим как группу взаимно соединенных вычислительных систем (узлов), работающих совместно, составляя единый вычислительный ресурс и создавая иллюзию наличия единственной ВМ. В качестве узла кластера может выступать как однопроцессорная ВМ, так и ВС типа SMP или МРР. Важно лишь то, что каждый узел в состоянии функционировать самостоятельно и отдельно от кластера. В плане архитектуры суть кластерных вычислений сводится к объединению нескольких узлов высокоскоростной сетью. Для описания такого подхода, помимо термина «кластерные вычисления», достаточно часто применяют такие названия, как: кластеррабочихстанций (workstationcluster),гипервычисления(hypercomputing), параллельные вычисления на базе сети (network-based concurrent computing), ультравычисления (ultracomputing).

Изначально перед кластерами ставились две задачи: достичь большой вычислительной мощности и обеспечить повышенную надежность ВС. Пионером в области кластерных архитектур считается корпорация DEC, создавшая первый коммерческий кластер в начале 80-х годов прошлого века.

В качестве узлов кластеров могут использоваться как одинаковые ВС (гомогенные кластеры), так и разные (гетерогенные кластеры). По своей архитектуре кластерная ВС является слабо связанной системой.

5 9 4 Глава 14. Вычислительные системы класса MIMD

В работе [65] перечисляются четыре преимущества, достигаемые с помощью кластеризации:

-Абсолютная масштабируемость. Возможно создание больших кластеров, превосходящих по вычислительной мощности даже самые производительные одиночные ВМ. Кластер в состоянии содержать десятки узлов, каждый из которых представляет собой мультипроцессор.

-Наращиваемая масштабируемость. Кластер строится так, что его можно наращивать, добавляя новыеузлы небольшими порциями. Таким образом, пользователь может начать с умеренной системы, расширяя ее по мере необходимости.

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

-Превосходное соотношение цена/производительность. Кластер любой производительности можно создать, соединяя стандартные «строительные блоки»-, при этом его стоимость будет ниже, чем у одиночной ВМ с эквивалентной вычислительной мощностью.

На уровне аппаратного обеспечения кластер — это просто совокупность независимых вычислительных систем, объединенных сетью. При соединении машин в кластер почти всегда поддерживаются прямые межмашинные связи. Решения могут быть простыми, основывающимися на аппаратуре Ethernet, или сложными с высокоскоростными сетями с пропускной способностью в сотни мегабайтов в секунду. К последней категории относятся RS/6000 SP компании IBM, системы фирмы Digital на основе Memory Channel, ServerNet корпорации Compaq.

Узлы кластера контролируют работоспособность друг друга и обмениваются специфической,характернойдля кластераинформацией. Контрольработоспособности осуществляется с помощью специального сигнала, часто называемого heartbeat, что можно перевести как «сердцебиение». Этот сигнал передается узлами кластера друг другу, чтобы подтвердить их нормальное функционирование.

Неотъемлемая часть кластера — специализированное программное обеспечение (ПО), на которое возлагается задача обеспечения бесперебойной работы при отказе одного или нескольких узлов. Такое ПО производит перераспределение вычислительной нагрузки при отказеодного или нескольких узлов кластера, а также восстановление вычислений при сбое в узле. Кроме того, при наличии в кластере совместно используемых дисков кластерное ПО поддерживает единую файловую систему.

Классификация архитектур кластерных систем

Влитературе приводятся различные способы классификации кластеров. Так,

впростейшем варианте ориентируются на то, являются ли диски в кластере разделяемыми всеми узлами. На рис. 14.8, а показан кластер из двух узлов, совместная работа которых координируется за счет высокоскоростной линии, по которой происходит обмен сообщениями. Такой линией может быть локальная сеть, используемая также и не входящими в кластер компьютерами, либо выделенная линия.