Интернет Университет Суперкомпьютерных технологий Общая характеристика многопроцессорных вычислительных систем Учебный курс Основы параллельных вычислений Гергель В.П., профессор, д.т.н. Нижегородский университет Лекция 2:
Содержание Классификация многопроцессорных вычислительных систем –Мультипроцессоры – системы с общей памятью –Мультикомпьютеры – системы с распределенной памятью Типовые схемы коммуникации процессоров Системные платформы для построения кластеров Заключение Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 2 из 39
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 3 из 39 Систематика Флинна (Flynn) –Классификация по способам взаимодействия последовательностей (потоков) выполняемых команд и обрабатываемых данных: SISD (Single Instruction, Single Data) SIMD (Single Instruction, Multiple Data) MISD (Multiple Instruction, Single Data) MIMD (Multiple Instruction, Multiple Data) Классификация вычислительных систем… Практически все виды параллельных систем, несмотря на их существенную разнородность, относятся к одной группе MIMD
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 4 из 39 Детализация систематики Флинна… –Дальнейшее разделение типов многопроцессорных систем основывается на используемых способах организации оперативной памяти, –Позволяет различать два важных типа многопроцессорных систем: multiprocessors (мультипроцессоры или системы с общей разделяемой памятью), multicomputers (мультикомпьютеры или системы с распределенной памятью). Классификация вычислительных систем…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 5 из 39 Детализация систематики Флинна… Классификация вычислительных систем…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 6 из 39 Мультипроцессоры с использованием единой общей памяти (shared memory)… –Обеспечивается однородный доступ к памяти (uniform memory access or UMA), –Являются основой для построения: векторных параллельных процессоров (parallel vector processor or PVP). Примеры: Cray T90, симметричных мультипроцессоров (symmetric multiprocessor or SMP). Примеры: IBM eServer, Sun StarFire, HP Superdome, SGI Origin. Классификация вычислительных систем…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 7 из 39 Мультипроцессоры с использованием единой общей памяти… Классификация вычислительных систем…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 8 из 39 Мультипроцессоры с использованием единой общей памяти… Проблемы: Доступ с разных процессоров к общим данным и обеспечение, в этой связи, однозначности (когерентности) содержимого разных кэшей (cache coherence problem), Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд Классификация вычислительных систем…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 9 из 39 Мультипроцессоры с использованием единой общей памяти… Проблема: Обеспечение однозначности (когерентности) содержимого разных кэшей (cache coherence problem) Классификация вычислительных систем… При изменении данных необходимо проверять наличие "старых" значений в кэш-памяти всех процессоров (обеспечивается на аппаратном уровне, но становится сложным при большом количестве процессоров)
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 10 из 39 Мультипроцессоры с использованием единой общей памяти… Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд… Пример: Пусть процессоры выполняют последовательность команд над общей переменной N (в скобках указывается значение этой переменной) Вариант исполнения 1 Вариант исполнения 2 Классификация вычислительных систем… Временная последовательность команд может быть различной – необходима синхронизация при использовании общих переменных ! N = N + 1 Печать N
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 11 из 39 Мультипроцессоры с использованием единой общей памяти… Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд… Рассмотренный пример может рассматриваться как проявление общей проблемы использования разделяемых ресурсов (общих данных, файлов, устройств и т.п.) Для организации разделения ресурсов между несколькими потоками команд необходимо иметь возможность: - определения доступности запрашиваемых ресурсов (ресурс свободен и может быть выделен для использования, ресурс уже занят одним из потоков и не может использоваться дополнительно каким-либо другим потоком); - выделения свободного ресурса одному из процессов, запросивших ресурс для использования; - приостановки (блокировки) потоков, выдавших запросы на ресурсы, занятые другими потоками. Классификация вычислительных систем…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 12 из 39 Мультипроцессоры с использованием единой общей памяти Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд Доступ к общей переменной в рассмотренном примере в самом общем виде должен быть организован следующим образом: Классификация вычислительных систем… N = N + 1 Печать N Полное рассмотрение проблемы синхронизации будет выполнено позднее при изучении вопросов параллельного программирования для вычислительных систем с общей памятью
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 13 из 39 Мультипроцессоры с использованием физически распределенной памяти (distributed shared memory or DSM): –Неоднородный доступ к памяти (non-uniform memory access or NUMA), –Среди систем такого типа выделяют: cache-only memory architecture or COMA (системы KSR-1 и DDM), cache-coherent NUMA or CC-NUMA (системы SGI Origin 2000, Sun HPC 10000, IBM/Sequent NUMA-Q 2000), non-cache coherent NUMA or NCC-NUMA (система Cray T3E). Классификация вычислительных систем…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 14 из 39 Мультипроцессоры с использованием физически распределенной памяти… Классификация вычислительных систем…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 15 из 39 Мультипроцессоры с использованием физически распределенной памяти: –Упрощаются проблемы создания мультипроцессоров (известны примеры систем с несколькими тысячами процессоров), –Возникают проблемы эффективного использования распределенной памяти (время доступа к локальной и удаленной памяти может различаться на несколько порядков). Классификация вычислительных систем…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 16 из 39 Классификация вычислительных систем… Мультикомпьютеры… –Не обеспечивают общий доступ ко всей имеющейся в системах памяти (no-remote memory access or NORMA), –Каждый процессор системы может использовать только свою локальную память
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 17 из 39 Мультикомпьютеры… –Для доступа к данным, располагаемых на других процессорах, необходимо явно выполнить операции передачи сообщений (message passing operations), –Основные операции передачи данных: Отправить сообщение (send), Получить сообщение (receive) Пример: Классификация вычислительных систем… Процессор 1 Процессор 2 Полное рассмотрение проблемы передачи сообщений будет выполнено позднее при изучении вопросов параллельного программирования для вычислительных систем с распределенной памятью
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 18 из 39 Мультикомпьютеры Данный подход используется при построении двух важных типов многопроцессорных вычислительных систем: –массивно-параллельных систем (massively parallel processor or MPP), например: IBM RS/6000 SP2, Intel PARAGON, ASCI Red, транспьютерные системы Parsytec, –кластеров (clusters), например: AC3 Velocity и NCSA NT Supercluster. Классификация вычислительных систем…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 19 из 39 Мультикомпьютеры. Кластеры… Классификация вычислительных систем… Кластер - множество отдельных компьютеров, объединенных в сеть, для которых при помощи специальных аппаратно-программных средств обеспечивается возможность унифицированного управления (single system image), надежного функционирования (availability) и эффективного использования (performance)
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 20 из 39 Мультикомпьютеры. Кластеры… Преимущества: –Могут быть образованы на базе уже существующих у потребителей отдельных компьютеров, либо же сконструированы из типовых компьютерных элементов; –Повышение вычислительной мощности отдельных процессоров позволяет строить кластеры из сравнительно небольшого количества отдельных компьютеров (lowly parallel processing), –Для параллельного выполнения в алгоритмах достаточно выделять только крупные независимые части расчетов (coarse granularity). Классификация вычислительных систем…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 21 из 39 Мультикомпьютеры. Кластеры Недостатки: –Организация взаимодействия вычислительных узлов кластера при помощи передачи сообщений обычно приводит к значительным временным задержкам, –Дополнительные ограничения на тип разрабатываемых параллельных алгоритмов и программ (низкая интенсивность потоков передачи данных) Классификация вычислительных систем
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 22 из 39 Характеристика типовых схем коммуникации… При организации параллельных вычислений в мультикомпьютерах для взаимодействия, синхронизации и взаимоисключения параллельно выполняемых процессов используется передача данных между процессорами вычислительной среды. Топология сети передачи данных - структура линий коммутации между процессорами вычислительной системы
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 23 из 39 Топология сети передачи данных… –полный граф (completely-connected graph or clique) – система, в которой между любой парой процессоров существует прямая линия связи, –линейка (linear array or farm) – система, в которой все процессоры перенумерованы по порядку и каждый процессор, кроме первого и последнего, имеет линии связи только с двумя соседними, Характеристика типовых схем коммуникации… Полный граф (completely- connected graph or clique ) Линейка (linear array or farm )
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 24 из 39 Топология сети передачи данных… –кольцо (ring) – данная топология получается из линейки процессоров соединением первого и последнего процессоров линейки, –звезда (star) – система, в которой все процессоры имеют линии связи с некоторым управляющим процессором, Характеристика типовых схем коммуникации… Кольцо (ring ) Звезда (star )
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 25 из 39 Топология сети передачи данных… –решетка (mesh) – система, в которой граф линий связи образует прямоугольную сетку, –гиперкуб (hypercube) – данная топология представляет частный случай структуры решетки, когда по каждой размерности сетки имеется только два процессора. Характеристика типовых схем коммуникации… Решетка (mesh)
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 26 из 39 Топология сети вычислительных кластеров Для построения кластерной системы во многих случаях используют коммутатор (switch), через который процессоры кластера соединяются между собой. Одновременность выполнения нескольких коммуникационных операций является ограниченной. Характеристика типовых схем коммуникации… В любой момент времени каждый процессор может принимать участие только в одной операции приема - передачи данных
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 27 из 39 Характеристики топологии сети… –диаметр – максимальное расстояние между двумя процессорами сети; характеризует максимально- необходимое время для передачи данных между процессорами, –связность (connectivity) – минимальное количество дуг, которое надо удалить для разделения сети передачи данных на две несвязные области, –ширина бинарного деления (bisection width) – минимальное количество дуг, которое надо удалить для разделения сети передачи данных на две несвязные области одинакового размера, –стоимость – общее количество линий передачи данных в многопроцессорной вычислительной системе. Характеристика типовых схем коммуникации…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 28 из 39 Характеристики топологии сети ТопологияДиаметрШирина бисекции СвязностьСтоимость Полный граф1p 2 /4(p-1)p(p-1)/2 Звезда211(p-1) Линейкаp-111(p-1) Кольцо22p Гиперкубlog 2 pp/2log 2 pp log 2 p/2 Решетка (N=2)42p Характеристика типовых схем коммуникации
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 29 из 39 В качестве системной платформы для построения кластеров используют обе наиболее распространенные в настоящий момент операционные системы Unix/Linux и Microsoft Windows. Далее подробно будет рассмотрено решение на основе ОС семейства Microsoft Windows; характеристика подхода на базе ОС Unix может быть получена, например, в Sterling, T. (Ed.) Beowulf Cluster Computing with Linux. - Cambridge, MA: The MIT Press, Характеристика системных платформ для построения кластеров…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 30 из 39 Microsoft Compute Cluster Server 2003… Интегрированная платформа для поддержки высокопроизводительных вычислений на кластерных системах CCS 2003 состоит из операционной системы Microsoft Windows Server 2003 и Microsoft Compute Cluster Pack (CCP) – набора интерфейсов, утилит и инфраструктуры управления Вместе с CCP поставляется SDK, содержащий необходимые инструменты разработки программ для CCS, включая собственную реализацию MPI (Microsoft MPI) Характеристика системных платформ для построения кластеров…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 31 из 39 Microsoft Compute Cluster Server 2003… В качестве вычислительных узлов кластера могут быть использованы 64-битные процессоры семейства x86 с, как минимум, 512 Мб оперативной памяти и 4 Гб свободного дискового пространства На вычислительных узлах кластера должна быть установлена операционная система Microsoft Windows Server 2003 (Standard, Enterprise или Compute Cluster Edition) Характеристика системных платформ для построения кластеров…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 32 из 39 Microsoft Compute Cluster Server 2003 В состав CCP входит удобная система планирования заданий, позволяющая просматривать состояния всех запущенных задач, собирать статистику, назначать запуски программ на определенное время, завершать "зависшие" задачи и пр. В состав CCP входит Microsoft MPI – версия реализации стандарта MPI 2 от Argonne National Labs. MS MPI совместима с MPICH 2 и поддерживает полнофункциональный API с более чем 160 функциями Microsoft Visual Studio 2005 включает параллельный отладчик, работающий с MS MPI Характеристика системных платформ для построения кластеров
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 33 из 39 Заключение Проведена дальнейшая детализация класса многопроцессорных вычислительных систем Даны ключевые определения мультипроцессора и мультикомпьютера Приведена общая характеристика проблем, возникающих при параллельных вычислениях для систем с общей памятью (обеспечение однозначности кэш-памяти разных процессоров, необходимость синхронизации вычислений) Рассмотрена общая схема передачи сообщений для вычислительных систем с распределенной памятью Рассмотрены основные характеристики сетей передачи данных в многопроцессорных вычислительных системах
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 34 из 39 В чем состоят положительные и отрицательные стороны кластерных систем ? Какие проблемы возникают при организации параллельных вычислениях для систем с общей памятью ? Какие топологии сетей передачи данных наиболее широко используются при построении многопроцессорных систем ? В чем состоит общая схема передачи сообщений для вычислительных систем с распределенной памятью ? В чем состоят особенности сетей передачи данных для кластеров ? Каковы основные характеристики сетей передачи данных ? Какие системные платформы могут быть использованы для построения кластеров ? Вопросы для обсуждения
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 35 из 39 Рассмотрите способы обеспечения когерентности кэшей в системах с общей разделяемой памятью Подготовьте обзор программных библиотек, обеспечивающих выполнение операций передачи данных для систем с распределенной памятью Рассмотрите топологию сети передачи данных в виде двоичного дерева Выделите эффективно реализуемые классы задач для каждого типа топологий сети передачи данных Темы заданий для самостоятельной работы
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 36 из 39 Гергель В.П. Теория и практика параллельных вычислений. - М.: Интернет-Университет, БИНОМ. Лаборатория знаний, – Лекция 1 Дополнительная литература: Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. – СПб.: БХВ-Петербург, Богданов А.В. и др. Архитектуры и топологии многопроцессорных вычислительных систем. М.: Интернет-Университет, Таненбаум Э. Архитектура компьютера. – СПб.: Питер, Дополнительные учебные курсы: Богданов А.В. и др. Архитектуры и топологии многопроцессорных вычислительных систем. Барский А.Б. Архитектура параллельных вычислительных систем. Литература…
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 37 из 39 Оценка эффективности параллельных вычислений Следующая тема
Н.Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы © Гергель В.П. 38 из 39 Гергель В.П., профессор, д.т.н., декан факультета вычислительной математики и кибернетики Нижегородский университет Контакты