6235519cefcf8ea2eecbea4404577ce9.ppt
- Количество слайдов: 39
Интернет Университет Суперкомпьютерных технологий Учебный курс Основы параллельных вычислений Лекция 2: Общая характеристика многопроцессорных вычислительных систем Гергель В. П. , профессор, д. т. н. Нижегородский университет
Содержание q Классификация многопроцессорных вычислительных систем – Мультипроцессоры – системы с общей памятью – Мультикомпьютеры – системы с распределенной памятью q Типовые схемы коммуникации процессоров q Системные платформы для построения кластеров q Заключение Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 2 из 39
Классификация вычислительных систем… q Систематика Флинна (Flynn) – Классификация по способам взаимодействия последовательностей (потоков) выполняемых команд и обрабатываемых данных: • SISD (Single Instruction, Single Data) • SIMD (Single Instruction, Multiple Data) • MISD (Multiple Instruction, Single Data) • MIMD (Multiple Instruction, Multiple Data) Практически все виды параллельных систем, несмотря на их существенную разнородность, относятся к одной группе MIMD Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 3 из 39
Классификация вычислительных систем… q Детализация систематики Флинна… – Дальнейшее разделение типов многопроцессорных систем основывается на используемых способах организации оперативной памяти, – Позволяет различать два важных типа многопроцессорных систем: • multiprocessors (мультипроцессоры или системы с общей разделяемой памятью), • multicomputers (мультикомпьютеры или системы с распределенной памятью). Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 4 из 39
Классификация вычислительных систем… q Детализация Н. Новгород, 2008 г. систематики Флинна… Основы параллельных вычислений: Многопроцессорные вычислительные системы 5 из 39
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти (shared memory)… – Обеспечивается однородный доступ к памяти (uniform memory access or UMA), – Являются основой для построения: • векторных параллельных процессоров (parallel vector processor or PVP). Примеры: Cray T 90, • симметричных мультипроцессоров (symmetric multiprocessor or SMP). Примеры: IBM e. Server, Sun Star. Fire, HP Superdome, SGI Origin. Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 6 из 39
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти… Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 7 из 39
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти… Проблемы: • Доступ с разных процессоров к общим данным и обеспечение, в этой связи, однозначности (когерентности) содержимого разных кэшей (cache coherence problem), • Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 8 из 39
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти… Проблема: Обеспечение однозначности (когерентности) содержимого разных кэшей (cache coherence problem) При изменении данных необходимо проверять наличие "старых" значений в кэш-памяти всех процессоров (обеспечивается на аппаратном уровне, но становится сложным при большом количестве процессоров) Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 9 из 39
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти… Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд… Пример: Пусть процессоры выполняют последовательность команд N=N+1 Печать N над общей переменной N (в скобках указывается значение этой переменной) Вариант исполнения 1 Вариант исполнения 2 Временная последовательность команд может быть различной – необходима синхронизация при использовании общих переменных ! Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 10 из 39
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти… Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд… Рассмотренный пример может рассматриваться как проявление общей проблемы использования разделяемых ресурсов (общих данных, файлов, устройств и т. п. ) q Для организации разделения ресурсов между несколькими потоками команд необходимо иметь возможность: - определения доступности запрашиваемых ресурсов (ресурс свободен и может быть выделен для использования, ресурс уже занят одним из потоков и не может использоваться дополнительно каким-либо другим потоком); - выделения свободного ресурса одному из процессов, запросивших ресурс для использования; - приостановки (блокировки) потоков, выдавших запросы на ресурсы, занятые другими потоками. q Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 11 из 39
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд q Доступ к общей переменной в рассмотренном примере в самом общем виде должен быть организован следующим образом: <Получить доступ> N=N+1 Печать N <Завершить доступ> q Полное рассмотрение проблемы синхронизации будет выполнено позднее при изучении вопросов параллельного программирования для вычислительных систем с общей памятью Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 12 из 39
Классификация вычислительных систем… q Мультипроцессоры с использованием физически распределенной памяти (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 T 3 E). Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 13 из 39
Классификация вычислительных систем… q Мультипроцессоры с использованием физически распределенной памяти… Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 14 из 39
Классификация вычислительных систем… q Мультипроцессоры с использованием физически распределенной памяти: – Упрощаются проблемы создания мультипроцессоров (известны примеры систем с несколькими тысячами процессоров), – Возникают проблемы эффективного использования распределенной памяти (время доступа к локальной и удаленной памяти может различаться на несколько порядков). Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 15 из 39
Классификация вычислительных систем… q Мультикомпьютеры… – Не обеспечивают общий доступ ко всей имеющейся в системах памяти (no-remote memory access or NORMA), – Каждый процессор системы может использовать только свою локальную память Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 16 из 39
Классификация вычислительных систем… q Мультикомпьютеры… – Для доступа к данным, располагаемых на других процессорах, необходимо явно выполнить операции передачи сообщений (message passing operations), – Основные операции передачи данных: • Отправить сообщение (send), • Получить сообщение (receive) Пример: Процессор 1 <Отправить сообщение> <Продолжение вычислений> q Процессор 2 <Получить сообщение> <Продолжение вычислений с использованием данных полученного сообщения> Полное рассмотрение проблемы передачи сообщений будет выполнено позднее при изучении вопросов параллельного программирования для вычислительных систем с распределенной памятью Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 17 из 39
Классификация вычислительных систем… q Мультикомпьютеры Данный подход используется при построении двух важных типов многопроцессорных вычислительных систем: – массивно-параллельных систем (massively parallel processor or MPP), например: IBM RS/6000 SP 2, Intel PARAGON, ASCI Red, транспьютерные системы Parsytec, – кластеров (clusters), например: AC 3 Velocity и NCSA NT Supercluster. Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 18 из 39
Классификация вычислительных систем… q Мультикомпьютеры. Кластеры… Кластер - множество отдельных компьютеров, объединенных в сеть, для которых при помощи специальных аппаратно-программных средств обеспечивается возможность унифицированного управления (single system image), надежного функционирования (availability) и эффективного использования (performance) Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 19 из 39
Классификация вычислительных систем… q Мультикомпьютеры. Кластеры… Преимущества: – Могут быть образованы на базе уже существующих у потребителей отдельных компьютеров, либо же сконструированы из типовых компьютерных элементов; – Повышение вычислительной мощности отдельных процессоров позволяет строить кластеры из сравнительно небольшого количества отдельных компьютеров (lowly parallel processing), – Для параллельного выполнения в алгоритмах достаточно выделять только крупные независимые части расчетов (coarse granularity). Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 20 из 39
Классификация вычислительных систем q Мультикомпьютеры. Кластеры Недостатки: – Организация взаимодействия вычислительных узлов кластера при помощи передачи сообщений обычно приводит к значительным временным задержкам, – Дополнительные ограничения на тип разрабатываемых параллельных алгоритмов и программ (низкая интенсивность потоков передачи данных) Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 21 из 39
Характеристика типовых схем коммуникации… При организации параллельных вычислений в мультикомпьютерах для взаимодействия, синхронизации и взаимоисключения параллельно выполняемых процессов используется передача данных между процессорами вычислительной среды. Топология сети передачи данных - структура линий коммутации между процессорами вычислительной системы Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 22 из 39
Характеристика типовых схем коммуникации… q Топология сети передачи данных… – полный граф (completely-connected graph or clique) – система, в которой между любой парой процессоров существует прямая линия связи, Полный граф (completelyconnected graph or clique ) – линейка (linear array or farm) – система, в которой все процессоры перенумерованы по порядку и каждый процессор, кроме первого и последнего, имеет линии связи только с двумя соседними, Н. Новгород, 2008 г. Линейка (linear array or farm ) Основы параллельных вычислений: Многопроцессорные вычислительные системы 23 из 39
Характеристика типовых схем коммуникации… q Топология сети передачи данных… – кольцо (ring) – данная топология получается из линейки процессоров соединением первого и последнего процессоров линейки, Кольцо (ring ) – звезда (star) – система, в которой все процессоры имеют линии связи с некоторым управляющим процессором, Звезда (star ) Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 24 из 39
Характеристика типовых схем коммуникации… q Топология сети передачи данных… – решетка (mesh) – система, в которой граф линий связи образует прямоугольную сетку, Решетка (mesh) – гиперкуб (hypercube) – данная топология представляет частный случай структуры решетки, когда по каждой размерности сетки имеется только два процессора. Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 25 из 39
Характеристика типовых схем коммуникации… q Топология сети вычислительных кластеров Для построения кластерной системы во многих случаях используют коммутатор (switch), через который процессоры кластера соединяются между собой. Одновременность выполнения нескольких коммуникационных операций является ограниченной. В любой момент времени каждый процессор может принимать участие только в одной операции приема - передачи данных Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 26 из 39
Характеристика типовых схем коммуникации… q Характеристики топологии сети… – диаметр – максимальное расстояние между двумя процессорами сети; характеризует максимальнонеобходимое время для передачи данных между процессорами, – связность (connectivity) – минимальное количество дуг, которое надо удалить для разделения сети передачи данных на две несвязные области, – ширина бинарного деления (bisection width) – минимальное количество дуг, которое надо удалить для разделения сети передачи данных на две несвязные области одинакового размера, – стоимость – общее количество линий передачи данных в многопроцессорной вычислительной системе. Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 27 из 39
Характеристика типовых схем коммуникации q Характеристики Топология топологии сети Диаметр Ширина бисекции Связность Стоимость Полный граф 1 p 2/4 (p-1) p(p-1)/2 Звезда 2 1 1 (p-1) Линейка p-1 1 1 (p-1) 2 2 p p/2 log 2 p p log 2 p/2 4 2 p Кольцо Гиперкуб Решетка (N=2) Н. Новгород, 2008 г. log 2 p Основы параллельных вычислений: Многопроцессорные вычислительные системы 28 из 39
Характеристика системных платформ для построения кластеров… В качестве системной платформы для построения кластеров используют обе наиболее распространенные в настоящий момент операционные системы Unix/Linux и Microsoft Windows. q Далее подробно будет рассмотрено решение на основе ОС семейства Microsoft Windows; характеристика подхода на базе ОС Unix может быть получена, например, в q Sterling, T. (Ed. ) Beowulf Cluster Computing with Linux. - Cambridge, MA: The MIT Press, 2002. Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 29 из 39
Характеристика системных платформ для построения кластеров… Microsoft Compute Cluster Server 2003… q Интегрированная платформа для поддержки высокопроизводительных вычислений на кластерных системах q CCS 2003 состоит из операционной системы Microsoft Windows Server 2003 и Microsoft Compute Cluster Pack (CCP) – набора интерфейсов, утилит и инфраструктуры управления q Вместе с CCP поставляется SDK, содержащий необходимые инструменты разработки программ для CCS, включая собственную реализацию MPI (Microsoft MPI) Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 30 из 39
Характеристика системных платформ для построения кластеров… Microsoft Compute Cluster Server 2003… q В качестве вычислительных узлов кластера могут быть использованы 64 -битные процессоры семейства x 86 с, как минимум, 512 Мб оперативной памяти и 4 Гб свободного дискового пространства q На вычислительных узлах кластера должна быть установлена операционная система Microsoft Windows Server 2003 (Standard, Enterprise или Compute Cluster Edition) Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 31 из 39
Характеристика системных платформ для построения кластеров Microsoft Compute Cluster Server 2003 q В состав CCP входит удобная система планирования заданий, позволяющая просматривать состояния всех запущенных задач, собирать статистику, назначать запуски программ на определенное время, завершать "зависшие" задачи и пр. q В состав CCP входит Microsoft MPI – версия реализации стандарта MPI 2 от Argonne National Labs. MS MPI совместима с MPICH 2 и поддерживает полнофункциональный API с более чем 160 функциями q Microsoft Visual Studio 2005 включает параллельный отладчик, работающий с MS MPI Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 32 из 39
Заключение q q q Проведена дальнейшая детализация класса многопроцессорных вычислительных систем Даны ключевые определения мультипроцессора и мультикомпьютера Приведена общая характеристика проблем, возникающих при параллельных вычислениях для систем с общей памятью (обеспечение однозначности кэш-памяти разных процессоров, необходимость синхронизации вычислений) Рассмотрена общая схема передачи сообщений для вычислительных систем с распределенной памятью Рассмотрены основные характеристики сетей передачи данных в многопроцессорных вычислительных системах Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 33 из 39
Вопросы для обсуждения q q q q В чем состоят положительные и отрицательные стороны кластерных систем ? Какие проблемы возникают при организации параллельных вычислениях для систем с общей памятью ? Какие топологии сетей передачи данных наиболее широко используются при построении многопроцессорных систем ? В чем состоит общая схема передачи сообщений для вычислительных систем с распределенной памятью ? В чем состоят особенности сетей передачи данных для кластеров ? Каковы основные характеристики сетей передачи данных ? Какие системные платформы могут быть использованы для построения кластеров ? Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 34 из 39
Темы заданий для самостоятельной работы Рассмотрите способы обеспечения когерентности кэшей в системах с общей разделяемой памятью q Подготовьте обзор программных библиотек, обеспечивающих выполнение операций передачи данных для систем с распределенной памятью q Рассмотрите топологию сети передачи данных в виде двоичного дерева q Выделите эффективно реализуемые классы задач для каждого типа топологий сети передачи данных q Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 35 из 39
Литература… q Гергель В. П. Теория и практика параллельных вычислений. - М. : Интернет-Университет, БИНОМ. Лаборатория знаний, 2007. – Лекция 1 Дополнительная литература: q Воеводин В. В. , Воеводин Вл. В. Параллельные вычисления. – СПб. : БХВ-Петербург, 2002. q Богданов А. В. и др. Архитектуры и топологии многопроцессорных вычислительных систем. М. : Интернет-Университет, 2004. q Таненбаум Э. Архитектура компьютера. – СПб. : Питер, 2002. Дополнительные учебные курсы: q Богданов А. В. и др. Архитектуры и топологии многопроцессорных вычислительных систем. — http: //www. intuit. ru/department/hardware/atmcs/ q Барский А. Б. Архитектура параллельных вычислительных систем. — http: //www. intuit. ru/department/hardware/paralltech/ Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 36 из 39
Следующая тема q Оценка эффективности параллельных вычислений Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 37 из 39
Контакты Гергель В. П. , профессор, д. т. н. , декан факультета вычислительной математики и кибернетики Нижегородский университет gergel@unn. ru http: //www. software. unn. ru/? dir=17 Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 38 из 39
О проекте Целью проекта является организация массовой подготовки специалистов в области суперкомпьютерных вычислительных технологий с активным использованием возможностей современных ИТ-технологий. Образовательная деятельность ориентирована на обучение самого широкого круга обучаемых (студентов, специалистов, преподавателей) и предусматривает наличие различных направлений подготовки для учета разных профессиональных требований в области суперкомпьютерных технологий (пользователи, программисты, инженеры). Исполнители проекта - Интернет университет информационных технологий, Научно-исследовательский вычислительный центр Московского университета и Нижегородский университет. Проект выполняется в рамках деятельности Суперкомпьютерного консорциума университетов России (http: //www. hpc-russia. ru)/ Сайт проекта – http: //www. hpcu. ru Н. Новгород, 2008 г. Основы параллельных вычислений: Многопроцессорные вычислительные системы 39 из 39
6235519cefcf8ea2eecbea4404577ce9.ppt