Разделы презентаций


Лекция 24 Параллельное программирование. Введение

Содержание

План.Что такое суперкомпьютер?Понятие параллельных вычислений (ПВ)Необходимость параллельных вычисленийСдерживающие факторы развития ПВПути достижения параллелизмаПримеры параллельных вычислительных системСуперкомпьютерыКластерыКлассификация многопроцессорных вычислительных систем МультипроцессорыМультикомпьютеры

Слайды и текст этой презентации

Слайд 1Лекция 24 Параллельное программирование. Введение.
Языки и методы программирования
доцент М.А. Сокольская

Лекция 24  Параллельное программирование. Введение.Языки и методы программированиядоцент М.А. Сокольская

Слайд 2План.
Что такое суперкомпьютер?
Понятие параллельных вычислений (ПВ)
Необходимость параллельных вычислений
Сдерживающие факторы развития

ПВ
Пути достижения параллелизма
Примеры параллельных вычислительных систем
Суперкомпьютеры
Кластеры
Классификация многопроцессорных вычислительных систем
Мультипроцессоры
Мультикомпьютеры

План.Что такое суперкомпьютер?Понятие параллельных вычислений (ПВ)Необходимость параллельных вычисленийСдерживающие факторы развития ПВПути достижения параллелизмаПримеры параллельных вычислительных системСуперкомпьютерыКластерыКлассификация многопроцессорных

Слайд 3Литература
Гергель В.П. Теория и практика параллельных вычислений. - М.: Интернет-Университет,

БИНОМ. Лаборатория знаний, 2007.
Богачев К.Ю. Основы параллельного программирования. - М.:

БИНОМ. Лаборатория знаний, 2003.
Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВ-Петербург, 2002.
Немнюгин С., Стесик О. Параллельное программирование для многопроцессорных вычислительных систем — СПб.: БХВ-Петербург, 2002.
ЛитератураГергель В.П. Теория и практика параллельных вычислений. - М.: Интернет-Университет, БИНОМ. Лаборатория знаний, 2007.Богачев К.Ю. Основы параллельного

Слайд 4Что такое суперкомпьютер?
Изначально:
суперкомпьютер - это "сверхмашина", намного более производительная, чем

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

быстрый, самый мощный, производительность его на настоящий момент максимальна.

Что такое суперкомпьютер?Изначально:суперкомпьютер - это

Слайд 5Что такое суперкомпьютер?
В настоящее время:
Суперкомпьютер – это вычислительная система, обладающая

предельными характеристиками по производительности среди имеющихся в каждый конкретный момент

времени компьютерных систем.
Предельные характеристики имеют разброс от 117 Tflops до 54 Pflops (данные последнего исследования Top500 – top500.org).

Что такое суперкомпьютер?В настоящее время:Суперкомпьютер – это вычислительная система, обладающая предельными характеристиками по производительности среди имеющихся в

Слайд 6Суперкомпьютер Ломоносов, МГУ

Суперкомпьютер  Ломоносов, МГУ

Слайд 8Суперкомпьютер внутри
Стойки СКИФа изнутри
Блок процессоров
Процессорный элемент

Суперкомпьютер внутриСтойки СКИФа изнутриБлок процессоровПроцессорный элемент

Слайд 9Для чего нужны суперкомпьютеры?
Суперкомпьютеры применяются в:
- стратегических исследованиях (управляемый термоядерный

синтез, моделирование взрывов и ядерных испытаний, разработка военной и авиакосмической

техники, системы ПВО)
Биологии (моделирование микроструктур), медицине (использование суперкомпьютера и мед. аппаратуры)
Нанотехнологиях
Астрономии (моделирование поведения звезд, рождения звезд)
авиастроении
Космологии (моделирование структуры галактики)
Для чего нужны суперкомпьютеры?Суперкомпьютеры применяются в:- стратегических исследованиях (управляемый термоядерный синтез, моделирование взрывов и ядерных испытаний, разработка

Слайд 10Нанотехнологии
Ткань, отталкивающая любую жидкость

НанотехнологииТкань, отталкивающая любую жидкость

Слайд 11Астрономия
Сверхновая перед взрывом
Рождение двойной звезды
Модель солнечного пятна

АстрономияСверхновая перед взрывомРождение двойной звездыМодель солнечного пятна

Слайд 12Математическое моделирование

Математическое моделирование

Слайд 13

Для решения перечисленных задач суперкомпьютеры используют параллельные вычисления.

Для решения перечисленных задач суперкомпьютеры используют параллельные вычисления.

Слайд 14Понятие параллельных вычислений
Под параллельными вычислениями понимаются процессы обработки данных, в

которых одновременно могут выполняться несколько операций компьютерной системы

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

Слайд 15Понятие параллельных вычислений
Параллельные вычисления не сводятся к использованию только многопроцессорных

вычислительных систем
Одновременные выполняемые операции должны быть направлены на решение общей

задачи
Параллельные вычисления следует отличать от многозадачных (многопрограммных) режимов работы последовательных ЭВМ
Понятие параллельных вычисленийПараллельные вычисления не сводятся к использованию только многопроцессорных вычислительных системОдновременные выполняемые операции должны быть направлены

Слайд 16Группы задач, реализуемых параллельно
Очень большие задачи (месяцы расчётов на одном

процессоре)
Средние задачи (неделя расчёта на одном процессоре)
Небольшие задачи (несколько часов

расчёта на одном процессоре)

Небольшие кластеры в лабораториях, университетах

Суперкомпьютеры

Многоядерные ПК, видеокарты

Группы задач, реализуемых параллельноОчень большие задачи (месяцы расчётов на одном процессоре)Средние задачи (неделя расчёта на одном процессоре)Небольшие

Слайд 17Почему нужны параллельные вычисления…
Опережение потребности в вычислениях быстродействия существующих компьютерных

систем
Оценка необходимой производительности – 1018 операций над вещественными числами

в секунду (1 Eflops) – 1 квинтиллион операций в секунду.
Возможно, экзафлоп будет достигнут к 2018-2020 гг.
Почему нужны параллельные вычисления…Опережение потребности в вычислениях быстродействия существующих компьютерных систем  Оценка необходимой производительности –

Слайд 18Почему нужны параллельные вычисления…
Теоретическая ограниченность роста производительности последовательных компьютеров
Резкое снижение

стоимости многопроцессорных (параллельных) вычислительных систем
1 Cray T90 processor – 1.8

GFlops ($2 500 000),
8 Node IBM SP2 using R6000 - 2.1 GFlops ($500 000)
Смена парадигмы построения высокопроизводительных процессоров - многоядерность
Почему нужны параллельные вычисления…Теоретическая ограниченность роста производительности последовательных компьютеровРезкое снижение стоимости многопроцессорных (параллельных) вычислительных систем1 Cray T90

Слайд 19Сдерживающие факторы…
высокая стоимость параллельных систем – в соответствии с законом

Гроша (Grosch), производительность компьютера возрастает пропорционально квадрату его стоимости ?!
потери

производительности для организации параллелизма – согласно гипотезе Минского (Minsky), ускорение, достигаемое при использовании параллельной системы, пропорционально двоичному логарифму от числа процессоров ?!
Сдерживающие факторы…высокая стоимость параллельных систем –  в соответствии с законом Гроша (Grosch), производительность компьютера возрастает пропорционально

Слайд 20Сдерживающие факторы…
постоянное совершенствование последовательных компьютеров – в соответствии с законом

Мура (Moore) мощность последовательных процессоров возрастает практически в два раза

каждые 18 месяцев ?!
существование последовательных вычислений – в соответствии с законом Амдаля (Amdahl) ускорение процесса вычислений при использовании p процессоров ограничивается величиной S  1/(f+(1–f)/p)  1/f, где f есть доля последовательных вычислений в применяемом алгоритме обработки данных ?!
Сдерживающие факторы…постоянное совершенствование последовательных компьютеров – в соответствии с законом Мура (Moore) мощность последовательных процессоров возрастает практически

Слайд 21Сдерживающие факторы…
зависимость эффективности параллелизма от учета характерных свойств параллельных систем

(отсутствие мобильности для параллельных программ) ?!
Существующее массовое программное обеспечение ориентировано

в основном на последовательные ЭВМ ?!
Сдерживающие факторы…зависимость эффективности параллелизма от учета характерных свойств параллельных систем (отсутствие мобильности для параллельных программ) ?! Существующее

Слайд 22Пути достижения параллелизма…
Достижение параллелизма возможно только при выполнимости следующих требований:
независимость

функционирования отдельных устройств ЭВМ (устройства ввода-вывода, обрабатывающие процессоры и устройства

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

Слайд 23Пути достижения параллелизма…
Возможные режимы выполнения независимых частей программы:
многозадачный режим (режим

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

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

Слайд 24

Основное внимание будем уделять второму типу организации параллелизма, реализуемому на

многопроцессорных вычислительных системах

Основное внимание будем уделять второму типу организации параллелизма, реализуемому на многопроцессорных вычислительных системах

Слайд 25Примеры параллельных вычислительных систем…
Суперкомпьютеры
Существует мировой рейтинг суперкомпьютерных систем: ТОП500.
http://www.top500.org
Рейтинг содержит

500 лучших машин мира, приводит множество их характеристик, позволяет оценить

тенденции.
Производительность машин оценивается стандартным тестом LINPACK.
Примеры параллельных вычислительных систем…СуперкомпьютерыСуществует мировой рейтинг суперкомпьютерных систем: ТОП500.http://www.top500.orgРейтинг содержит 500 лучших машин мира, приводит множество их

Слайд 26Исторические примеры
Суперкомпьютеры. Программа ASCI (США)
(Accelerated Strategic Computing Initiative)
1996, система ASCI

Red, построенная Intel, производительность 1 TFlops,
1999, ASCI Blue Pacific от

IBM и ASCI Blue Mountain от SGI, производительность 3 TFlops,
2000, ASCI White с пиковой производительностью свыше 12 TFlops (реально показанная производительность на тесте LINPACK составила на тот момент 4938 GFlops)
Исторические примерыСуперкомпьютеры. Программа ASCI (США)	(Accelerated Strategic Computing Initiative)1996, система ASCI Red, построенная Intel, производительность 1 TFlops,1999, ASCI

Слайд 27Примеры параллельных вычислительных систем…
Суперкомпьютеры. Система BlueGene
Первый вариант системы представлен в

2004 г. и сразу занял 1 позицию в списке Top500
Расширенный

вариант суперкомпьютера (ноябрь 2007 г.) по прежнему на 1 месте в перечне наиболее быстродействующих вычислительных систем
Сейчас – 22 место в рейтинге
212992 двухядерных 32-битных процессоров PowerPC 440 0.7 GHz,
пиковая производительность около 600 Tflops, производительность на тесте LINPACK – 478 Tflops
-
Примеры параллельных вычислительных систем…Суперкомпьютеры. Система BlueGeneПервый вариант системы представлен в 2004 г. и сразу занял 1 позицию

Слайд 28Примеры параллельных вычислительных систем…
Кластеры
Кластер – группа компьютеров, объединенных в локальную

вычислительную сеть (ЛВС) и способных работать в качестве единого вычислительного

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

Слайд 29Примеры параллельных вычислительных систем…
Кластеры. Beowulf
В настоящее время под кластером типа

“Beowulf” понимается вычислительная система, состоящая из одного серверного узла и

одного или более клиентских узлов, соединенных при помощи сети Ethernet или некоторой другой сети передачи данных. Это система, построенная из готовых серийно выпускающихся промышленных компонент, на которых может работать ОС Linux/Windows, стандартных адаптеров Ethernet и коммутаторов.
Примеры параллельных вычислительных систем…Кластеры. BeowulfВ настоящее время под кластером типа “Beowulf” понимается вычислительная система, состоящая из одного

Слайд 30Примеры параллельных вычислительных систем…
Кластеры. Beowulf…
1994, научно-космический центр NASA Goddard Space

Flight Center, руководители проекта - Томас Стерлинг и Дон Бекер:


16 компьютеров на базе процессоров 486DX4, тактовая частота 100 MHz,
16 Mb оперативной памяти на каждом узле,
Три параллельно работающих 10Mbit/s сетевых адаптера,
Операционная система Linux, компилятор GNU, поддержка параллельных программ на основе MPI.
Примеры параллельных вычислительных систем…Кластеры. Beowulf…1994, научно-космический центр NASA Goddard Space Flight Center, руководители проекта - Томас Стерлинг

Слайд 31Примеры параллельных вычислительных систем…
Кластеры. AC3 Velocity Cluster
2000, Корнельский университет

(США), результат совместной работы университета и Advanced Cluster Computing Consortium,

образованного компаниями Dell, Intel, Microsoft, Giganet:
64 четырехпроцессорных сервера Dell PowerEdge 6350 на базе Intel Pentium III Xeon 500 MHz, 4 GB RAM, 54 GB HDD, 100 Mbit Ethernet card,
1 восьмипроцессорный сервер Dell PowerEdge 6350 на базе Intel Pentium III Xeon 550 MHz, 8 GB RAM, 36 GB HDD, 100 Mbit Ethernet card,
Операционная система Microsoft Windows NT 4.0 Server Enterprise Edition,
Пиковая производительность AC3 Velocity 122 GFlops, производительность на тесте LINPACK 47 GFlops.
Примеры параллельных вычислительных систем…Кластеры. AC3 Velocity Cluster 2000, Корнельский университет (США), результат совместной работы университета и Advanced

Слайд 32Кластеры. Thunder
2004, Ливерморская Национальная Лаборатория (США):
1024 сервера, в

каждом по 4 процессора Intel Itanium 1.4 GHz,
8 Gb оперативной

памяти на сервер,
общая емкость дисковой системы 150 Tb,
операционная система CHAOS 2.0,
пиковая производительность 22938 GFlops и максимально показанная на тесте LINPACK 19940 GFlops (5-ая позиция списка Top500 ).
Кластеры. Thunder 2004, Ливерморская Национальная Лаборатория (США): 1024 сервера, в каждом по 4 процессора Intel Itanium

Слайд 33Примеры параллельных вычислительных систем…
Кластер. Ломоносов
(МГУ им. М.В. Ломоносова)

2013, 37 место в рейтинге на ноябрь, 31 - на

июнь
Пиковая производительность — 1,7 Pфлопс
Производительность на тесте LINPACK – 900 Tflops
Число процессорных ядер – 78660, из них 29820 на ускорителях
Оперативная память — 99489 ГБ
Объем системы хранения данных около 2000 ТБ
операционная система — Clustrix T-Platforms Edition
Занимаемая площадь — 252 кв.м
Примеры параллельных вычислительных систем…Кластер. Ломоносов	(МГУ им. М.В. Ломоносова)   2013, 37 место в рейтинге на ноябрь,

Слайд 34Классификация вычислительных систем…
Систематика Флинна (Flynn)
классификация по способам взаимодействия последовательностей

(потоков) выполняемых команд и обрабатываемых данных:
SISD (Single Instruction, Single Data)


SIMD (Single Instruction, Multiple Data)
MISD (Multiple Instruction, Single Data)
MIMD (Multiple Instruction, Multiple Data)
Практически все виды параллельных систем, несмотря на их существенную разнородность, относятся к одной группе MIMD
Классификация вычислительных систем…Систематика Флинна (Flynn) классификация по способам взаимодействия последовательностей (потоков) выполняемых команд и обрабатываемых данных:SISD (Single

Слайд 35Классификация вычислительных систем…
Детализация систематики Флинна…
дальнейшее разделение типов многопроцессорных систем

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

типа многопроцессорных систем:
multiprocessors (мультипроцессоры или системы с общей разделяемой памятью),
multicomputers (мультикомпьютеры или системы с распределенной памятью).
Классификация вычислительных систем…Детализация систематики Флинна… дальнейшее разделение типов многопроцессорных систем основывается на используемых способах организации оперативной памяти,позволяет

Слайд 36Классификация ПВС
Детализация систематики Флинна…

Классификация ПВСДетализация систематики Флинна…

Слайд 37Классификация ПВС
Мультипроцессоры с использованием единой общей памяти (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.
Классификация ПВСМультипроцессоры с использованием единой общей памяти (shared memory)… обеспечивается однородный доступ к памяти (uniform memory access

Слайд 38Классификация ПВС
Мультипроцессоры с использованием единой общей памяти…

Классификация ПВСМультипроцессоры с использованием единой общей памяти…

Слайд 39Классификация ПВС
Мультипроцессоры с использованием единой общей памяти
Проблемы:
Доступ с разных

процессоров к общим данным и обеспечение, в этой связи, однозначности

(когерентности) содержимого разных кэшей (cache coherence problem),
Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд
Классификация ПВСМультипроцессоры с использованием единой общей памяти Проблемы:Доступ с разных процессоров к общим данным и обеспечение, в

Слайд 40Классификация ПВС
Мультипроцессоры с использованием физически распределенной памяти (distributed shared memory

or DSM):
неоднородный доступ к памяти (non-uniform memory access or NUMA),


Среди систем такого типа выделяют:
Сache-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).
Классификация ПВСМультипроцессоры с использованием физически распределенной памяти (distributed shared memory or DSM):неоднородный доступ к памяти (non-uniform memory

Слайд 41Классификация ПВС
Мультипроцессоры с использованием физически распределенной памяти…

Классификация ПВСМультипроцессоры с использованием физически распределенной памяти…

Слайд 42Классификация ПВС
Мультипроцессоры с использованием физически распределенной памяти:
упрощаются проблемы создания мультипроцессоров

(известны примеры систем с несколькими тысячами процессоров),
возникают проблемы эффективного использования

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

Слайд 43Классификация ПВС
Мультикомпьютеры…
не обеспечивают общий доступ ко всей имеющейся в системах

памяти (no-remote memory access or NORMA),
каждый процессор системы может использовать

только свою локальную память,
для доступа к данным, располагаемых на других процессорах, необходимо явно выполнить операции передачи сообщений (message passing operations).
Классификация ПВСМультикомпьютеры…не обеспечивают общий доступ ко всей имеющейся в системах памяти (no-remote memory access or NORMA),каждый процессор

Слайд 44Классификация ПВС Мультикомпьютеры

Классификация ПВС Мультикомпьютеры

Слайд 45Мультикомпьютеры
Данный подход используется при построении двух важных типов многопроцессорных

вычислительных систем:
массивно-параллельных систем (massively parallel processor or MPP), например:

IBM RS/6000 SP2, Intel PARAGON, ASCI Red, транспьютерные системы Parsytec,
кластеров (clusters), например: AC3 Velocity и NCSA NT Supercluster.
Мультикомпьютеры 	Данный подход используется при построении двух важных типов многопроцессорных вычислительных систем: массивно-параллельных систем (massively parallel processor

Слайд 46Мультикомпьютеры. Кластеры…
Кластер - множество отдельных компьютеров, объединенных в сеть,

для которых при помощи специальных аппаратно-программных средств обеспечивается возможность унифицированного

управления (single system image), надежного функционирования (availability) и эффективного использования (performance)
Мультикомпьютеры. Кластеры… Кластер - множество отдельных компьютеров, объединенных в сеть, для которых при помощи специальных аппаратно-программных средств

Слайд 47Мультикомпьютеры. Кластеры…
Преимущества:
Могут быть образованы на базе уже существующих у потребителей

отдельных компьютеров, либо же сконструированы из типовых компьютерных элементов;
Повышение

вычислительной мощности отдельных процессоров позволяет строить кластеры из сравнительно небольшого количества отдельных компьютеров (lowly parallel processing),
Для параллельного выполнения в алгоритмах достаточно выделять только крупные независимые части расчетов (coarse granularity).
Мультикомпьютеры. Кластеры…	Преимущества:Могут быть образованы на базе уже существующих у потребителей отдельных компьютеров, либо же сконструированы из типовых

Слайд 48Мультикомпьютеры. Кластеры
Недостатки:
Организация взаимодействия вычислительных узлов кластера при помощи передачи сообщений

обычно приводит к значительным временным задержкам,
Дополнительные ограничения на тип

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

Слайд 49Вопросы к семинару
Обзор рейтинга TOP500 (преобладающий тип вычислительных систем, место

российских ПВС в рейтинге, преобладающая ОС и т.д. top500.org)
Топологии сети

передачи данных (организация физических связей между процессорами системы). Виды топологий, характеристики.
Системные платформы для построения кластеров (семейство Windows, семейства UNIX и Linux)
Обзор систем программирования для параллельных вычислительных систем (MPI, OpenMP, PVM, CUDA)
Задание: подготовить доклад по вопросу и презентацию к нему (можно в паре).
Вопросы к семинаруОбзор рейтинга TOP500 (преобладающий тип вычислительных систем, место российских ПВС в рейтинге, преобладающая ОС и

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика