Лекция 5. Архитектура систем

1. SMP-архитектура

SMP(symmetric multiprocessing) – симметричная многопроцессорная архитек- тура. Главной особенностью систем с архитектурой SMP является наличие общей физической памяти, разделяемой всеми процессорами.

 
  Лекция 5. Архитектура систем - student2.ru

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

SMP-система строится на основе высокоскоростной системной шины (SGI PowerPath, Sun Gigaplane, DEC TurboLaser), к слотам которой подключаются функциональные блоки: процессоры (ЦП), подсистема ввода/вывода (I/O) и т. п. Для подсоединения к модулям I/O используются уже более медленные шины (PCI, VME64). Наиболее известными SMP-системами являются SMP-cерверы и рабочие станции на базе процессоров Intel (IBM, HP, Compaq, Dell, ALR, Unisys, DG, Fujitsu и др.) Вся система работает под управлением единой ОС (обычно UNIX- подобной, но для Intel-платформ поддерживается Windows NT). ОС автоматически (в процессе работы) распределяет процессы по процессорам, но иногда возможна и явная привязка.

Основные преимущества SMP-систем:

· простота и универсальность для программирования. Архитектура SMP не накладывает ограничений на модель программирования, используемую при создании приложения: обычно используется модель параллельных ветвей, когда все процессоры работают независимо друг от друга. Однако можно реализовать и модели, использующие межпроцессорный обмен. Использо- вание общей памяти увеличивает скорость такого обмена, пользователь также имеет доступ сразу ко всему объему памяти. Для SMP-систем сущест- вуют довольно эффективные средства автоматического распараллеливания;

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

· относительно невысокая цена.

Недостатки:

· системы с общей памятью плохо масштабируются.

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

2. MPP-архитектура

MPP(massive parallel processing) – массивно-параллельная архитектура. Глав- ная особенность такой архитектуры состоит в том, что память физически разделе- на. В этом случае система строится из отдельных модулей, содержащих процес- сор, локальный банк операционной памяти (ОП), коммуникационные процессоры (рутеры) или сетевые адаптеры, иногда – жесткие диски и/или другие устройства ввода/вывода. По сути, такие модули представляют собой полнофункциональные компьютеры.

 
  Лекция 5. Архитектура систем - student2.ru

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

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

Главным преимуществомсистем с раздельной памятью является хорошая мас- штабируемость: в отличие от SMP-систем, в компьютерах с раздельной памятью каждый процессор имеет доступ только к своей локальной памяти, в связи с чем не возникает необходимости в потактовой синхронизации процессоров. Практиче- ски все рекорды по производительности на сегодня устанавливаются на компью- терах именно такой архитектуры, состоящих из нескольких тысяч процессоров (ASCI Red, ASCI Blue Pacific).

Недостатки:

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

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

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

Системами с раздельной памятью являются суперкомпьютеры МВС-1000, IBM RS/6000 SP, SGI/CRAY T3E, системы ASCI, Hitachi SR8000, системы Parsytec.

Компьютеры серии CRAY T3E от SGI, основанные на базе процессоров Dec Alpha 21164 с пиковой производительностью 1200 Мфлопс/с (CRAY T3E-1200), способ- ны масштабироваться до 2048 процессоров.

3. Гибридная архитектура NUMA

Главная особенность гибридной архитектуры NUMA(non uniform memory access)

– неоднородный доступ к памяти.

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

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

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

 
  Лекция 5. Архитектура систем - student2.ru

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

Наиболее известными системами архитектуры cc-NUMA являются: HP 9000 V-class в SCA-конфигурациях, SGI Origin3000, Sun HPC 15000, IBM/Sequent NUMA-Q 2000. На сегодня максимальное число процессоров в cc-NUMA- системах может превышать 1000 (серия Origin3000). Обычно вся система работает под управлением единой ОС, как в SMP. Возможны также варианты динамическо- го "подразделения" системы, когда отдельные "разделы" системы работают под управлением разных ОС.

4. PVP–архитектура

PVP(Parallel Vector Process) – параллельная архитектура с векторными процессо- рами. Основным признаком PVP-систем является наличие специальных векторно-

конвейерных процессоров, в которых предусмотрены команды однотипной обра- ботки векторов независимых данных, эффективно выполняющиеся на конвейер- ных функциональных устройствах. Как правило, несколько таких процессоров (1-

16) работают одновременно с общей памятью (аналогично SMP) в рамках много- процессорных конфигураций. Несколько узлов могут быть объединены с помо- щью коммутатора (аналогично MPP). Поскольку передача данных в векторном формате осуществляется намного быстрее, чем в скалярном (максимальная ско- рость может составлять 64 Гбайт/с, что на 2 порядка быстрее, чем в скалярных компьютерах), то проблема взаимодействия между потоками данных при распа- раллеливании становится несущественной. И то, что плохо распараллеливается на скалярных машинах, хорошо распараллеливается на векторных.

Таким образом, системы PVP-архитектуры могут являться компьютерами общего назначения (general purpose systems). Однако, поскольку векторные процессоры весьма дорого стоят, эти компьютеры не могут быть общедоступными.

Наиболее популярны три типа компьютеров PVP-архитектуры:

1. CRAY X1, SMP-архитектура. Пиковая производительность системы в стан- дартной конфигурации может составлять десятки терафлопс.

2. NEC SX-6, NUMA-архитектура. Пиковая производительность системы мо- жет достигать 8 Тфлопс, производительность одного процессора составляет 9,6 Гфлопс. Система масштабируется с единым образом операционной сис- темы до 512 процессоров.

3. Fujitsu-VPP5000(vector parallel processing), MPP-архитектура. Производи- тельность одного процессора составляет 9.6 Гфлопс, пиковая производи- тельность системы может достигать 1249 Гфлопс, максимальная емкость памяти – 8 Тбайт. Система масштабируется до 512.

FLOPS(или flops или flop/s, или флопс) — величина, используемая для измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой в секунду выполняет данная вычислительная система.

5. Кластерная архитектура

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

зователей технологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора. Такие суперкомпьютерные системы являются самыми дешевы- ми, поскольку собираются на базе стандартных комплектующих элементов ("off the shelf"), процессоров, коммутаторов, дисков и внешних устройств.

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

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

Условное деление на классы предложено Язеком Радаевским и Дугласом Эдлай- ном:

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

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

Кластеры могут существовать в различных конфигурациях. Наиболее распро- страненными типами кластеров являются:

· системы высокой надежности;

· системы для высокопроизводительных вычислений;

· многопоточные системы.

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

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

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

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

В 1994 году Томас Стерлинг (Sterling) и Дон Беккер (Becker) создали 16-узловой кластер из процессоров Intel DX4, соединенных сетью 10 Мбит/с Ethernet с дуб- лированием каналов. Они назвали его "Beowulf" по названию старинной эпичес- кой поэмы. Кластер возник в центре NASA. Beowulf-кластер, как правило, явля- ется системой, состоящей из одного серверного узла (который обычно называется головным), а также одного или нескольких подчиненных (вычислительных) узлов, соединенных посредством стандартной компьютерной сети. Система строится с использованием стандартных аппаратных компонентов, таких как ПК, запускае- мые под Linux, стандартные сетевые адаптеры (например, Ethernet) и коммутато- ры. Нет особого программного пакета, называемого "Beowulf". Вместо этого име- ется несколько кусков программного обеспечения, которые многие пользователи нашли пригодными для построения кластеров Beowulf. Beowulf использует такие программные продукты как операционная система Linux, системы передачи сооб- щений PVM, MPI, системы управления очередями заданий и другие стандартные продукты. Серверный узел контролирует весь кластер и обслуживает файлы, на- правляемые к клиентским узлам.

Наши рекомендации