Полная версия

Главная arrow Информатика arrow Архитектура ЭВМ и вычислительных систем

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Классы и архитектуры вычислительных систем и суперкомпьютеров

Вычислительная система (ВС) — совокупность взаимосвязанных и взаимодействующих процессоров или ЭВМ, периферийного оборудования и программного обеспечения, предназначенная для сбора, хранения, обработки и распределения информации.

Создание ВС преследует следующие основные цели:

  • • повышение производительности системы за счет ускорения процессов обработки данных;
  • • повышение надежности и достоверности вычислений;
  • • предоставление пользователям дополнительных сервисных услуг и т. д.

Отличительной особенностью ВС по отношению к классическим ЭВМ является наличие в ней нескольких вычислителей, реализующих параллельную обработку.

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

Если не вдаваться в подробности, ВС прежде всего можно разделить на:

  • • многомашинные;
  • • многопроцессорные.

Многомашинная вычислительная система

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

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

Архитектура с параллельными процессорами. Здесь несколько АЛУ работают под управлением одного УУ. Это означает, что множество данных может обрабатываться по одной программе, т. е. по одному потоку команд. Высокое быстродействие такой архитектуры можно получить только на задачах, в которых одинаковые вычислительные операции выполняются одновременно на различных однотипных наборах данных.

Уровни и средства комплексирования. Логические и физические уровни

В создаваемых ВС стараются обеспечить несколько путей передачи данных, что позволяет достичь необходимой надежности функционирования, гибкости и адаптируемости к конкретным условиям работы. Эффективность обмена информацией определяется скоростью передачи и возможными объемами данных, передаваемыми по каналу взаимодействия. Эти характеристики зависят от средств, обеспечивающих взаимодействие модулей, и уровня управления процессами, на котором это взаимодействие осуществляется. Сочетание различных уровней и методов обмена данными между модулями ВС наиболее полно представлено в универсальных суперЭВМ и больших ЭВМ, в которых сбалансированно использовались основные методы достижения высокой производительности. В этих машинах предусматривались следующие уровни комплексирования (рис. 2.25):

  • 1) прямого управления (процессор—процессор);
  • 2) общей оперативной памяти;
  • 3) комплексируемых каналов ввода-вывода;
  • 4) устройств управления внешними устройствами (УВУ);
  • 5) общих внешних устройств.

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

Уровень прямого управления служит для передачи коротких однобайтовых приказов-сообщений. Последовательность взаимодействия процессоров сводится к следующему. Процессор-инициатор обмена по интерфейсу прямого управления (ИЛУ) переда-

Каналы связи 1

Каналы связи 2

Внешние устройства 1

Уровни 3, 4, 5

Внешние устройства 2

Рис. 2.25. Уровни комплексирования машин в вычислительную систему

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

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

Уровень комплексируемых каналов ввода-вывода предназначается для передачи больших объемов информации между блоками оперативной памяти, сопрягаемых в ВС. Обмен данными между ЭВМ осуществляется с помощью адаптера «канал—канал» (АКК) и команд «чтение» и «запись». Адаптер — это устройство, согласующее скорости работы сопрягаемых каналов. Обычно сопрягаются селекторные каналы (СК) машин как наиболее быстродействующие. Скорость обмена данными определяется скоростью самого медленного канала. Скорость передачи данных по этому уровню составляет несколько Мбайт в секунду. В ПЭВМ данному уровню взаимодействия соответствует подключение периферийной аппаратуры через контроллеры и адаптеры.

Уровень устройств управления внешними устройствами (УВУ) предполагает использование встроенного в УВУ двухканального переключателя и команд «зарезервировать» и «освободить». Двухканальный переключатель позволяет подключать УВУ одной машины к селекторным каналам различных ЭВМ. По команде «зарезервировать» канал — инициатор обмена имеет доступ через УВУ к любым накопителям на дисках НМД или на магнитных лентах НМЛ. На самом деле УВУ магнитных дисков и лент — совершенно различные устройства. Обмен канала с накопителями продолжается до полного завершения работ и получения команды «освободить». Только после этого УВУ может подключиться к конкурирующему каналу. Только такая дисциплина обслуживания требований позволяет избежать конфликтных ситуаций.

На четвертом уровне с помощью аппаратуры передачи данных (АПД) (мультиплексоры, сетевые адаптеры, модемы и др.) имеется возможность сопряжения с каналами связи. Эта аппаратура позволяет создавать сети ЭВМ.

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

Пять уровней комплексирования получили название логических потому, что они объединяют на каждом уровне разнотипную аппаратуру, имеющую сходные методы управления. Каждое из устройств может иметь логическое имя, используемое в прикладных программах. Этим достигается независимость программ пользователей от конкретной физической конфигурации системы. Связь логической структуры программы и конкретной физической структуры ВС обеспечивается операционной системой по указаниям — директивам пользователя, при генерации ОС и по указаниям диспетчера-оператора вычислительного центра. Различные уровни комплексирования позволяют создавать самые различные структуры ВС.

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

Уровни 1, 3, 4, 5 обеспечивают построение разнообразных машинных комплексов. Особенно часто используется третий в комбинации с четвертым. Целесообразно их дополнять и первым уровнем.

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

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

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

Следует отметить, что здесь возникает проблема масштабируемости — использование нескольких процессоров обычно не приводит к пропорциональному приросту производительности (рис. 2.26).

Если, например, одиночный процессор (1 х П) простаивает 20 % своего времени, ожидая данные из оперативной памяти, то 2 х П будет простаивать 33 % времени, а 4 х П — 50 %. В пересчете на общую производительность, если 1 х П-система работает со скоростью 100 %, то 2 х П-система — со скоростью 167 % (вместо ожидаемых 200 %), а 4 х П-система — со скоростью 250 % (вместо 400 %).

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

Рис. 2.26. Типичная кривая зависимости производительности многопроцессорной системы от числа процессоров

В принципе любая многопроцессорная система должна быть хорошо сбалансирована — слишком быстрая память обходится чересчур дорого; слишком медленная — сводит эффект от установки нескольких процессоров к минимуму.

Классификация архитектур вычислительных систем с параллельной обработкой данных (М. Флинн, 1966 г.)

В 1966 г. М. Флинном (Flynn) была предложена классификация архитектур ЭВМ и вычислительных систем, в основу которой положено понятие потока, или последовательности элементов (команд или данных), обрабатываемых процессором. Соответствующая система классификации, основанная на рассмотрении числа потоков команд и потоков данных, приводит к четырем базовым классам (табл. 2.10, рис. 2.27).

Кратко опишем характерные особенности каждой из архитектур.

Архитектура ОКОД охватывает все однопроцессорные и одномашинные варианты систем — все ЭВМ классической структуры попадают в этот класс. Здесь параллелизм вычислений обеспечивается путем конвейеризации и распараллеливания потока микрокоманд между исполнительными устройствами (см. рис. 3.1).

Архитектура ОКМД предполагает создание структур векторной или матричной обработки. Системы этого типа обычно

а —

Память команд

I

Поток команд

Поток данных

Память команд X X X X X Поток команд

П

Результаты

Поток данных

Память данных

Память данных

а

Результаты

Память команд

т

Поток команд

команд

П

п

п

Память команд ^ ^ ^ Поток

Процессоры 0,1 ПП2 П

пх

Процессоры

І11 п12

п

гч

Поток данных

Результаты

в

Поток данных

Л

Результаты

Классификация Флинна

Рис. 2.27. Классификация Флинна: SISD; б - MISD; в - SIMD; г - MIMD

Таблица 2.10. Классификация Флинна

Поток данных

Поток команд

Одиночный

Множественный

Одиночный

SISD — Single Instruction stream/Single Data stream (Одиночный поток Команд и Одиночный поток Данных— 0 КОД)

MISD — Multiple Instruction stream/Single Data stream (Множественный поток Команд и Одиночный поток Данных— МКОД)

Множествен

ный

SIMD — Single Instruction Stream/Multiple Data stream (Одиночный поток Команд и Множественный поток Данных — ОКМД)

MIMD — Multiple Instruction Stream/Multiple Data stream (Множественный поток Команд и Множественный поток Данных — МКМД)

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

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

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

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

Другие подходы к классификации ВС

Наличие большого разнообразия систем, образующих класс МКМД (MIMD), делает классификацию Флинна не полностью адекватной. Действительно и 4-процессорный SX-5 компании NEC и 1000-процессорный Cray ТЗЕ попадают в класс MIMD. Это заставляет искать другие основания классификации.

Классификация Джонсона. Е. Джонсон предложил проводить классификацию MIMD-архитектур на основе структуры памяти и реализации механизма взаимодействия и синхронизации между процессорами.

По структуре оперативной памяти существующие вычислительные системы делятся на две большие группы: либо это системы с общей памятью, прямо доступной всем процессорам, либо это системы с распределенной памятью, каждая часть которой доступна только одному процессору. Одновременно с этим и для межпроцессорного взаимодействия существуют две альтернативы — через разделяемые переменные или с помощью механизма передачи сообщений. Исходя из таких предположений, можно получить четыре класса MIMD-архитектур, уточняющих систематику Флинна (табл. 2.11).

Таблица 2.11. Классификация Джонсона для систем MIMD по Флинну

Обмен

Память

данными

Общая

Распределенная

Общие

данные

GMSV — General Memory-Shared variables (Общая память — разделяемые переменные)

DMSV — Distributed Memory, Shared variables (Распределенная память — разделяемые переменные)

Класс 1. «Системы с разделяемой памятью»

Класс 2. «Гибридная архитектура»

Передача

данных

GMMP — General Memory, Message propagation (Общая память — передача сообщений)

DMMP — Distributed Memory,

Message propagation (Распределенная память — передача сообщений)

Класс 3.

«Архитектуры с передачей сообщений»

Опираясь на такое деление, Джонсон вводит следующие наименования для некоторых классов:

  • • вычислительные системы, использующие общую разделяемую память для межпроцессорного взаимодействия и синхронизации, он называет системами с разделяемой памятью, например CRAY Y-MP (по его классификации это класс 1);
  • • системы, в которых память распределена по процессорам, а для взаимодействия и синхронизации используется механизм передачи сообщений, называются архитектурами с передачей сообщений, например NCube (класс 3);
  • • системы с распределенной памятью и синхронизацией через разделяемые переменные, как в BBN Butterfly, называются гибридными архитектурами (класс 2).

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

Классификация Базу. По мнению А. Базу (A. Basu), любую параллельную вычислительную систему можно однозначно описать последовательностью решений, принятых на этапе ее проектирования, а сам процесс проектирования представить в виде дерева. Корень дерева — это вычислительная система (рис. 2.28) и последующие ярусы дерева, фиксируя уровень параллелизма, метод реализации алгоритма, параллелизм инструкций и способ управления, последовательно дополняют друг друга, формируя описание системы.

Метод

реализации

алгоритма

Параллелизм

исполнения

инструкций

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

Инструкции (о) Задачи (г)

Уровень

параллелизма

Данные (о)

Аппаратная

реализация

©

Программная

реализация

©

-1-

Аппаратная

реализация

©

Программная

реализация

©

-1-

Параллельное Конвейеризация Параллельное Параллельное Конвейеризация Параллельное

исполнение

инструкций

(Ра)

исполнения

инструкций

(Р/)

исполнение

инструкций

(Ра)

исполнение

инструкций

(Ра)

исполнения

инструкций

(Р/)

исполнение

инструкций

(Ра)

І I

Синхр. Асинхр. Синхр.

© © ©

Способ

управления

і І І І І I

Синхр. Синхр. Асинхр. Синхр. Асинхр. Синхр. Асинхр.

© © © © © © ®

Архитектура

системы

ОСРаЗ ОСРаА ОРТО

йРРаЭ ОСРаЭ ОСРаА ОРРІЇ ОРРІА ОРРаЭ ОРРаА

Рис. 2.28. Классификация Базу

На первом этапе определяется, какой уровень параллелизма использует вычислительная система. Одна и та же операция может одновременно выполняться над целым набором данных, определяя параллелизм на уровне данных (обозначено Л на рис. 2.28). Способность выполнять более одной операции одновременно говорит о параллелизме на уровне команд (О). Если же компьютер спроектирован так, что целые последовательности команд могут быть выполнены одновременно, то будем говорить о параллелизме на уровне задач (7).

Второй уровень в классификационном дереве фиксирует метод реализации алгоритма. С появлением сверхбольших интегральных схем (СБИС) стало возможным реализовывать аппаратно не только простые арифметические операции, но и алгоритмы целиком. Например, быстрое преобразование Фурье, перемножение матриц и другие относятся к классу тех алгоритмов, которые могут быть эффективно реализованы в СБИС. Данный уровень классификации разделяет системы с аппаратной реализацией алгоритмов (С на рис. 2.28) и системы, использующие традиционный способ программной реализации (Р).

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

Последний уровень данной классификации определяет способ управления, принятый в вычислительной системе: синхронный (5) или асинхронный (А). Если выполнение команд происходит в строгом порядке, определяемом только сигналами таймера и счетчиком команд, то говорят о синхронном способе управления. Если же для инициации команды определяющими являются такие факторы, как, например, готовность данных, то машина попадает в класс с асинхронным управлением. Наиболее характерными представителями систем с асинхронным управлением являются компьютеры data-driven и demand-driven.

Классификация Дункана. Р. Дункан определяет тот набор требований, на который может опираться искомая классификация.

Из класса параллельных машин должны быть исключены те, в которых параллелизм заложен лишь на самом низком уровне, включая:

  • • конвейеризацию на этапе подготовки и выполнения команды (instruction pipelining), т. е. частичное перекрытие таких этапов, как дешифрация команды, вычисление адресов операндов, выборка операндов, выполнение команды и сохранение результата;
  • • наличие в архитектуре нескольких функциональных устройств, работающих независимо, в частности, возможность параллельного выполнения логических и арифметических операций;
  • • наличие отдельных процессоров ввода-вывода, работающих независимо и параллельно с основными процессорами.

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

Классификация должна быть согласованной с классификацией Флинна, показавшей правильность выбора идеи потоков команд и данных.

Классификация должна описывать архитектуры, которые однозначно не укладываются в систематику Флинна, но тем не менее относятся к параллельным архитектурам (например, векторно-конвейерные).

Учитывая вышеизложенные требования, Дункан дает неформальное определение параллельной архитектуры, причем именно неформальность дала ему возможность включить в данный класс компьютеры, которые ранее не вписывались в систематику Флинна. Итак, параллельная архитектура — это такой способ организации вычислительной системы, при котором допускается, чтобы множество процессоров (простых или сложных) могло бы работать одновременно, взаимодействуя по мере надобности друг с другом. Следуя этому определению, все разнообразие параллельных архитектур Дункан систематизирует так, как это показано на рис. 2.29.

По существу систематика очень простая: процессоры системы работают либо синхронно, либо независимо друг от друга, либо в архитектуру системы заложена та или иная модификация идеи М1МО. На следующем уровне происходит детализация в рамках каждого из этих трех классов. Дадим небольшое поясне-

Синхронные

Векторные

Б1М0

Систолические

Матричные

С ассоциативной памятью

- С распределенной памятью

MIMD

С общей памятью

Машины, использующие идею М1М0

MIMD/SIMD Dadaflow Reduction - Wavefront

Рис. 2.29. Классификация Дункана

ние лишь к тем из них, которые на сегодняшний день не столь широко известны.

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

Гибридные MIMD/SIMD-архитектуры, вычислительные системы dataflow, reduction и wavefront осуществляют параллельную обработку информации на основе асинхронного управления, как и МІМ D-системы. Но они выделены в отдельную группу, поскольку все имеют ряд специфических особенностей, которыми не обладают системы, традиционно относящиеся к MIMD.

MIMD/SIMD — типично гибридная архитектура. Она предполагает, что в MIMD-системе можно выделить группу процессоров, представляющую собой подсистему, работающую в режиме SIMD (например, PASM, Non-Von). Такие системы отличаются относительной гибкостью, поскольку допускают реконфигурацию в соответствии с особенностями решаемой прикладной задачи.

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

Модель вычислений, применяемая в reduction-машинах, иная и состоит в следующем: команда становится доступной для выполнения тогда и только тогда, когда результат ее работы требуется другой, доступной для выполнения команде в качестве операнда.

Архитектура wavefront array объединяет в себе идею систолической обработки данных и модель вычислений, используемую в dataflow-машинах. В данной архитектуре процессоры объединяются в модули и связи, по которым процессоры могут взаимодействовать друг с другом, фиксируются. Однако, в противоположность ритмичной работе систолических массивов, данная архитектура использует асинхронный механизм связи с подтверждением (handshaking), из-за этого «фронт волны» вычислений может менять свою форму по мере перемещения по всему множеству процессоров.

Классификация Кришнамарфи. Е. Кришнамарфи для классификации параллельных вычислительных систем предлагает использовать четыре характеристики, похожие на характеристики классификации А. Базу (рис. 2.30):

  • • степень гранулярности;
  • • способ реализации параллелизма;
  • • топологию и природу связи процессоров;
  • • способ управления процессорами.

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

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

Классификация Кришнамарфи

Рис. 2.30. Классификация Кришнамарфи

Первые два уровня практически повторяют классификацию А. Базу. Третий уровень классификации (топология и природа связи процессоров) тесно связан со вторым. Если был выбран аппаратный способ реализации параллелизма, то надо рассмотреть топологию связи процессоров (матрица, линейный массив, тор, дерево, звезда и т. п.) и степень связности процессоров между собой (сильная, слабая или средняя), которая определяется относительной долей накладных расходов при организации взаимодействия процессоров. В случае комбинированной реализации параллелизма, помимо топологии и степени связности, надо дополнительно учесть механизм взаимодействия процессоров: передача сообщений, разделяемые переменные или принцип с1ша/1ом> (по готовности операндов).

Наконец, последний, четвертый уровень — способ управления процессорами, определяет общий принцип функционирования всей совокупности процессоров вычислительной системы: синхронный, с1ша/1ом> или асинхронный.

На основе выделенных четырех характеристик нетрудно определить место наиболее известных классов архитектур в данной систематике.

Векторно-конвейерные компьютеры:

  • • гранулярность — на уровне данных;
  • • реализация параллелизма — аппаратная;
  • • связь процессоров — простая топология со средней связностью;
  • • способ управления — синхронный.

Классические мультипроцессоры:

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

Матричные процессоры:

  • • гранулярность — на уровне данных;
  • • реализация параллелизма — аппаратная;
  • • связь процессоров — двумерные массивы с сильной связностью;
  • • способ управления — синхронный.

Систолические массивы:

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

Архитектура типа wavefront:

  • • гранулярность — на уровне данных;
  • • реализация параллелизма — аппаратная;
  • • связь процессоров — двумерная топология с сильной связностью;
  • • способ управления — dataflow.

Архитектура типа dataflow:

  • • гранулярность — на уровне команд;
  • • реализация параллелизма — комбинированная;
  • • связь процессоров — простая топология с сильной либо средней связностью и использованием принципа dataflow,
  • • способ управления — асинхронно-dataflow.

Несмотря на то, что классификация Е. Кришнамарфи построена только на четырех признаках, она позволяет выделить и описать такие «нетрадиционные» параллельные системы, как систолические массивы, машины типа dataflow и wavefront. Однако эта же простота является и основной причиной ее недостатков: некоторые архитектуры нельзя однозначно отнести к тому или иному классу, например компьютеры с архитектурой гиперкуба и ассоциативные процессоры. Для более точного описания таких машин потребуется ввести еще целый ряд характеристик, таких, как размещение задач по процессорам, способ маршрутизации сообщений, возможность реконфигурации, аппаратная поддержка языков программирования и другие. Вместе с тем ясно, что эти признаки формализовать гораздо труднее, поэтому есть опасность вместо ясности внести в описание лишь дополнительные трудности.

Классификация Скилликорна. Д. Скилликорн разработал подход, ориентированный как на описание свойств многопроцессорных систем, так и некоторых нетрадиционных архитектур, в частности dataflow- и т/исг/оя-машины.

Предлагается рассматривать архитектуру любого компьютера как абстрактную структуру, состоящую из четырех компонентов:

  • процессор команд (IP — Instruction Processor) — функциональное устройство, работающее как интерпретатор команд (в системе, вообще говоря, может отсутствовать);
  • процессор данных (DP — Data Processor) — функциональное устройство, работающее как преобразователь данных, в соответствии с арифметическими операциями;
  • иерархия памяти (IM — Instruction Memory, DM — Data Memory) — запоминающее устройство, в котором хранятся данные и команды, пересылаемые между процессорами;
  • переключатель — абстрактное устройство, обеспечивающее связь между процессорами и памятью.

Функции процессора команд во многом схожи с функциями устройств управления последовательных машин и, согласно Д. Скилликорну, сводятся к следующим:

  • • на основе своего состояния и полученной от DP информации IP определяет адрес команды, которая будет выполняться следующей;
  • • осуществляет доступ к IM для выборки команды;
  • • получает и декодирует выбранную команду;
  • • сообщает DP команду, которую надо выполнить;
  • • определяет адреса операндов и посылает их в DP;
  • • получает от DP информацию о результате выполнения команды.

Функции процессора данных делают его во многом похожим на арифметическое устройство традиционных процессоров:

  • • DP получает от IP команду, которую надо выполнить;
  • • получает от IP адреса операндов;
  • • выбирает операнды из DM;
  • • выполняет команду;
  • • запоминает результат в DM;
  • • возвращает в IP информацию о состоянии после выполнения команды.

В терминах таким образом определенных основных частей компьютера структуру традиционной фон-неймановской архитектуры можно представить в следующем виде — рис. 2.31.

Это один из самых простых видов архитектуры, не содержащих переключателей. Для описания параллельных вычислительных систем автор зафиксировал четыре типа переключателей, без какой-либо явной связи с типом устройств, которые они соединяют:

• 1 — 1 — переключатель такого типа связывает пару функциональных устройств;

Представление фон-неймановской архитектуры по Скилликорну

Рис. 2.31. Представление фон-неймановской архитектуры по Скилликорну

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

Примеров подобных переключателей можно привести очень много. Так, все матричные процессоры имеют переключатель типа 1 —п для связи единственного процессора команд со всеми процессорами данных. В компьютерах семейства Connection Machine каждый процессор данных имеет свою локальную память, следовательно, связь будет описываться как п—п. В то же время каждый процессор команд может связаться с любым другим процессором, поэтому данная связь будет описана как п х п.

Классификация Д. Скилликорна состоит из двух уровней. На первом уровне она проводится на основе восьми характеристик:

  • • количества процессоров команд (IP);
  • • числа запоминающих устройств (модулей памяти) команд (IM);
  • • типа переключателя между IP и IM;
  • • количества процессоров данных (DP);
  • • числа запоминающих устройств (модулей памяти) данных (DM);
  • • типа переключателя между DP и DM;
  • • типа переключателя между IP и DP;
  • • типа переключателя между DP и DP.

Используя введенные характеристики и предполагая, что рассмотрение количественных характеристик можно ограничить только тремя возможными вариантами значений: 0, 1 и п (т. е. больше одного), можно получить 28 классов архитектур.

В классах 1—5 находятся компьютеры типа dataflow и reduction, не имеющие процессоров команд в обычном понимании этого слова. Класс 6 — это классическая фон-неймановская последовательная машина. Все разновидности матричных процессоров содержатся в классах 7—10. Классы 11 и 12 отвечают компьютерам типа MISD классификации Флинна и на настоящий момент, по-видимому, не заполнены. Классы с 13-го по 28-й занимают всевозможные варианты мультипроцессоров, причем в классах 13—20 находятся машины с достаточно привычной архитектурой, в то время, как архитектура классов 21—28 пока выглядит экзотично.

Классификация Хендлера. В основу классификации В. Хендлер закладывает явное описание возможностей параллельной и конвейерной обработки информации вычислительной системой. При этом он намеренно не рассматривает различные способы связи между процессорами и блоками памяти и считает, что коммуникационная сеть может быть нужным образом сконфигурирована и будет способна выдержать предполагаемую нагрузку (рис. 2.32).

Предложенная классификация базируется на различии между тремя уровнями обработки данных в процессе выполнения программ:

• уровень выполнения программы: опираясь на счетчик команд и некоторые другие регистры, устройство управле-

На каждой ступени слово из w бит

w' ступеней конвейера

к' ЦП из к могут работать в макроконвейере

Рис. 2.32. Классификация Хендлера

ния (УУ) производит выборку и дешифрацию команд программы;

  • • уровень выполнения команд: арифметико-логическое устройство компьютера (АЛУ) исполняет команду, выданную ему устройством управления;
  • • уровень битовой обработки: все элементарные логические схемы процессора (ЭЛС) разбиваются на группы, необходимые для выполнения операций над одним двоичным разрядом.

Таким образом, подобная схема выделения уровней предполагает, что вычислительная система включает какое-то число процессоров, каждый со своим устройством управления. Каждое устройство управления связано с несколькими арифметико-логическими устройствами, исполняющими одну и ту же операцию в каждый конкретный момент времени. Наконец, каждое АЛУ объединяет несколько элементарных логических схем, ассоциированных с обработкой одного двоичного разряда (число ЭЛС есть ничто иное, как длина машинного слова). Если на какое-то время не рассматривать возможность конвейеризации, то число устройств управления к, число арифметико-логических устройств с1 в каждом устройстве управления и число элементарных логических схем в каждом АЛУ составят тройку для описания данной вычислительной системы С:

КО = (к, К, м>).

Классификация Хокни. Р. Хокни (английский специалист в области параллельных вычислительных систем) разработал свой подход к классификации, введенной им для систематизации компьютеров, попадающих в класс М1МЭ по систематике Флинна.

Как отмечалось ранее (см. классификацию Флинна), класс М1МЭ чрезвычайно широк, причем наряду с большим числом компьютеров он объединяет и целое множество различных типов архитектур. Хокни, пытаясь систематизировать архитектуры внутри этого класса, получил иерархическую структуру, представленную на рис. 2.33.

Основная идея классификации состоит в следующем. Множественный поток команд может быть обработан двумя способами: либо одним конвейерным устройством обработки, работающем в режиме разделения времени для отдельных потоков, либо каждый поток обрабатывается своим собственным устройством.

Системы архитектуры MIMD (Флинн) в интерпретации Хокни

Рис. 2.33. Системы архитектуры MIMD (Флинн) в интерпретации Хокни

Первая возможность используется в MIMD-компьютерах, которые автор называет конвейерными (например, процессорные модули в Denelcor HEP). Архитектуры, использующие вторую возможность, в свою очередь опять делятся на два класса:

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

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

Далее, среди MIMD-машин с переключателем Хокни выделяет те, в которых вся память распределена среди процессоров как их локальная память (например, PASM, PRINGLE). В этом случае общение самих процессоров реализуется с помощью очень сложного переключателя, составляющего значительную часть компьютера. Такие машины носят название MIMD-машин с распределенной памятью. Если память — это разделяемый ресурс, доступный всем процессорам через переключатель, то такие MIMD-машины являются системами с общей памятью (CRAY Х-МР, BBN Butterfly). В соответствии с типом переключателей можно проводить классификацию и далее: простой переключатель, многокаскадный переключатель, общая шина.

Многие современные вычислительные системы имеют как общую разделяемую память, так и распределенную локальную. Такие системы являются гибридными MIMD с переключателем.

При рассмотрении MIMD-машин с сетевой структурой считается, что все они имеют распределенную память, а дальнейшая классификация проводится в соответствии с топологией сети: звездообразная сеть (1САР), регулярные решетки разной размерности (Intel Paragon, CRAY T3D), гиперкубы (NCube, Intel iPCS), сети с иерархической структурой, такой, как деревья, пирамиды, кластеры (Cm, CEDAR) и, наконец, сети, изменяющие свою конфигурацию.

Заметим, что если архитектура компьютера спроектирована с использованием нескольких сетей с различной топологией, то по аналогии с гибридными MIMD с переключателями их стоит назвать гибридными сетевыми MIMD, а использующие идеи разных классов — просто гибридными MIMD. Типичным представителем последней группы, в частности, является компьютер Connection Machine 2, имеющий на внешнем уровне топологию гиперкуба, каждый узел которого является кластером.

Классификация Шора. Классификация Дж. Шора, появившаяся в начале 70-х гг., интересна тем, что представляет собой попытку выделения типичных способов компоновки вычислительных систем на основе фиксированного числа базисных блоков: устройства управления, арифметико-логического устройства, памяти команд и памяти данных. Дополнительно предполагается, что выборка из памяти данных может осуществляться словами, т. е. выбираются все разряды одного слова, и/или битовым слоем — по одному разряду из одной и той же позиции каждого слова (иногда эти два способа называют горизонтальной и вертикальной выборками соответственно). Конечно же, при анализе данной классификации надо делать скидку на время ее появления, так как предусмотреть невероятное разнообразие параллельных систем настоящего времени было в принципе невозможно. Итак, согласно классификации Шора все компьютеры разбиваются на шесть классов, которые так и называются: машина типа I, II и т. д.

Машина типа I — это вычислительная система, которая содержит устройство управления, арифметико-логическое устройство, память команд и память данных с пословной выборкой (рис. 2.34, а). Считывание данных осуществляется выборкой всех разрядов некоторого слова для их параллельной обработки в арифметико-логическом устройстве. Состав АЛУ специально не оговаривается, что допускает наличие нескольких функциональных устройств, быть может, конвейерного типа. По этим сообра-

а б

Рис. 2.34. Машины типов I (а) и II (б) по классификации Шора

жениям в данный класс попадают как классические последовательные машины (IBM 701, PDP-11, VAX 1 1/780), так и конвейерные скалярные (CDC 7600) и векторно-конвейерные (CRAY-1).

Если в машине типа I осуществлять выборку не по словам, а содержимого одного разряда из всех слов, то получим машину типа II (рис. 2.34, б). Слова в памяти данных по-прежнему располагаются горизонтально, но доступ к ним осуществляется иначе. Если в машине I происходит последовательная обработка слов при параллельной обработке разрядов, то в машине II — последовательная обработка битовых слоев при параллельной обработке множества слов.

Структура машины II лежит в основе ассоциативных компьютеров (например, центральный процессор машины STARAN), причем фактически такие компьютеры имеют не одно арифметико-логическое устройство, а множество сравнительно простых устройств поразрядной обработки. Другим примером служит матричная система ICL DAP, которая может одновременно обрабатывать по одному разряду из 4096 слов.

Если объединить принципы построения машин I и II, то получим машину типа III (рис. 2.35, а). Эта машина имеет два арифметико-логических устройства — горизонтальное и вертикальное, и модифицированную память данных, которая обеспечивает доступ как к словам, так и к битовым слоям. Впервые идею построения таких систем в 1960 г. выдвинул У. Шуман, называвший их ортогональными (если память представлять как матрицу слов, то доступ к данным осуществляется в направлении, «ортогональном» традиционному — не по словам (строкам), а по битовым слоям (столбцам)). В принципе, как машину STARAN, так и ICL DAP можно запрограммировать на выполнение функций машины III, но поскольку они не имеют отдельных АЛ У для

а б

Рис. 2.35. Машины типов III (а) и IV (б) по классификации Шора

обработки слов и битовых слоев, отнести их к данному классу нельзя. Полноправными представителями машин класса III являются вычислительные системы семейства OMEN-60 фирмы Sanders Associates, построенные в прямом соответствии с концепцией ортогональной машины.

Если в машине I увеличить число пар «арифметико-логическое устройство — память данных» (иногда эту пару называют процессорным элементом), то получим машину типа IV (рис. 2.35, б). Единственное устройство управления выдает команду за командой сразу всем процессорным элементам. С одной стороны, отсутствие соединений между процессорными элементами делает дальнейшее наращивание их числа относительно простым, но с другой — сильно ограничивает применимость машин этого класса. Такую структуру имеет вычислительная система РЕРЕ, объединяющая 288 процессорных элементов.

Если ввести непосредственные линейные связи между соседними процессорными элементами машины IV, например в виде матричной конфигурации, то получим схему машины типа V (рис. 2.36, а). Любой процессорный элемент теперь может обращаться к данным как в собственной памяти, так и в памяти непо-

а б

Рис. 2.36. Машины типов V (а) и VI (б) по классификации Шора

средственных соседей. Подобная структура характерна, например, для классического матричного компьютера 1Ы_ЛАС IV.

Заметим, что все машины типа 1—У придерживаются концепции разделения памяти данных и арифметико-логических устройств, предполагая наличие шины данных или какого-либо коммутирующего элемента между ними. Машина типа VI (рис. 2.36, б), названная матрицей с функциональной памятью (или памятью с встроенной логикой), представляет собой другой подход, предусматривающий распределение логики процессора по всему запоминающему устройству. Примерами могут служить как простые ассоциативные запоминающие устройства, так и сложные ассоциативные процессоры.

Примеры некоторых архитектур вычислительных систем

Рассмотрим далее примеры конкретных архитектур, а именно:

  • • симметричную многопроцессорную;
  • • асимметричную многопроцессорную (мультипроцессорную);
  • • массивно-параллельную;
  • • гибридную с неоднородным доступом к памяти;
  • • параллельную с векторными процессорами;
  • • кластерную.

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

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

Симметричная мультипроцессорная обработка Symmetric Multiprocessing (SMP). SMP — архитектура суперкомпьютера, в которой группа процессоров работает с общей оперативной памятью (рис. 2.37).

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

Симметричная мультипроцессорная архитектура

Рис. 2.37. Симметричная мультипроцессорная архитектура

Работой управляет единственная копия операционной системы. Для ускорения обработки каждый процессор может также иметь собственную кэш-память. Задания между процессами распределяются непосредственно при выполнении прикладного процесса. Нагрузка между процессорами динамически выравнивается, а обмен данными между ними происходит с большой скоростью. Достоинство этого подхода состоит в том, что каждый процессор видит всю решаемую задачу в целом. Но поскольку для взаимодействия используется лишь одна шина, то возникают повышенные требования к ее пропускной способности. Соединение посредством шины применяется при небольшом (4—8) числе процессоров.

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

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

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

Данная конфигурация, в которой все ЦП имеют одинаковую скорость доступа к общей ОП, известна так же, как система с однородным доступом к памяти (Uniform Memory Access — UMA) или сильносвязная распределенная система памяти.

Асимметричная мультипроцессорная обработка ASymmetric Multiprocessing (ASMP) — архитектура суперкомпьютера, в которой каждый процессор имеет свою оперативную память.

В ASMP используются три схемы (рис. 2.38). В любом случае процессоры взаимодействуют между собой, передавая друг другу сообщения, т. е. как бы образуя скоростную локальную сеть. Передача сообщений может осуществляться через общую шину (рис. 2.38, а, см. также МРР-архитектуру) либо благодаря межпроцессорным связям. В последнем случае процессоры связаны либо непосредственно (рис. 2.38, б), либо через друг друга (рис. 2.38, в). Непосредственные связи используются при небольшом числе процессоров.

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

а

б

в

кластером. Пользователь, обращаясь к кластеру, может работать сразу с группой процессоров. Такое объединение увеличивает скорость обработки данных и расширяет используемую оперативную память. Резко возрастает также отказоустойчивость, ибо кластеры осуществляют резервное дублирование данных. Созданная таким образом система называется кластерной. В этой системе в соответствии с ее структурой может функционировать несколько копий операционной системы и несколько копий прикладной программы, которые работают с одной и той же базой данных (БД), решая одновременно разные задачи.

МРР-архитектура (massive parallel processing) — массивно-параллельная архитектура (рис. 2.38, а). В этом случае система строится из отдельных модулей, каждый из которых содержит:

  • • процессор;
  • • локальный банк оперативной памяти (ОП);
  • • два коммуникационных процессора (маршрутизатора, руте-ра — router): один — для передачи команд, другой — для передачи данных (или сетевой адаптер);
  • • жесткие диски и/или другие устройства ввода-вывода.

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

Гибридная архитектура (NUMA). Главная особенность гибридной архитектуры NUMA (nonuniform memory access) — неоднородный доступ к памяти.

Гибридная архитектура воплощает в себе удобства систем с общей памятью и относительную дешевизну систем с раздельной памятью. Суть этой архитектуры — в методе организации памяти, а именно: память является физически распределенной по различным частям системы, но логически разделяемой, так что пользователь видит единое адресное пространство. Система состоит из однородных базовых модулей (плат), состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскоростного коммутатора. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удаленной памяти, т. е. к памяти других модулей. При этом доступ к локальной памяти осуществляется в несколько раз быстрее, чем к удаленной. По существу архитектура NUMA является МРР-архитектурой (массивно-параллельной), где в качестве отдельных вычислительных элементов берутся SMP-узлы.

Пример структурной схемы компьютера с гибридной сетью (рис. 2.39): четыре процессора связываются между собой с помощью кроссбара в рамках одного SMP-узла. Узлы связаны сетью типа «бабочка» (Butterfly).

Известны также гибридные структуры с коммутатором (рис. 2.40). Здесь каждый процессор работает со своей памятью, но модули устройств памяти связаны друг с другом с помощью коммутатора (рис. 2.40, а). Коммутаторы могут включаться также между группами процессоров (ПР) и модулей памяти (П). Здесь сообщения между процессорами и памятью передаются через несколько узлов (рис. 2.40, б).

Архитектура развивалась такими компаниями, как Burroughs, Convex Computer (в последующем HP), SGI, Sequent и Data General в период 1990-х гг. Разработанные здесь технологии в дальнейшем воплотились в многих Unix-подобных ОС, а также в определенной степени — в Windows NT.

Эффективность как UMA, так и NUMA ограничивается пропускной способностью шины памяти и временами задержки как шины, так и самой памяти. Это значит, что с увеличением числа процессоров после определенного предела производительность перестает возрастать линейно (см. также рис. 2.26). Этот «предел

Узел

а б

Рис. 2.40. Гибридная архитектура с коммутатором (а); многокаскадная

коммутация (б)

роста» зависит от выполняемых приложений и, как правило, не превосходит 24—68 процессоров.

PVP-архитектура. PVP (Parallel Vector Process) — параллельная архитектура с векторными процессорами. Основным признаком PVP-систем является наличие векторно-конвейерных процессоров, в которых предусмотрены команды однотипной обработки векторов независимых данных, эффективно выполняющиеся на конвейерных функциональных устройствах. Как правило, несколько таких процессоров (1 — 16) работают одновременно с общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций. Несколько таких узлов могут быть объединены с помощью коммутатора (аналогично МРР).

Кластерная архитектура. Кластер, как правило, состоит из двух или более узлов, которые связаны интерфейсами. Распределенные данные, которые доступны кластеру, находятся в накопителях информации. Каждый узел кластера содержит следующие основные компоненты:

  • • центральный процессор (ПЦ — основное звено обработки информации), обменивающийся данными с оперативной памятью;
  • • оперативную память (ОП), как и обычно, предназначенную для хранения программ и данных;
  • • интерфейсы, обеспечивающие связь узлов;
  • • накопители данных (диски, ленты и пр.).

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

Типы кластеров:

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

Тип II. Система включает эксклюзивные или не широко распространенные детали. Этим можно достичь очень хорошей производительности, однако при более высокой стоимости.

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

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

Рассмотрим пример построения симметричной 16-процес-сорной системы, в которой все процессоры были бы равноправны. Наиболее естественным представляется соединение в виде

Компьютер/процессор

Топология связи: сетка 4x4

Рис. 2.41. Схема соединения процессоров в виде плоской решетки (а), процессорная плата векторного компьютера СИЛУ УМР (б)

а б

плоской решетки, где внешние концы могут использоваться для подсоединения внешних устройств (рис. 2.41).

При таком типе соединения максимальное расстояние между процессорами окажется равным 6 (количество связей между процессорами, отделяющих самый ближний процессор от самого дальнего). Однако, оказывается, что если в системе максимальное расстояние между процессорами больше 4, то такая система не может работать эффективно. Поэтому, при соединении 16 процессоров друг с другом плоская схема является неэффективной. Для получения более компактной конфигурации необходимо использовать фигуры, имеющие максимальный объем при минимальной площади поверхности.

В трехмерном пространстве таким свойством обладает шар. Но поскольку необходимо построить узловую систему, то вместо шара приходится использовать куб (если число процессоров равно 8, рис. 2.42, а) или гиперкуб, если число процессоров больше 8. Размерность гиперкуба будет определяться в зависимости от числа процессоров, которые необходимо соединить. Так, для соединения 16 процессоров потребуется четырехмерный гиперкуб (рис. 2.42, б). Для его построения следует взять обычный трехмерный куб, сдвинуть в одном направлении и, соединив вершины, получить гиперкуб размерности 4.

Топологии связи

Рис. 2.42. Топологии связи: а — трехмерный куб; б — четырехмерный гиперкуб

Эффективной считается архитектура с топологией «толстого дерева» (fat-tree). Процессоры локализованы в листьях дерева, в то время как внутренние узлы дерева скомпонованы во внутреннюю сеть (рис. 2.43). Поддеревья могут общаться между собой, не затрагивая более высоких уровней сети.

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

Кластерная архитектура «Fat-tree»

Рис. 2.43. Кластерная архитектура «Fat-tree»: а — вид «сбоку»; б — вид «сверху»

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

Однородный доступ к дисковой памяти (Uniform Disk Memory AccessUDMA). При UDMA (рис. 2.44, а), затраты на доступ к дискам одинаковы для различных узлов.

а

ц

П

Память

ц

П

Память

ц

П

Память

б

Рис. 2.44. Разновидности архитектур доступа к дисковой памяти: а — однородный доступ (ЬШМА); б — неоднородный (М1ЮМА)

Кластер на рис. 2.44, а состоит из нескольких SMP-узлов. Совместно используемая дисковая система такого типа часто применяется при организации соединения по каналам SCSI или Fibre Channel с большим количеством дисков.

Преимущества UDA:

  • • высокая доступность данных; даже если некоторые узлы выходят из строя, доступ к данным не нарушается;
  • • хорошая масштабируемость.

Неоднородный доступ к дискам (Non-Uniform Disk Memory AccessNUDMA). В таких системах дисковая память подсоединяется непосредственно к узлам, и для каждого узла такой диск является локальным. Для всех других узлов доступ к «чужому» диску должен быть обслужен программными средствами поддержки виртуальных дисков через каналы связи между узлами. Это означает, что затраты на такой доступ возрастают, как в связи с пониженным приоритетом «чужого» процессора, так и за счет задержек коммутации и перегрузки каналов связи.

Преимущества неоднородного доступа к дискам:

  • • количество узлов не ограничено возможностями системы коммуникации с дисками;
  • • общий объем дисковой памяти может быть неограниченно увеличен путем добавления узлов.

Созвездия. Для определенных кластерных конфигураций в последнее время был предложен термин созвездие (constellation).

Рассмотрим рис. 2.45. Каждый узел (node) кластера есть независимый компьютер с одним или более (N) процессоров. Если

в системе всего М узлов, причем численность узла меньше этого количества (N < М), то имеет место кластерная конфигурация, в противном случае (N > М) имеем дело с созвездием.

Система Columbia (кластер из 20 машин SGI Altix, каждая по 512 процессоров) считается типичным примером созвездия.

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

Транспьютер представляет собой микропроцессор, в состав которого входят (рис. 2.46):

  • • ЦПУ с сокращенным набором команд (RISC);
  • • 64-разрядный сопроцессор (FPU) плавающей арифметики с высокой пиковой производительностью, работающий параллельно с ЦПУ;
  • • внутрикристальное ОЗУ;
  • • 32-разрядная шина памяти;
  • • четыре последовательные двунаправленные линии связи (link), обеспечивающие взаимодействие транспьютера с внешним миром, работающих параллельно;
  • • таймер;
  • • генераторы системных управляющих сигналов «инициализация», «анализ», «ошибка», управляющие загрузкой и анализом состояния транспьютера, сигнализирующие об ошибках;
  • • интерфейс внешних событий (event), обеспечивающий асинхронную связь внутреннего процесса и внешнего события.

Транспьютеры размещаются на транспьютерных модулях (TRAM или ТРАМ) — дочерних платах, содержащих транспьютер, ОЗУ, переключатели для выбора режимов и интерфейс,

Шины связи (пинки) а

Рис. 2.46. Транспьютер:

а — структура; б — возможность соединения в плоскую решетку (рис. 2.41); в — возможность соединения в трех-, четырехмерный куб (рис. 2.42)

включающий гнезда/штекеры питания, четыре линии связи, линии внешних событий и системных управляющих сигналов. В зависимости от состава ТРАМ может иметь разные физические размеры, которые стандартизованы и пронумерованы. Так, наименьший по размеру ТРАМ имеет номер 1, следующий — 2 и т. д.

ТРАМы в свою очередь размещаются на объединительных платах, которые либо непосредственно включаются в некоторый компьютер, либо соединенные вместе составляют сетевой компьютер. Известно два типа объединительных плат, подключаемых к компьютеру (вычислительные транспьютерные платы):

  • • загружаемые по линии связи платы общего назначения, начальная загрузка которых осуществляется программой главного компьютера по линии связи, соединяющей главный компьютер и транспьютер (корневой транспьютер), специально выделенный для взаимодействия с главным компьютером;
  • • загружаемые из ПЗУ платы, предназначенные для автономных, встроенных систем.

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

Inmos (например, фирма Texas Instruments выпустила сигнальный процессор TMS320C40 с производительностью 50 Mflops).

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

Кластерные, массивно-параллельные и матричные системы различных производителей

Развитие сетевых технологий привело к появлению недорогих, но эффективных коммуникационных решений. Это и предопределило появление кластерных вычислительных систем, фактически являющихся одним из направлений развития компьютеров с массовым параллелизмом. Классические суперкомпьютеры, использующие специализированные процессоры таких фирм, как, например, Cray, NEC (векторно-параллельные или массивно-параллельные), обычно недешевы, поэтому и стоимость подобных систем не сравнима со стоимостью систем, находящихся в массовом производстве.

Вычислительные системы, создаваемые из массово-выпус-каемых компонентов, стали притягательной альтернативой традиционным суперкомпьютерным системам. При выполнении многих прикладных задач такие ВС, даже с небольшим или средним (до 128—256) числом вычислительных модулей, показывают производительность, не уступающую или даже превосходящую производительность традиционных суперкомпьютеров как с распределенной, так и с разделяемой памятью. Наряду с этим, эти ВС обладают рядом преимуществ, среди которых: более низкая стоимость, короткий цикл разработки и возможность оперативно использовать наиболее эффективные вычислительные и коммуникационные компоненты из имеющихся на рынке во время создания системы. Поэтому неудивительно, что ведущие фирмы-разработчики высокопроизводительной техники приступили к созданию кластерных систем.

Отечественные суперкомпьютеры семейства МВС. Создание и использование суперкомпьютеров в мире относятся к факторам стратегического значения и входят в первую десятку приоритетов «ключевых» технологий развитых стран. В настоящее время в США эксплуатируются суперкомпьютеры с производительностью более 10 операций в секунду, что дает возможность ускорения работ в области фундаментальных исследований, решения прикладных задач народнохозяйственного и оборонного комплекса. США, Япония и страны Западной Европы резко ограничивают возможность приобретения Россией мощных вычислительных систем. Кроме того, зарубежные вычислительные системы такого уровня непомерно дороги и их эксплуатационное освоение затруднено.

Проблема создания конкретных суперкомпьютеров требуемого уровня мощности для наиболее крупных российских вычислительных центров решается на основе сбалансированного целенаправленного сочетания закупок новейших комплектующих изделий, создания на этой основе отечественных суперкомпьютерных систем, их интеграции в информационно-вычислительные сети и необходимых усилий в области применения, т. е. в разработке прикладных программ и методов математического моделирования. Эта концепция реализована в мультипроцессорной вычислительной системе МВС-100, которая создана в кооперации научно-исследовательских институтов Российской академии наук и промышленности (головные организации НИИ «Квант» РАСУ и ИПМ РАН). Система построена на основе микропроцессоров с быстродействием порядка 100 миллионов операций в секунду, межпроцессорное взаимодействие осуществляется с помощью транспьютеров. Установки МВС-100 с суммарной производительностью более 50 миллиардов операций в секунду в течение нескольких лет успешно эксплуатируются в вычислительных центрах РАН (в Москве, Екатеринбурге, Новосибирске, Владивостоке) и в отраслевых ВЦ. При этом решены сложные прикладные задачи качественно нового уровня из области аэродинамики для самолетостроения и создания реактивных двигателей, ядерной физики, управления динамическими системами, распознавания изображений при навигации движущихся объектов, сейсмогеологоразведки, нефтедобычи, метеорологии, биоинженерии и др. Показана возможность эффективного распараллеливания вычислений и обработки данных.

В сложившейся кооперации проведены работы по созданию системы нового поколения — М ВС-1000 на микропроцессорах Alpha с технологическими нормами 0,35 мкм и быстродействием до 1—2 млрд оп./с. В течение 1998 г. на эксплуатируемых установках этого типа отрабатывалось программное обеспечение и решен ряд новых сложных реальных вычислительных задач.

К настоящему времени введена в действие система с производительностью 200 млрд оп./с для Межведомственного суперкомпьютерного центра (Миннауки, Минобразования, РАН, РФФИ); предполагается дальнейшее наращивание мощности. Освоен режим телекоммуникационного доступа к МВС, в том числе по Internet, с обеспечением требований защиты информации. Предстоят дальнейшие разноплановые работы по техническому и математическому освоению созданных систем, развитию их программного обеспечения. Эти работы входят в соответствующие целевые научно-технические программы федерального и ведомственного уровня.

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

МВС-1000 — система 3-го поколения, основана на использовании микропроцессоров Alpha 21164 (разработка фирмы DEC-Compaq; выпускается также заводами фирм Intel и Samsung) с производительностью до 1—2 млрд операций в секунду и присоединенной оперативной памятью объемом 0,1—2 Гбайт.

Мультипроцессорный массив системы с блоками вторичного электросилового питания и вентиляцией располагается в стойках размером 550 х 650 х 2200 мм промышленного стандарта; вес заполненной стойки — 220 кг, потребляемая мощность до 4 кВт.

В основном исполнении системы межпроцессорный обмен структурно аналогичен используемому в системе М ВС-100 и реализуется в двух модификациях: на базе «транспьютероподобного» связного микропроцессора TMS320C44 (фирма Texas Instruments), имеющего четыре канала с пропускной способностью каждого 20 Мбайт/с либо на базе связного микропроцессора SHARC ADSP 21060 (фирма Analog Devices), имеющего шесть внешних каналов с пропускной способностью каждого 40 Мбайт/с.

Исполнение МВС-ЮООК отличается использованием для межпроцессорного обмена коммутационной сети MYRINET (фирма Myricom, США) с пропускной способностью канала в дуплексном режиме 2 х 160 Мбайт/с. Кроме того, предусмотрено подключение к каждому процессору памяти на жестком диске с объемом 2—9 Гбайт.

В стандартной стойке располагается до 64 процессоров системы МВС-1000 или до 24 процессоров системы МВС-ЮООК. Предусмотрены средства системного объединения стоек для установок с большим числом процессоров.

В программном обеспечении МВС используются в числе прочего:

  • • языки Fortran и С (C++), дополнительные средства описания параллельных процессов;
  • • программные средства PVM и MPI (общепринятые для систем параллельной обработки);
  • • средства реализации многопользовательских режимов и удаленного доступа.

Примеры кластерных решений IBM. В начале 2000 г. IBM создала Linux-кластер из установленных в стойке серверов IBMxSeries, интегрировав их с соответствующими сетями, системами управления (аппаратное и программное обеспечение) и необходимыми услугами. После выпуска в 2001 г. кластера 1300 IBM представила кластер 1350 на процессорах Intel Xeon (табл. 2.12).

Таблица 2.12. Пример конфигурации кластера 1350

Класс

Число узлов кластера

Скорость процессора, ГГц

Память

системы, Гбайт

Внутренняя память, Гбайт

Соединение кластера, Мбит/с

Начальный

8

2,0

0,512

18

10/100 Ethernet

Средний

32

2,4

1

18

10/100 Ethernet

Профессио

нальный

128

2,8

1

36

Gigabit Ethernet

Высокопроиз

водительный

64

2,8

1

36

Myrinet-2000

Стандартным вычислительным узлом для кластера 1350 является IBMxSeries 335. Это позволяет одному или двум процессорам Intel Pentium 4 (Xeon) с быстрой динамической памятью и диском размещаться в стандартном корпусе размером «Ш». Символ 1U обозначает 1,75 дюйма высоты в стандартном 19-дюймовом корпусе. Х335 имеет встроенный сервисный процессор и два слота для соединения с другими компонентами системы.

Головные узлы, узлы управления и узлы запоминающих устройств обеспечивают особые функции для управления кластером (как обеспечение загрузки, управление устройствами, внешний ввод-вывод и т. д.). Сервер 2U IBM xSeries 345, основанный на процессорах Xeon, в кластере 1350 используется как узел управления и хранения данных и может быть также использован как вычислительный узел. Коммутаторы применяются для межпроцессорного соединения в параллельном программировании и для различных функций управления.

Для параллельного программирования в качестве межпроцессорного соединения обычно используется сеть Myrinet (см. ниже, гл. 4). Пропускная способность канала составляет приблизительно 200 Мбайт/с в каждом направлении со временем задержки 6—8 мкс.

Терминальные серверы обеспечивают удаленный доступ к консолям ОС узлов через последовательную сеть. Дополнительные функциональные возможности добавляются посредством клавиатуры, мыши, монитора.

Коммерческий программный пакет может включать в себя WebSphere, DB2, MySQL и т. д. НРС пакет может включать MPICH, PVM, Maui Scheduler, математические библиотеки, трансляторы, профилировщики и т. д.

Операционная система Linux инсталлирована на каждом узле кластера. Кластер 1350 запускается под Red Hat Linux. В дальнейшем планируется ставить ОС SuSE (4Q02).

Большинство сложившихся систем управления, называемых хСАТ, было разработано IBM для сборки кластеров на основе требований заказчика. хСАТ поддерживает все требуемые функции, включая функции удаленного контроля. Отметим, что хСАТ использует сервисный процессор xSeries и что хСАТ не является открытым программным продуктом. Продукт поставляется свободно с кластерным пакетом IBM, включая исходные тексты.

Управление системами кластера для Linux (CSM) — это лицензионный программный продукт IBM. Он обеспечивает функции управления системами, сходными по форме с программами поддержки параллельных систем (Parallel System Support Programs — PSSP) для AIX-систем уровня поддержки на RS/6000 SP. CSM — это стандартный программный продукт для кластера 1350.

CSM для Linux включает технологию, извлеченную из PSSP, и сейчас доступную на AIX для управления кластерами, собранными из серверов xSeries и запускаемых под Linux, серверами IBM pSeries, управляемых AIX, или комбинацией обеих операционных систем.

Другие программные продукты, как взятые из открытого доступа, так и лицензионные, могут быть выбраны и адаптированы к нуждам заказчика и инсталлированы в виде части полной системы всего кластерного решения. Образцы этого ПО включают Portable Batch Scheduler (PBS) и Maui Scheduler, взятые из открытого доступа. Другие образцы включают MPICH для параллельного программирования, математические библиотеки, инструментарий для параллельной отладки и повышения производительности и много других приложений от независимых продавцов.

Примеры кластерных решений HP. Слияние HP и Compaq обеспечило HP прочное положение лидера по продаже Linux-сис-тем, соответствующих лучшим индустриальным стандартам на базе архитектур IA-32 и IA-64. Данная технология дополнена мощной поддержкой разработок ядра Linux на базе семейства Itanium, а также разработок с открытым кодом в целом.

Поддержка ОС Linux со стороны HP охватывает всю линейку серверов HP, основанных на архитектуре Intel (IA-32 и IA-64), включая все серверы промышленного стандарта HP ProLiant, сверхплотную блейд-архитектуру, рабочие станции HP, настольные компьютеры Evo, отдельные портативные компьютеры, серверы ProLiant для применения в качестве межсетевых экранов и даже портативные устройства iPAQ. HP также продолжает поддерживать технологию ОС Linux для архитектуры AlphaServer, разработанную компанией Compaq. Это открыло путь для современных разработок ОС Linux на базе семейства Itanium. HP поддерживает на своих серверах дистрибутивы Red Hat и SuSE, планируя осуществлять поддержку дистрибутивов операционной системы UnitedLinux после ее выпуска. HP предлагает заказчикам возможность предварительно установить любую ОС Linux на выбранные серверы ProLiant и рабочие станции Evo. Услуги по глобальному развертыванию позволяют управлять предварительной установкой операционной системы в любой точке мира.

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

  • • компилятор Intel C++ Compiler для Linux;
  • • компилятор Intel Fortran Compiler для Linux;
  • • библиотека Intel Math Kernel Library;
  • • Intel Vtune Performance Analyzer — средство оптимизации программного кода.

Примеры кластерных решений SGI. Компания Silicon Graphics (SGI) была создана в 1981 г. Основным направлением работы компании в течение многих лет было создание высокопроизводительных графических рабочих станций. В настоящее время ее интересы распространяются на рынок высокопроизводительных вычислений как для технических, так и для коммерческих приложений. В частности она концентрирует свои усилия на разработке и внедрении современных технологий визуализации вычислений, трехмерной графики, обработки звука и мультимедиа.

Седьмого января 2003 г. компания SGI представила новое семейство 64-разрядных Linux-серверов и суперкластеров, названных SGI Altix 3000. Система SGI Altix 3000 использует процессоры Intel Itanium 2 и основана на архитектуре глобальной разделяемой памяти SGI Numaflex, которая является реализацией архитектуры неоднородного доступа к памяти (NUMA). NUMAflex появилась в 1996 г. и с тех пор использовалась в известной серии серверов и суперкомпьютеров SGI Origin, основанных на процессорах MIPS и 64-разрядной операционной системе IRIX. Дизайн NUMAflex позволяет помещать процессор, память, систему ввода-вывода, соединительные провода, графическую подсистему в модульные компоненты, иначе называемые блоками или кирпичиками. Эти кирпичики могут комбинироваться и конфигурироваться с большой гибкостью, чтобы удовлетворять потребности клиента в ресурсах и рабочей нагрузке. Используя этот дизайн третьего поколения, компания SGI смогла создать систему SGI Altix 3000 на основе традиционных блоков ввода-вывода (IX- и РХ-блоки), хранения данных (D-блоки) и соединительных компонентов (маршрутизирующие блоки/Я-блоки). Основным отличием этой новой системы является процессорный блок (С-блок), который содержит процессоры Itanium 2.

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

В недавних тестах SPECfp_rate_base2000 система SGI Altix 3000 (1 ГГц) показала мировой рекорд производительности в операциях с плавающей точкой для 64-процессорного сервера со значением 862. Наиболее близкий результат для 64-процессор-ных систем с единым образом операционной системы показал сервер HP Superdome (875 МГц) со значением 267 — меньше трети производительности системы SGI. По сравнению с 32-процессорными системами SGI Altix 3000 показал производительность, в 1,8 раз большую, чем IBM eServer р690 (1,3 ГГц), и в 3,5 раза большую, чем HP Superdome (750 МГц). 32-процес-сорная система SGI получила 443 очка, IBM eServer р690 — 251, HP Superdome — 128. Результаты 32-процессорного сервера SGI Altix 3000 демонстрируют превосходство на 300 % по критерию цена/производительность по сравнению с IBM eServer р690.

SMP Power Challenge фирмы Silicon Graphics. Разработка процессора R10000 позволила компании перейти к объединению своих серверов Challenge (на базе процессора R4000) и PowerChallenge (на базе процессора R8000) в единую линию изделий. Благодаря повышенной производительности этого процессора на целочисленных операциях и плавающей точке, обе линии продуктов могут быть объединены без потери производительности.

Серверы Silicon Graphics работают под управлением операционной системы IRIX (ОС UNIX реального времени), построенной в соответствии с требованиями стандартов SVID (System V Interface Definition) и XPG4. Она поддерживает возможность работы нескольких машин на одном шлейфе SCSI (multi-hosted SCSI), 4-кратное зеркалирование и 128-кратное расщепление дисковых накопителей. На платформе поддерживаются многие продукты компаний Oracle, Informix и Sybase.

Компьютеры Challenge DM/L/XL ориентированы в первую очередь на коммерческие применения, a Power Challenge L/XL — на работу с плавающей запятой. Системы Challenge DM относятся к среднему классу.

Power Challenge относится к классу симметричных мультипроцессорных ЭВМ (SMP-системы), базирующихся на поколении суперскалярных процессоров MIPS R8000 фирмы Silicon Graphics. Отличительными особенностями этих систем являются:

  • • масштабируемость суперкомпьютинга;
  • • использование большой динамической памяти (адресация у Power Challenge до 16 Гбайт — в 2 раза выше, чем у Cray T90/C90/J90);
  • • 64-разрядная архитектура (в отличие от машин фирм IBM, HP, Sun и Thinking Machines) как у машин Cray и Convex;
  • • бинарная совместимость со всем семейством компьютеров SGI, включая рабочие станции Indy.

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

Solomon. Одним из первых матричных процессоров был SoloMon (рис. 2.47). Система SoloMon содержит 1024 процессорных элемента, соединенных в виде матрицы 32 х 32. Каждый процессорный элемент матрицы включает в себя процессор, обеспечивающий выполнение последовательных поразрядных арифметических и логических операций, а также оперативное ЗУ емкостью 16 Кбайт. Длина слова — переменная от 1 до 128 разрядов. Разрядность слов устанавливается программно. По каналам связи от устройства управления передаются команды и общие константы. В процессорном элементе используется так называемая многомодальная логика, которая позволяет каждому процессорному элементу выполнять или не выполнять общую операцию в зависимости от значений обрабатываемых данных. В каж-t і t

Структура матричной вычислительной системы Solomon

Рис. 2.47. Структура матричной вычислительной системы Solomon

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

Идея многомодальное™ заключается в том, что в каждом процессорном элементе имеется специальный регистр на четыре состояния — регистр моды. Мода (модальность) заносится в этот регистр от устройства управления. При выполнении последовательности команд модальность передается в коде операции и сравнивается с содержимым регистра моды. Если есть совпадения, то операция выполняется. В других случаях процессорный элемент не выполняет операцию, но может в зависимости от кода пересылать свои операнды соседнему процессорному элементу. Такой механизм позволяет выделить строку или столбец процессорных элементов, что очень полезно при операциях над матрицами. Взаимодействуют процессорные элементы с периферийным оборудованием через внешний процессор.

Дальнейшим развитием матричных процессоров стала система Illias-4, разработанная фирмой Burrouth. Первоначально система должна была включать в себя 256 процессорных элементов, разбитых на группы, каждый из которых должен управляться специальным процессором. Однако по различным причинам была создана система, содержащая одну группу процессорных элементов и управляющий процессор. Если в начале предполагалось достичь быстродействия в 1 млрд операций в секунду, то реальная система работала с быстродействием 200 млн операций в секунду. Эта система в течение ряда лет считалась одной из самых высокопроизводительных в мире.

Матричная система

Система ПС-2000 (СССР)

Рис. 2.48. Система ПС-2000 (СССР)

П С - 2 О О О (СССР). В начале 80-х годов в СССР была создана система ПС-2000, которая также являлась матричной (рис. 2.48). Основой этой системы является мультипроцессор ПС-2000, состоящий из решающего поля и устройства управления мультипроцессором. Решающее поле строится из одного, двух, четырех или восьми устройств обработки, в каждом из которых — 8 процессорных элементов. Мультипроцессор из 64 процессорных элементов обеспечивает быстродействие, равное 200 млн операций в секунду на коротких операциях.

В 1972—1975 гг. в Москве в Институте проблем управления АН СССР (ИПУ РАН) была предложена структура и архитектура ПС-2000 — мультипроцессора с одним потоком команд и многими потоками данных. Ее авторам удалось найти оригинальное структурное решение, которое соединило относительную простоту управления одним потоком команд с высокой гибкостью программирования высокопараллельной обработки информации. Найденные в ИПУ РАН структурные решения впервые сориентировали конструкторов на проектирование для таких задач недорогих высокопараллельных компьютеров с высокой производительностью в расчете на единицу стоимости. Предварительные исследования и расчеты подтвердились. Производительность серийных комплексов ПС-2000 достигла 200 млн операций в секунду.

В 1980 г. Госкомиссия приняла опытные образцы и санкционировала серийное производство ЭГВК. Сразу восемь экземпляров ЭГВК ПС-2000, демонстрировавшихся перед комиссией на геофизических задачах (пакет программ в составе СОС-ПС (НПО «Геофизика», Москва)), давали суммарную производительность около миллиарда операций в секунду. Столь высокая производительность проблемно-ориентированных ЭГВК ПС-2000 достигалась на хорошо распараллеливаемых задачах, которые характерны для многих практических применений. При решении таких задач на ЭГВК ПС-2000 достигался рекордный «гражданский» показатель «производительность/стоимость».

С 1981 по 1988 гг. Северодонецким приборостроительным заводом Министерства приборостроения и средств автоматизации СССР было выпущено около 180 ЭГВК ПС-2000, мультипроцессоров ПС-2000 — 242 шт. Высокопроизводительные и недорогие вычислительные комплексы ПС-2000 работали в различных областях народного хозяйства во всех регионах страны и на специальных объектах.

Отечественное компьютеростроение впервые в мире большим тиражом выпустило высокопроизводительную многопроцессорную вычислительную систему.

В состав ЭГВК ПС-2000 (рис. 2.49) входит собственно мультипроцессор, мониторная подсистема (МПС) и от одной до четырех подсистем внешней памяти (СВП). Мультипроцессор включает в себя 1, 2, 4 или 8 устройств обработки (УО), каждое из которых содержит 8 процессорных элементов (ПЭ), обрабатывающих множество потоков данных по программам, находящимся в общем устройстве управления (ОУУ).

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

Мультипроцессор ПС-2000 ориентирован на высокопроизводительную обработку больших массивов информации по хорошо

Структура ЭГВК ПС-2000

Рис. 2.49. Структура ЭГВК ПС-2000

распараллеливаемым регулярным алгоритмам. Он обеспечивает однозадачный режим работы с одним потоком команд и многими потоками данных (811УЮ-архитектура). Особенностью 81МО-архитектуры ПС-2000 является наличие значительных объемов регистровой памяти, в которой и протекают массовые вычисления и межпроцессорные обмены, а также выполняется адресация распределенной оперативной памяти.

Мультипроцессор ПС-2000 (рис. 2.50) состоит из структурированной совокупности однотипных ПЭ и общего устройства управления. Конструктивно восемь ПЭ объединяются в УО. Каждый ПЭ содержит арифметико-логическое устройство с набором регистров общего назначения 5, память М, устройство локальной адресной арифметики I, устройство активации ПЭ — Т, фрагменты регулярного В и магистрального каналов. ОУУ содержит арифметико-логическое устройство с набором регистров общего назначения IV, память данных Я, адресную арифметику, память микрокоманд (7.

Устройство за 0,32 мкс выполняет операции с фиксированной запятой над 24-разрядными регистровыми операндами, в

Общеуправляющие сигналы

Структура мультипроцессора ПС-2000

Рис. 2.50. Структура мультипроцессора ПС-2000

нем также имеется аппаратная поддержка, обеспечивающая выполнение операций с плавающей запятой (сложение/вычитание за 0,96 мкс, умножение за 1,6 мкс). Объем памяти М и Н — 16 384 24-разрядных слова каждая, операции считывания или записи выполняются за 0,96 мкс. Объем памяти С — 16 384 64-разрядных слова. Время выдачи микрокоманды — 0,32 мкс, время выполнения команды ветвления от 1,28 до 1,92 мкс.

Все это позволяет мультипроцессору ПС-2000 с 64 ПЭ работать с эффективной производительностью 200 млн операций в секунду при выполнении расчетов с фиксированной запятой и 50 млн операций в секунду при выполнении одновременно нескольких вычислительных задач, содержащих операции с плавающей запятой. Таким образом, 64-процессорный ПС-2000, имея тактовую частоту 3 МГц, для пользователя работает с частотой 200 МГц.

Таков эффект высокопараллельной хорошо сбалансированной архитектуры. На современной элементной базе архитектура ПС-2000 при тактовой частоте 200 МГц могла бы обеспечить производительность 20 млрд операций в секунду при многократном снижении габаритов и энергопотребления.

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

Областью широкого использования ЭГВК ПС-2000 стала геофизика, которая объективно нуждалась в компьютерах такого класса. Быстрорастущие стеллажи из внушительных катушек магнитных лент (размером с большую тарелку каждая) с записями данных сейсморазведки, годами безмолвно хранивших нефтяные и газовые секреты, предопределили успех ПС-2000. Уже в 70-е годы сейсмическая разведка настолько успешно «просвечивала» и записывала на ленты километровые глубины недр Родины, что буквально с головой засыпала катушками вычислительные центры. В год удавалось расшифровывать лишь несколько процентов того, что поступало за один сезон разведки.

Для обработки данных сейсмической разведки месторождений нефти и газа во ВНИИ геофизики (Москва) при участии

ИПУ РАН была создана система промышленной обработки геофизической информации СОС-ПС (В. М. Крейсберг). В отрасли успешно эксплуатировалось около 90 экспедиционных геофизических вычислительных комплексов ЭГВК ПС-2000, обеспечивающих углубленную обработку значительной части данных сейсморазведки нефти и газа.

На базе нескольких комплексов ПС-2000 были созданы высокопроизводительные (до 1 млрд операций в секунду) системы обработки гидроакустической и телеметрической информации в реальном масштабе времени. Каждая система содержит три-четыре ЭГВК ПС-2000, соединенных в единый конвейер, а для быстрого ввода и вывода гидроакустической, спутниковой информации для таких систем создавались специализированные высокоскоростные каналы.

Телеметрический вычислительный комплекс центра управления космическими полетами (ЦУП) использовал с 1986 г. вплоть до 1997 г. года систему предварительной обработки телеметрической информации на базе ЭГВК ПС-2000, связанную в единый комплекс с центральной системой обработки на базе многопроцессорного вычислительного комплекса «Эльбрус-2». Высокий параллелизм обработки информации в ПС-2000 позволил реализовать новые алгоритмы обработки телеметрической информации. Первые комплексы ПС-2000 поступили в ЦУП в 1982 г., последние — в 1988 г. Всего было задействовано восемь 32-про-цессорных комплексов. К одной центральной системе «Эль-брус-2» подключена пара 32-процессорных ЭГВК ПС-2000 для обработки восьми полных потоков телеметрии. С целью дублирования параллельно работали два телеметрических комплекса, а на динамических участках полета космических объектов — три.

Рейтинг суперкомпьютеров

В табл. 2.13 приведены краткие сведения (по С7ГВ ВПП состоянию на июль 2012 г.) о десятке наибо-^?sTebcoavutersites лее мощных суперкомпьютеров, заимствован-

ные из рейтинга Тор500.

В табл. 2.14 приведены также данные о количестве применений тех или иных типов архитектур, коммуникационно-коммутационных (сетевых) средств и типов процессоров в компьютерах, вошедших в рейтинг ТОР500.

Место

(ранг)

Компьютер

Произво

дитель

Тип

процессоров

Количество процессоров

Интерфейсы

(внутренняя

коммуникация)

Производительность (Тфлопс)

Расположение

системы

Страна,

год

максимальная

^max

пиковая

Rpeak

1

Sequoia — BlueGene/Q

IBM

POWER BQC16C

1,60 ГГц

  • 1 572 86
  • 4

Собственная

разработка

16 324,75

20 132,66

DOE/NNSA/LLNL

США,

2011

2

К computer

Fujitsu

SPARC64 Vlllfx 2,0

88 128x8 (705024)

Tofu interconnect

10510,0

11 280,4

RIKEN Advanced Institute for Computational Science (AICS)

Япония,

2011

3

Mira — BlueGene/Q

IBM

POWER BQC16C

1,60 ГГц

786 432

Собственная

разработка

8162,38

10 066,33

DOE/SC/Argonne National Laboratory

США,

2012

4

SuperMUC — iDataPlex DX360M4

IBM

Xeon E5-2680 8C

2,70 ГГц

147 456

Infiniband FDR

2897,00

3185,05

Leibniz Rechenzentrum

ФРГ,

2012

5

Tianhe-1 A — NUDT YHMPP

NUDT

Xeon X5670 6C

2,93 ГГц

186 368

NVIDIA 2050

2566,0

4701,0

National Supercomputing Center in Tianjin

КНР,

2010

6

Jaguar — Cray XT5-HE

Cray Inc.

Opteron 6-core

2,6 ГГц

224 162

InfiniBand

1759,0

2331,0

DOE/SC/Oak Ridge National Laboratory

США,

2009

7

Fermi — BlueGene/Q

IBM

POWER BQC16C

1,60 ГГц

163 840

Собственная

разработка

1725,49

2097,15

CINECA

Италия,

2012

8

JuQUEEN — BlueGene/Q

IBM

Power BQC16C

1,60 ГГц

131 072

Собственная

разработка

1380,39

1677,72

Forschungszentrum Juelich (FZJ)

ФРГ,

2012

9

Curie thin nodes — Bullx B510

Bull

Xeon E5-2680 8C 2,700 ГГц

77184

Infiniband QDR

1271,00

2984,30

СЕАЯбСС-GENCI

Франция,

2012

10

Nebulae — Dawning TC3600 Blade

System

Dawning

Xeon X5650 6C

2,66 ГГц

120 640

Infiniband QDR, NVIDIA 2050

1271,0

2984,3

National Supercomputing Centre in Shenzhen (NSCS)

КНР,

2010

2.4. Классы и архитектуры вычислительных систем... 207

Таблица 2.14. Статистика использования архитектурных, сетевых и процессорных решений в 500 наиболее мощных суперкомпьютерах

Наименование

Число

Процент

Сумма f?max (Гфлопс)

Сумма Rpeak (Гфлопс)

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

Архитектура

Кластерная

407

81,4

66 633 050,71

99 141 890,55

7 169 077

Массивно-параллельная

93

18,6

56 784 736

72 729 253,98

6 258 868

Тип сети

Gigabit Ethernet

195

39

15250361,5

ЗО 013 028,43

2 724 612

Infiniband QDR

105

21

21 247 612,68

31 389 647,46

1 902 852

Infiniband

67

13,4

10 086 122,86

15 071 915,5

1 017162

Собственная разработка

46

9,2

53 204 689

64 251 548,36

4 781 064

Infiniband FDR

20

4

5 833 998,87

6 776 313,4

312 914

Proprietary

16

3,2

7 280 017

10 993 634

1 366 496

Прочие (NUMAIink, Quadrics,

SP Switch, Fat Tree)

49

9,8

8 845 039

2 080 980

1 303 005

Тип процессоров

Xeon 5600-series (Westmere-EP)

244

48,8

27 721 388,35

51 089 444

3 480 974

Xeon 5500-series (Nehalem-EP)

54

10,8

5 865 550,86

8 601 941,12

723 198

Intel Xeon E5

45

9

13 525 247,64

17 139 955,64

773 986

Opteron 6100-series «Magny-Cours»

33

6,6

6 829 613,9

9 422 817

1 015 940

Power BQC

20

4

34 495 831

42 362 471,4

3 309 568

Xeon 5400-series «Harpertown»

19

3,8

3 123 368,3

4 312 137,61

353 873

P0WER7

16

3,2

4116318

5 564 367,16

182 736

Opteron 6200 Series «Interlagos»

14

2,8

5 555 924,73

7 400 548

811 546

Opteron Quad Core

11

2,2

1 545 432

2 029 365,8

227 104

P0WER6

8

1,6

749 603

984 217,6

52 352

PowerPC 450

7

1,4

2 176 911

2 618 162,4

770 048

PowerPC 440

4

0,8

430 406

539 033,2

192 512

SPARC64 IXfx

3

0,6

1 294 100

1 407 910

95 232

Xeon 5300-series «Clovertown»

3

0,6

334 480

434 227,2

38 320

Xeon 5500-series (Nehalem-EX)

3

0,6

1 224 940

1 463 569

161 408

Opteron Six Core

2

0,4

1 033 900

1 335 240

128 400

Прочие (ShenWei, NEC, PowerPC 970)

13

2,6

13 233 477

14 656 776

1 100 848

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

  • 1. Что такое поколения ЭВМ?
  • 2. Охарактеризуйте ЭВМ по областям применения.
  • 3. Назовите основные классы и подклассы вычислительных машин и дайте их сравнительную характеристику.
  • 4. Дайте общую характеристику и определите область использования суперЭВМ и мэйнфреймов.
  • 5. Когда и на основании чего фон Нейман предложил новые принципы создания компьютеров?
  • 6. Что такое процессор и АЛУ?
  • 7. Что такое регистры? Назовите некоторые важные регистры и опишите их функции.
  • 8. Перечислите основные типы архитектуры ЭВМ.
  • 9. Что такое вычислительные системы и каковы их разновидности?
  • 10. Чем многомашинные ВС отличаются от многопроцессорных?
  • 11. Охарактеризуйте одиночный поток команд — одиночный поток данных (0К0Д).
  • 12. Охарактеризуйте одиночный поток команд — множественный поток данных (ОКМД).
  • 13. Охарактеризуйте множественный поток команд — одиночный поток данных (МКОД).
  • 14. Охарактеризуйте множественный поток команд — множественный поток данных (МКМД).
  • 15. На какие классы подразделяются многопроцессорные параллельные ВС?
  • 16. Что такое кластеры и какими преимуществами они обладают?
  • 17. Охарактеризуйте принципы функционирования машин типа wavefront и reduction.
 
<<   СОДЕРЖАНИЕ   >>