АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные...
DESCRIPTION
АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления. ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Чл.-корр., профессор, д.ф.-м.н. Королёв Л.Н., Ассистент Волканов Д.Ю. План лекции. Архитектуры параллельных компьютеров Параллелизм на уровне команд Многопоточность Мультипроцессоры - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/1.jpg)
АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ
Лекция 8:Параллельные вычисления
ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВКЧл.-корр., профессор, д.ф.-м.н. Королёв Л.Н.,
Ассистент Волканов Д.Ю.
![Page 2: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/2.jpg)
2
План лекции
• Архитектуры параллельных компьютеров
• Параллелизм на уровне команд• Многопоточность• Мультипроцессоры• Мультикомпьютеры• Классификация Флинна
![Page 3: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/3.jpg)
3
Уровни параллелизма
• В процессоре – Конвейризация– Суперскалярность– Удлинение длины команд
• Дополнительные специализированные процессоры
• Многоядерность• Многопроцессорность
(Сильносвязанный параллелизм)• Кластеры (Слабосвязанный
параллелизм)
![Page 4: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/4.jpg)
4
Архитектуры параллельных компьютеров
(a) На чипе (b) Сопроцессор (c)Мультипроцессор(d) Мультикомпьютер (e) Грид
![Page 5: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/5.jpg)
5
Параллелизм на уровне команд
(a) Конвейер (b) Посл-ть VLIW инструкций(c) Поток команд с отмеченными связками
![Page 6: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/6.jpg)
6
TriMedia VLIW команда
Типичная команда TriMedia.
![Page 7: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/7.jpg)
7
Функциональные блоки
• Операции с константами (5)• АЛУ целочисленных операций (5)• Сдвиги (2)• Загрузка и сохранение из памяти (2)• Умножение целых и вещественных чисел (2)• АЛУ операций с плавающей точкой (2)• Сравнение чисел с плавающей точкой (1)• Извлечение квадратного корня (1)• Ветвления (3)• АЛУ ЦОС (2)• Умножитель для ЦОС (2)
![Page 8: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/8.jpg)
8
Особенности
• Арифметика с насыщением• Команды 2-28 байт• Отсутствует проверка на
совместимость операций во время исполнения
• Прогнозирование операций• Специализированные операции
![Page 9: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/9.jpg)
9
Внутрипроцессорная многопоточность (1)
(a) – (c) Три потока. Пустые квадраты означают простой в ожидании данных из памяти (d) Мелкомодульная
многопоточность (e) Крупномодульная многопоточность
![Page 10: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/10.jpg)
10
Внутрипроцессорная многопоточность (2)
Многопоточность в сдвоенном процессоре(a) Мелкомодульная многопоточность(b) Крупномодульная многопоточность
(c) Синхронная многопоточность
![Page 11: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/11.jpg)
11
Варианты повышения производительности
• Повышение тактовой частоты• Размещение на одной
микросхеме двух процессоров• Введение новых
функциональных блоков• Удлинение конвейера• Использование многопоточности
![Page 12: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/12.jpg)
12
Стратегии управления совместным потреблением
ресурсов
• Дублирование ресурсов• Жёсткое разделение ресурсов• Полное разделение ресурсов• Пороговое разделение ресурсов
![Page 13: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/13.jpg)
13
Многопоточность в Pentium 4
Разделение ресурсов между программными потоками в микроархитектуре NetBurst Pentium 4.
![Page 14: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/14.jpg)
14
Гомогенные однокристальные микропроцессоры
Однокристальные мультипроцессоры. (a) Два конвейера (b) Два ядра
![Page 15: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/15.jpg)
15
Гетерогенные однокристальные
мультипроцессоры
![Page 16: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/16.jpg)
16
Архитектура CoreConnect
An example of the IBM CoreConnect architecture.
![Page 17: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/17.jpg)
17
Мультипроцессоры
(a) Мультипроцессор с 16 ЦПУ, разделяющих общую память
(b) Изображение, разбивается на 16 частей, каждое обрабатывается своим ЦПУ
![Page 18: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/18.jpg)
18
Мультикомпьютеры (1)
![Page 19: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/19.jpg)
19
Мультикомпьютеры (2)
![Page 20: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/20.jpg)
20
Классификация Флинна (1)
![Page 21: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/21.jpg)
21
Классификация Флинна (2)
A taxonomy of parallel computers.
![Page 22: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/22.jpg)
22
• Мультипроцессоры с использованием единой общей памяти (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.
Классификация вычислительных систем
![Page 23: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/23.jpg)
23
• Мультипроцессоры с использованием единой общей памяти…
Оперативная
память
Процессор
Кэш
Процессор
Кэш
Классификация вычислительных систем
![Page 24: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/24.jpg)
24
• Мультипроцессоры с использованием единой общей памяти…
Проблемы:• Доступ с разных процессоров к общим
данным и обеспечение, в этой связи, однозначности (когерентности) содержимого разных кэшей (cache coherence problem),
• Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд
Классификация вычислительных систем
![Page 25: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/25.jpg)
25
• Мультипроцессоры с использованием единой общей памяти…
Проблема: Обеспечение однозначности (когерентности) содержимого разных кэшей (cache coherence problem)
Классификация вычислительных систем
Оперативная память
N(1)
Процессор 1
Кэш N(1)
Процессор 2
Кэш
1. Процессор 1 читает значение переменной N
Оперативная память
N(1)
Процессор 1
Кэш N(1)
Процессор 2
Кэш N(1)
2. Процессор 2 читает значение переменной N
Оперативная память
N(2)
Процессор 1
Кэш N(2)
Процессор 2
Кэш N(1)
3. Процессор 1 записывает новое значение переменной N
При изменении данных необходимо проверять наличие "старых" значений в кэш-памяти всех процессоров (обеспечивается на аппаратном уровне, но становится сложным при большом количестве процессоров)
![Page 26: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/26.jpg)
26
• Мультипроцессоры с использованием единой общей памяти…
Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд…
Классификация вычислительных систем
![Page 27: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/27.jpg)
27
Пример: Пусть процессоры выполняют последовательность команд
над общей переменной N (в скобках указывается значение этой переменной)
Вариант исполнения 1 Вариант исполнения 2
Классификация вычислительных систем
Временная последовательность команд может быть различной – необходима синхронизация при использовании общих переменных !
Время Процессор 1 Процессор 2 1 Чтение N (1) 2 Чтение N (1) 3 Прибавление 1 (2) 4 Прибавление 1 (2) 5 Запись N (2) 6 Печать N (2) 7 Запись N (2) 8 Печать N (2)
Время Процессор 1 Процессор 2
1 Чтение N (1) 2 Прибавление 1 (2) 3 Запись N (2) 4 Печать N (2) 5 Чтение N (2) 6 Прибавление 1 (3) 7 Запись N (3) 8 Печать N (3)
N = N + 1Печать N
![Page 28: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/28.jpg)
28
• Мультипроцессоры с использованием единой общей памяти…
Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд…
• Рассмотренный пример может рассматриваться как проявление общей проблемы использования разделяемых ресурсов (общих данных, файлов, устройств и т.п.)
Классификация вычислительных систем
![Page 29: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/29.jpg)
29
• Для организации разделения ресурсов между несколькими потоками команд необходимо иметь возможность:
- определения доступности запрашиваемых ресурсов (ресурс свободен и может быть выделен для использования, ресурс уже занят одним из потоков и не может использоваться дополнительно каким-либо другим потоком);
- выделения свободного ресурса одному из процессов, запросивших ресурс для использования;
- приостановки (блокировки) потоков, выдавших запросы на ресурсы, занятые другими потоками.
Классификация вычислительных систем
![Page 30: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/30.jpg)
30
• Мультипроцессоры с использованием единой общей памяти
Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд
• Доступ к общей переменной в рассмотренном примере в самом общем виде должен быть организован следующим образом:
Классификация вычислительных систем
<Получить доступ> N = N + 1 Печать N<Завершить доступ>
Полное рассмотрение проблемы синхронизации будет выполнено позднее при изучении вопросов параллельного программирования для вычислительных систем с общей памятью
![Page 31: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/31.jpg)
31
• Мультипроцессоры с использованием физически распределенной памяти (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).
Классификация вычислительных систем
![Page 32: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/32.jpg)
32
• Мультипроцессоры с использованием физически распределенной памяти…
Процессор
Кэш
Процессор
Кэш
Оперативная память
Оперативная память
Сеть передачи данных
Классификация вычислительных систем
![Page 33: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/33.jpg)
33
• Мультипроцессоры с использованием физически распределенной памяти:– Упрощаются проблемы создания
мультипроцессоров (известны примеры систем с несколькими тысячами процессоров)
– Возникают проблемы эффективного использования распределенной памяти (время доступа к локальной и удаленной памяти может различаться на несколько порядков).
Классификация вычислительных систем
![Page 34: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/34.jpg)
34
• Мультикомпьютеры…– Не обеспечивают
общий доступ ко всей имеющейся в системах памяти (no-remote memory access or NORMA),
– Каждый процессор системы может использовать только свою локальную память
Процессор
Кэш
Процессор
Кэш
Оперативная память
Оперативная память
Сеть передачи данных
Классификация вычислительных систем
![Page 35: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/35.jpg)
35
• Для доступа к данным, располагаемых на других процессорах, необходимо явно выполнить операции передачи сообщений (message passing operations),
• Основные операции передачи данных:• Отправить сообщение (send),• Получить сообщение (receive)
Пример:
Мультикомпьютеры
Процессор 1 <Отправить сообщение> <Продолжение вычислений>
Процессор 2 <Получить сообщение> <Продолжение вычислений с использованием данных полученного сообщения>
![Page 36: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/36.jpg)
36
Данный подход используется при построении двух важных типов многопроцессорных вычислительных систем: – массивно-параллельных систем
(massively parallel processor or MPP), например: IBM RS/6000 SP2, Intel PARAGON, ASCI Red, транспьютерные системы Parsytec,
– кластеров (clusters), например: AC3 Velocity и NCSA NT Supercluster.
Мультикомпьютеры
![Page 37: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/37.jpg)
37
• Преимущества:– Могут быть образованы на базе уже
существующих у потребителей отдельных компьютеров, либо же сконструированы из типовых компьютерных элементов;
– Повышение вычислительной мощности отдельных процессоров позволяет строить кластеры из сравнительно небольшого количества отдельных компьютеров (lowly parallel processing),
– Для параллельного выполнения в алгоритмах достаточно выделять только крупные независимые части расчетов (coarse granularity).
Кластеры
![Page 38: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/38.jpg)
38
• Недостатки:– Организация взаимодействия
вычислительных узлов кластера при помощи передачи сообщений обычно приводит к значительным временным задержкам
– Дополнительные ограничения на тип разрабатываемых параллельных алгоритмов и программ (низкая интенсивность потоков передачи данных)
Кластеры
![Page 39: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8 : Параллельные вычисления](https://reader031.vdocuments.site/reader031/viewer/2022013103/56813532550346895d9c9a5f/html5/thumbnails/39.jpg)
39
Спасибо за внимание!