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

[ООП] / Лекции / Lecture_3

.pdf
Скачиваний:
32
Добавлен:
07.02.2016
Размер:
185.1 Кб
Скачать

Лекция 3

Классификации высокопроизводительных вычислительных систем

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

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

Рис. 3.1 – Классификация Флинна

К классу SISD (single instruction - single data) относятся все обычные компьютеры с фоннеймановской архитектурой (рис. 3.2 a). Машины этого класса обрабатывают один поток данных последовательно, т.е. с помощью одного потока команд. К этому классу можно отнести и персональные компьютеры, с которыми мы имеем дело каждый день, и процессор может содержать как конвейерные устройства обработки, так и специальные процессоры для обработки сигналов.

Класс SIMD объединяет машины, у которых одиночный поток команд и множественный поток данных (single instruction - multiple data). Все процессоры машин этого класса (рис. 3.2 а) выполняют один поток команд, с помощью которого обрабатывается множество данных. К этому классу можно отнести и машины с векторными процессорами, и с матрицами процессоров, работающих под управлением одного управляющего устройства (ILLIAC IV) или управляющего процессора (MasPar). Причем здесь также не делается различия между обычными процессорами и процессорами, содержащими конвейеры (CRAY-1).

MIMD (multiple instruction-multiple data) - множественный поток команд и множествен-

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

2

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

MISD (multiple instruction - single data) - множественный поток команд и одиночный поток данных. Теоретически этот класс можно представить схемой, показанной на рис 3.2 г. Таким образом, системы этого класса должны иметь несколько обрабатывающих устройств, которые обрабатывают один поток данных. Однако, среди специалистов нет единого мнения какие из существующих машин можно отнести к этому классу.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в

г

Рис. 3.2 – Классы архитектур по классификации Флинна:

а – SISD; б – SIMD; в – MIMD; г – MISD

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

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

Высокопроизводительные вычислительные системы и параллельное программирование. Кудерметов Р.К.

3

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВС-I

 

 

 

ВС-II

 

 

ВС-III

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВС-IV

ВС-V

ВС-VI

 

Рис. 3.3 – Классификация Шора

 

ВС-III - объединяет принципы построения ВС-I и ВС-II. Эта машина имеет два арифме- тико-логических устройства - горизонтальное и вертикальное, и память данных, которая обеспечивает доступ, как к словам, так и к отдельным битам множества слов. Идея построения таких систем была выдвинута в 1960. Упомянутые выше машины STARAN и ICL DAP можно запрограммировать так, чтобы они работали как система ВС-III. К этому классу относятся машины семейства OMEN-60 фирмы Sanders Associates.

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

Высокопроизводительные вычислительные системы и параллельное программирование. Кудерметов Р.К.

4

ВС-V отличается от ВС-IV наличием связи между соседними процессорами. Этот класс уже очень похож на классическое представление параллельной вычислительной системы. Любой процессор может обращаться к данным как в своей памяти, так и в памяти непосредственных соседей. Подобная структура характерна, например, для классического матричного компьютера ILLIAC IV.

ВС-VI называется классом систем с матрицей с функциональной памятью или памятью со встроенной логикой или машины с ассоциативным запоминающим устройством. Примерами могут служить как простые ассоциативные запоминающие устройства, так и сложные ассоциативные процессоры.

Известны и другие классификации вычислительных систем, с помощью которых можно уточнить некоторые особенности архитектур. Остановимся на них кратко. В классификации Р. Хокни (R. Hochney) сделана попытка систематизировать множество систем, попадающих в класс MIMD классификации Флинна. Поскольку множественный поток команд может быть выполнен и конвейерным устройством, и отдельными процессорами системы, Хокни разделил класс MIMD на конвейерные системы и системы, выполняющие множественный поток команд с помощью нескольких процессоров. Далее он систематизировал многопроцессорные компьютеры в зависимости от типа коммуникационной среды и ее топологии. Классификация Т. Фенга (T. Feng) основана на учете числа бит в машинном слове и числе слов, обрабатываемых параллельно. Таким образом эта пара чисел, называемая битовым слоем, при их максимальных значениях характеризует максимальную степень паралле-

лизма системы. Например, компьютер Advanced Scientific Computer фирмы Texas Instruments (TI ASC) характеризуется парой чисел (64, 32), что означает 64-разрядные слова, которые обрабатываются на 32 параллельных устройствах. Хотя названная система на самом деле имеет четыре конвейера по 8 ступеней (4×8). Очевиден недостаток такой классификационной системы, но вводит числовые меры для сравнения параллельных систем.

Интересной классификацией, предложенной В. Хандлером (W. Handler), является эрлангенская классификация, в которой учитывается степень параллелизма и конвейеризация параллельных систем. Компьютеры в этой классификации описываются с помощью сле-

дующей нотации: (k×k', d×d', w×w'),

где k – количество процессоров, k' – длина макроконвейера из этих процессоров; d – количество АЛУ в каждом процессоре, d' – количество сегментов конвейера; w – число разрядов в слове; w' – количество ступеней в конвейере устройств АЛУ.

Согласно этой классификации компьютер TI ASC будет описан как (1×1, 4×1, 64×8) или (1, 4, 64×8). Что означает наличие в системе одного процессора, АЛУ из четырех конвейеров, каждый из которых имеет по 8 ступеней, в которых обрабатываются 64-разрядные слова. Эрлангенская классификационная схема содержит еще несколько принципов, на которых мы останавливаться не будем, однако отметим, что предложенный подход может оказаться полезным в дальнейшем для описания компьютеров с перестраиваемой архитектурой.

На сегодняшний день при описании параллельных компьютеров пользуются в основном классификацией Флинна. При этом в классах SIMD и MIMD различают SMP-, MPPсистемы кластеры.

Напомним, SMP-процессоры – это процессоры, имеющие одинаковые возможности доступа к общей разделяемой памяти. MPP-системы или массово параллельные системы – это компьютеры, имеющие, как правило, распределенную память и объединенные высокоскоростными коммуникационными устройствами.

Кластерами называют совокупность высокопроизводительных компьютеров, как правило, массового производства, соединенных либо обычной компьютерной сетью, либо с помощью специальных высокоскоростных адаптеров, например Memory Channel или SCI [3]. В качестве узлов кластеров часто используются сдвоенные по принципу SMP процессоры. Характерной особенностью кластеров является специальное программное обеспечение, предна-

Высокопроизводительные вычислительные системы и параллельное программирование. Кудерметов Р.К.

5

значенное для организации очередей заданий для кластера и распределения заданий между узлами кластера.

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

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

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

Еще одно направление, связанное с параллельными и распределенными вычислениями,

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

SETI@home (Search for Extraterrestrial Intelligence) – поиск внеземных цивилизаций с помо-

щью обработки данных, поступающих с радиотелескопа; Distributed.net – проект, связанный с задачами криптографии; GIMPS (Great Internet Mersenne Prime Search) – поиск простых чисел Мерсена (простых чисел вида 2p-1, где p – простое число). Проект Globus, целью которого является создание средств для организации глобальной информационной системы. Разработанные средства этого проекта распространяются свободно в виде пакета Globus ToolkitМетакомьютинг. получил еще одно название - Grid, которое часто можно встретить в литературе и которое соответствует аналогии с электрической сетью. Ведь мы, пользуясь электросетью, не задумываемся, где именно выработана электроэнергия. Мировой проект Grid зародился в 1999 году, понятно, многие вопросы находятся в стадии исследования и апробации, одной из интересных его особенностей является возможность участвовать в нем любого пользователя.

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

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

циативы (Accelerated Strategic Computing Initiative - ASCI). Проводятся исследования в На-

циональном Центре Суперкомпьютерных Приложений (NASA) совместно с компанией Silicon Graphics по программе "суперкомпьютерного окружения будущего". В Европе сущест-

вует программа ESPRIT (European Strategic Program for Research and Development in Information Technology). В Российской Федерации разработана Стратегия подготовки специалистов по высокопроизводительным вычислениям, в рамках ФЦП "Интеграция" создан Межведом-

Высокопроизводительные вычислительные системы и параллельное программирование. Кудерметов Р.К.

6

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

Высокопроизводительные вычислительные системы и параллельное программирование. Кудерметов Р.К.

Соседние файлы в папке Лекции