Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы по АВС (окончательная версия)...docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
226.44 Кб
Скачать

Системы с неоднородным доступом к памяти (numa)

Архитектура

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

В случае, если аппаратно поддерживается когерентность кэшей во всей системе (обычно это так), говорят об архитектуре cc-NUMA (cache-coherent NUMA)

Примеры

HP HP 9000 V-class в SCA-конфигурациях, SGI Origin2000, Sun HPC 10000, IBM/SequentNUMA-Q 2000, SNI RM600.

Масштабируемость

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

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

Обычно вся система работает под управлением единой ОС, как в SMP. Но возможны также варианты динамического "подразделения" системы, когда отдельные "разделы" системы работают под управлением разных ОС (например, Windows NT и UNIX в NUMA-Q 2000).

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

Аналогично SMP.

Параллельные векторные системы (pvp)

Архитектура

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

Как правило, несколько таких процессоров (1-16) работают одновременно над общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций. Несколько таких узлов могут быть объединены с помощью коммутатора (аналогично MPP).

Примеры

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

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

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

Кластерные системы

Архитектура

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

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

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

Примеры

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

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

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

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

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

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

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

Grid (вычислительная сеть). Grid – это объединение многих разнородных вычислительных ресурсов в сетях, в частности, в глобальных сетях (Интернет). Grid осуществляет распределённые вычисления. Свое название распределённая вычислительная сеть получила по аналогии с электрической сетью.

Графические процессоры (GPU – Graphics Processing Unit). GPU (видеокарты) – миниатюрные суперкомпьютеры в корпусе обычного персонального компьютера. Графические процессоры являются универсальными вычислительными модулями, обеспечивающими многопотоковое параллельное программирование. Чип GPU включает в себя некоторое множество вычислительных блоков, называемых потоковыми мультипроцессорами; каждый вычислительный блок содержит некоторое множество потоковых (универсальных) процессоров. Мультипроцессоры обмениваются информацией посредством оперативной памяти, называемой глобальной памятью. Потоковые процессоры взаимодействуют посредством быстрой разделяемой между этими процессорами памяти. Универсальные вычисления на GPUs компании NVIDIA обеспечивает технология программирования CUDA (Compute Unified Device Architecture). Считается, что использование CUDA для графических процессоров сложнее, чем использование OpenMP для многоядерных компьютеров.

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

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

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

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

Самое новое:

– Компьютеры с распределенной памятью с двухуровневой архитектурой: кластеры с гибридными вычислительными узлами на базе многоядерных процессоров и графических процессоров; пример – суперкомпьютер «СКИФ GPU».

– Гибридные метакластерные архитектуры: объединение кластерных конфигураций с разными архитектурными и программно-аппаратными платформами в единую метакластерную суперкомпьютерную систему; пример – суперкомпьютер «СКИФ ОИПИ» представляет метакластер, состоящий из кластера на базе четырехядерных процессоров и кластера на базе специализированных процессоров PowerXCell.

– Суперкомпьютеры, использующие многосокетные узлы с многоядерными микропроцессорами в сокетах. Например, используются четырехсокетные платы с 12-ядерными микропроцессорами MagnyCours, т.е. всего 48 ядер над общей памятью узла.

17. Способы подсчета средней производительности

Используется для оценки характеристик ВС. Исходные данные – оценка времени выполнения эталонных программ – тестов в соответствующих единиц.

Среднее арифметическое : .

Среднее геометрическое: .

Среднее гармоническое: .

18. Закон Амдала

Зако́н Амдала  — иллюстрирует ограничение роста производительности вычислительной системы с увеличением количества вычислителей. Джин Амдал сформулировал закон в 1967 году, обнаружив простое по существу, но непреодолимое по содержанию ограничение на рост производительности при распараллеливании вычислений: «В случае, когда задача разделяется на несколько частей, суммарное время её выполнения на параллельной системе не может быть меньше времени выполнения самого длинного фрагмента».[1]Согласно этому закону, ускорение выполнения программы за счёт распараллеливания её инструкций на множестве вычислителей ограничено временем, необходимым для выполнения её последовательных инструкций.