Рефераты. Особенности развития, структурная и функциональная организация суперЭВМ

Примеры

NEC SX-4/SX-5, линия векторно-конвейерных компьютеров CRAY: от CRAY-1, CRAY J90/T90, CRAY SV1, CRAY X1, серия Fujitsu VPP.

Модель программирования

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


Таблица 2.5 – Кластерные системы

Архитектура

Набор рабочих станций (или даже ПК) общего назначения, используется в качестве дешевого варианта массивно-параллельного компьютера. Для связи узлов используется одна из стандартных сетевых технологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора.

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

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

Примеры

NT-кластер в NCSA, Beowulf-кластеры.

Операционная система

Используются стандартные для рабочих станций ОС, чаще всего, свободно распространяемые - Linux/FreeBSD, вместе со специальными средствами поддержки параллельного программирования и распределения нагрузки.

Модель программирования

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


Классификация параллельных вычислительных систем, предложенная Т.Джоном, основана на разделении МВС по двум критериям: способу построения памяти (общая или распределенная) и способу передачи информации. Основные типы машин по классификации Т.Джона представлены в таблице 2.6. Здесь приняты следующие обозначения: p - элементарный процессор, M - элемент памяти, K - коммутатор, С - кэш-память.

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

Типы передачи Сообщений

Типы памяти

Общая память

Общая и распределенная

Распределенная память

Шинные соединения

1.



2.



3.




Фиксирован-ные перекрест-ные соедине-ния

4.

5.

6.

Коммутацион-ные структуры

7.


8.

9.


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

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

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

Недостатками классификации Т.Джона является скрытие уровня параллелизма в системе.

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

<k,d,w>,

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

d - количество АЛУ, приходящихся на одно устройство управления;

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

Другая форма распараллеливания - конвейеризация, также требует наличия нескольких ЦП или АЛУ. В то время, как множество данных обрабатывается на одном устройстве, другое множество данных может обрабатываться на следующем устройстве и т.д., при этом в процессе обработки возникает поток данных от одного устройства (ЦП или АЛУ) к следующему. В течение всего процесса над одним множеством данных выполняется одно за другим n действий. Одновременно в конвейере на разных стадиях обработки могут находиться от 1 до n данных.

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


Таблица 2.7 – Классификация МВС по типу распараллеливания

Уровень

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

Параллелизм

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


Программы

Мультипроцессор



Макроконвейер



Команды

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



Конвейер команд


Данные

Множество разрядов




Арифметический

конвейер




3. ОСНОВНЫЕ КОНЦЕПЦИИ ПРОЕКТИРОВАНИЯ СУПЕРЭВМ


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

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

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

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

Страницы: 1, 2, 3, 4, 5, 6, 7



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.