АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Параллельные вычисления.

Презентация:



Advertisements
Похожие презентации
АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8: Параллельные вычисления ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Чл.-корр., профессор, д.ф.-м.н. Королёв Л.Н.,
Advertisements

Общая характеристика многопроцессорных вычислительных систем.
1 Внутрипроцессорная многопоточность (1) (a) – (c) Три потока. Пустые квадраты означают простой в ожидании данных из памяти (d) Мелкомодульная многопоточность.
Интернет Университет Суперкомпьютерных технологий Параллельные вычислительные системы: краткий обзор и классификация Учебный курс Основы параллельных вычислений.
Системы с общей оперативной памятью UMA, SMP, NUMA.
Интернет Университет Суперкомпьютерных технологий Общая характеристика многопроцессорных вычислительных систем Учебный курс Основы параллельных вычислений.
ОСНОВЫ МЕТРИЧЕСКОЙ ТЕОРИИ ВС, СИСТЕМАТИКА ФЛИННА И ДРУГИЕ КЛАССИФИКАЦИИ. Нургазинова Асель Инфб 14 1 р 5 В
Параллельные вычисления Лекция 6. y = 3x + 7x – 8x при x = 4 y1 = 3x(1 действие) y2 = 7x(2 действие) y3 = 8x(3 действие) y = y1 + y2 – y3(4 действие)
Вычислительная система (ВС) - это взаимосвязанная совокупность аппаратных средств вычислительной техники и программного обеспечения, предназначенная для.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
Понятие вычислительной системы Под вычислительной системой (ВС) понимают совокупность взаимосвязанных и взаимодейст- вующих процессоров или ЭВМ, периферийного.
Методы построения и программное обеспечение вычислительных кластеров Дмитрий Лайком гр. 8ВМ23.
Все процессоры выполняют одну и ту же программу ВС класса SIMD.
Нижегородский государственный университет им. Н.И.Лобачевского Факультет Вычислительной математики и кибернетики Лекция 2. Принципы построения параллельных.
Супер ЭВМ Понятие Супер ЭВМ Цели Супер ЭВМ Характеристики производительности Супер ЭВМ Программное обеспечение Супер ЭВМ Архитектура совеременных Супер.
Классификация архитектур ЭВМ по Флинну. Одиночный поток команд (Single Instruction) Множество потоков команд (Multiple Instruction) Одиночный поток данных.
Кэш - память. Кэш-память это высокоскоростная память произвольного доступа, используемая процессором компьютера для временного хранения информации.
Архитектура ЭВМ (лекция 7) проф. Петрова И.Ю. Курс Информатики.
1. Теоретические основы операционных систем (планирование заданий и использования процессора, обеспечение программ средствами коммуникации и синхронизации,
Типы компьютеров Complex Instruction Set Computer (CISC) – компьютер со сложным (полным) набором команд. Reduced Instruction Set Computer (RISC) – компьютер.
Транксрипт:

АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Параллельные вычисления

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

3 Уровни параллелизма В процессоре –Конвейризация –Суперскалярность –Удлинение длины команд Дополнительные специализированные процессоры Многоядерность Многопроцессорность (Сильносвязанный параллелизм) Кластеры (Слабосвязанный параллелизм)

4 Архитектуры параллельных компьютеров (a) На чипе (b) Сопроцессор (c)Мультипроцессор (d) Мультикомпьютер (e) Грид

5 Параллелизм на уровне команд (a) Конвейер (b) Посл-ть VLIW инструкций (c) Поток команд с отмеченными связками Одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно.

6

7 В суперскалярных процессорах также есть несколько вычислительных модулей, но задача распределения между ними работы решается аппаратно. Это сильно усложняет дизайн процессора, и может быть чревато ошибками. В процессорах VLIW задача распределения решается во время компиляции и в инструкциях явно указано, какое вычислительное устройство должно выполнять какую команду. VLIW можно считать логическим продолжением идеологии RISC, расширяющей её на архитектуры с несколькими вычислительными модулями. Так же, как в RISC, в инструкции явно указывается, что именно должен делать каждый модуль процессора. Из-за этого длина инструкции может достигать 128 или даже 256 бит. VLIW

8

9 TriMedia VLIW команда Типичная команда TriMedia.

10 Функциональные блоки Операции с константами (5) АЛУ целочисленных операций (5) Сдвиги (2) Загрузка и сохранение из памяти (2) Умножение целых и вещественных чисел (2) АЛУ операций с плавающей точкой (2) Сравнение чисел с плавающей точкой (1) Извлечение квадратного корня (1) Ветвления (3) АЛУ ЦОС (2) Умножитель для ЦОС (2)

11 Особенности Арифметика с насыщением Команды 2-28 байт Отсутствует проверка на совместимость операций во время исполнения Прогнозирование операций Специализированные операции

12 Внутрипроцессорная многопоточность (1) (a) – (c) Три потока. Пустые квадраты означают простой в ожидании данных из памяти (d) Мелкомодульная многопоточность (e) Крупномодульная многопоточность

13 Внутрипроцессорная многопоточность (2) Многопоточность в сдвоенном процессоре (a) Мелкомодульная многопоточность (b) Крупномодульная многопоточность (c) Синхронная многопоточность

14 Варианты повышения производительности Повышение тактовой частоты Размещение на одной микросхеме двух процессоров Введение новых функциональных блоков Удлинение конвейера Использование многопоточности

15 Стратегии управления совместным потреблением ресурсов Дублирование ресурсов Жёсткое разделение ресурсов Полное разделение ресурсов Пороговое разделение ресурсов

16 Многопоточность в Pentium 4 Разделение ресурсов между программными потоками в микроархитектуре NetBurst Pentium 4. Процессоры архитектуры NetBurst состоят из четырёх основных структурных блоков: на ядре Northwood, Gallatin, Prescott (с 2001 по 2005)

17 NetBurst

18 конвейер NetBurst

19 Гомогенные однокристальные микропроцессоры Однокристальные мультипроцессоры. (a) Два конвейера (b) Два ядра

20 Гетерогенные однокристальные мультипроцессоры

21 Архитектура CoreConnect An example of the IBM CoreConnect architecture.

22 Мультипроцессоры (a) Мультипроцессор с 16 ЦПУ, разделяющих общую память (b) Изображение, разбивается на 16 частей, каждое обрабатывается своим ЦПУ

23 Мультикомпьютеры (1)

24 Мультикомпьютеры (2)

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

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

27 Классификация вычислительных систем

28 Мультипроцессоры с использованием единой общей памяти (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. Классификация вычислительных систем

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

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

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

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

33 Пример: Пусть процессоры выполняют последовательность команд над общей переменной N (в скобках указывается значение этой переменной) Вариант исполнения 1 Вариант исполнения 2 Классификация вычислительных систем Временная последовательность команд может быть различной – необходима синхронизация при использовании общих переменных ! N = N + 1 Печать N

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

35 Для организации разделения ресурсов между несколькими потоками команд необходимо иметь возможность: - определения доступности запрашиваемых ресурсов (ресурс свободен и может быть выделен для использования, ресурс уже занят одним из потоков и не может использоваться дополнительно каким-либо другим потоком); - выделения свободного ресурса одному из процессов, запросивших ресурс для использования; - приостановки (блокировки) потоков, выдавших запросы на ресурсы, занятые другими потоками. Классификация вычислительных систем

36 Мультипроцессоры с использованием единой общей памяти Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд Доступ к общей переменной в рассмотренном примере в самом общем виде должен быть организован следующим образом: Классификация вычислительных систем N = N + 1 Печать N Полное рассмотрение проблемы синхронизации будет выполнено позднее при изучении вопросов параллельного программирования для вычислительных систем с общей памятью

37 Мультипроцессоры с использованием физически распределенной памяти (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). Классификация вычислительных систем

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

39 Мультипроцессоры с использованием физически распределенной памяти: –Упрощаются проблемы создания мультипроцессоров (известны примеры систем с несколькими тысячами процессоров) –Возникают проблемы эффективного использования распределенной памяти (время доступа к локальной и удаленной памяти может различаться на несколько порядков). Классификация вычислительных систем

40 Мультикомпьютеры … –Не обеспечивают общий доступ ко всей имеющейся в системах памяти (no-remote memory access or NORMA), –Каждый процессор системы может использовать только свою локальную память Классификация вычислительных систем

41 Для доступа к данным, располагаемых на других процессорах, необходимо явно выполнить операции передачи сообщений (message passing operations), Основные операции передачи данных: Отправить сообщение (send), Получить сообщение (receive) Пример: Мультикомпьютеры Процессор 1 Процессор 2

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

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

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

45 (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 White Суперкомпьютеры. Программа ASCI

46 Система с 512-ю симметричными мультипроцессорными (SMP) узлами, каждый узел имеет 16 процессоров Процессоры IBM RS/6000 POWER3 с 64-х разрядной архитектурой и конвейерной организацией с 2 устройствами по обработке команд с плавающей запятой и 3 устройствами по обработке целочисленных команд, они способны выполнять до 8 команд за тактовый цикл и до 4 операций с плавающей запятой за такт, тактовая частота 375 MHz Оперативная память системы – 4 TB, Емкость дискового пространства 180 TB Суперкомпьютеры. ASCI White

Часть машинного зала компьютера ASCI White, на переднем плане – консоль (рабочее место системного оператора суперкомпьютера).

48 –Операционная система представляет собой версию UNIX – IBM AIX, –Программное обеспечение ASCI White поддерживает смешанную модель программирования – передача сообщений между узлами и многопотоковость внутри SMP-узла, –Поддерживаются библиотеки MPI, OpenMP, потоки POSIX и транслятор директив IBM, имеется параллельный отладчик IBM. Суперкомпьютеры. ASCI White

Стойки с параллельными процессорами суперкомпьютера ASCI RED

50 Первый вариант системы представлен в 2004 г. и сразу занял 1 позицию в списке Top500 Расширенный вариант суперкомпьютера (ноябрь 2007 г.) по прежнему на 1 месте в перечне наиболее быстродействующих вычислительных систем: двухядерных 32-битных процессоров PowerPC GHz, пиковая производительность около 600 TFlops, производительность на тесте LINPACK – 478 TFlops Суперкомпьютеры. Система BlueGene

51 ASCI White & Blue Gene

52 –RoadRunner является наиболее быстродействующей вычислительной системой (2008) и первым в мире суперкомпьютером, производительность которого превысила рубеж 1 PFlops (1000 TFlops): Система RoadRunner процессоров IBM PowerXCell 8i и 6480 двухядерных процессоров AMD Opteron, пиковая производительность около 1700 TFlops, производительность на тесте LINPACK – 1026 TFlops

53 Общее количество узлов 276 (552 процессора). Каждый узел представляет собой: 2 процессора IBM PowerPC 970 с тактовой частотой 2.2 GHz, кэш L1 96 Kb и кэш L2 512 Kb, 4 Gb оперативной памяти на узел, 40 Gb жесткий диск IDE, –Операционная система SuSe Linux Enterprise Server версии 8 для платформ x86 и PowerPC, –Пиковая производительность GFlops и максимально показанная на тесте LINPACK 3052 GFlops. Суперкомпьютеры. МВС-15000

54 Суперкомпьютеры. МВС-15000

55 –Общее количество двухпроцессорных узлов 625 (1250 четырехядерных процессоров Intel Xeon E ГГц), Суперкомпьютеры. СКИФ МГУ –Общий объем оперативной памяти – 5,5 Тбайт, –Объем дисковой памяти узлов – 15 Тбайт, –Операционная система Linux, –Пиковая производительность 60 TFlops, быстродействие на тесте LINPACK 47 TFlops.

Cуперкомьютер Ломоносов

В нем используется 3 вида вычислительных узлов и процессоры с различной архитектурой. Перед установкой в МГУ им. М.В. Ломоносова система прошла тщательное тестирование на производстве компании «Т- Платформы». В качестве основных узлов, обеспечивающих свыше 90% производительности системы, используется инновационная blade- платформа, получившая название T-Blade2. По вычислительной плотности на квадратный метр занимаемой площади – 30Тфлопс/м2 – эта система превосходит все мировые аналоги. T-Blade2 на базе процессоров Intel® Xeon X5570 обеспечивает производительность 18TFlops в стандартной стойке высотой 42U. В суперкомпьютере также задействованы blade-системы T- Blade 1.1 с увеличенным объемом оперативной памяти и локальной дисковой памятью для выполнения специфических задач, особенно требовательных к этим параметрам системы. Третий тип узлов – платформы на базе многоядерного процессора PowerXCell 8i, использующиеся в качестве мощных ускорителей для ряда задач. Все три типа вычислительных узлов были разработаны компанией «Т-Платформы». Платформа T-Blade2 была сконструирована инженерами «Т-Платформы» «с нуля» - все платы и механические компоненты являются собственными разработками компании. T-Blade2 выходит за рамки традиционных возможностей blade-систем.

Пиковая производительность420Тфлопс Реальная производительность350Тфлопс Эффективность (соотношение пиковой и реальной производительности) 83% Число вычислительных узлов4 446 Число процессоров8 892 Число процессорных ядер Число типов вычислительных узлов 3 (T-Blade2, T-Blade 1.1, платформа на базе процессора PowerXCell 8i) Основной тип вычислительных узловT-Blade2 Процессор основного типа вычислительных узловIntel® Xeon X5570 Оперативная память56 576ГБ Общий объем дисковой памяти вычислителя ГБ Занимаемая площадь252 кв.м Энергопотребление вычислителя1.5 МВт ИнтерконнектQDR Infiniband Система хранения данныхТрехуровневая с параллельной файловой системой Объем системы хранения данныхдо 1 350ТБ Операционная системаClustrx T-Platforms Edition

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

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

61 –1998, Система Avalon, Лос-Аламосская национальная лаборатория (США), руководители проекта - астрофизик Майкл Уоррен: 68 процессоров (позднее расширен до 140) Alpha 21164A с тактовой частотой 533 MHz, 256 Mb RAM, 3 Gb HDD, Fast Ethernet card на каждом узле, операционная система Linux, пиковая производительность в 149 GFlops, производительность на тесте LINPACK 48.6 GFlops. Кластеры. Beowulf

62 –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

63 –2000, Национальный центр суперкомпьютерных технологий (National Center for Supercomputing Applications): 38 двухпроцессорных систем Hewlett-Packard Kayak XU PC workstation на базе Intel Pentium III Xeon 550 MHz, 1 Gb RAM, 7.5 Gb HDD, 100 Mbit Ethernet card,Hewlett-Packard Kayak XU PC workstation операционная система ОС Microsoft Windows, пиковая производительностью в 140 GFlops и производительность на тесте LINPACK 62 GFlops. Кластеры. NCSA NT Supercluster NT Supercluster

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

65 Кластеры. Вычислительный кластер ННГУ

66 –2007, 64 вычислительных сервера, каждый из которых имеет 2 двухядерных процессора Intel Core Duo 2,66 GHz, 4 GB RAM, 100 GB HDD, 1 Gbit Ethernet card, пиковая производительность ~3 Tflops операционная система Microsoft Windows. Кластеры. Вычислительный кластер ННГУ