Основы параллельного программирования Посыпкин Михаил Анатольевич.

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



Advertisements
Похожие презентации
Практические основы параллельного программирования. Посыпкин Михаил Анатольевич
Advertisements

Оценка эффективности параллельных вычислений Комышев Е. Г. гр
Работу выполнили ученики 21 гимназии 10 А класса.
Система фрагментированного программирования Перепелкин В.А. Всероссийская молодежная школа по параллельному программированию МО ВВС ИВМиМГ 2009 г.
БАЗЫ ДАННЫХ часть II Распределенные и параллельные системы управления базами данных.
Московский государственный университет им.М.В.Ломоносова Институт вычислительной математики РАН Воеводин В.В., Воеводин Вл.В. СУПЕРВЫЧИСЛЕНИЯ:
Архитектура ЭВМ (лекция 7) проф. Петрова И.Ю. Курс Информатики.
Теория компиляторов-2. Л.31 Теория компиляторов Часть II Лекция 2.
Все процессоры выполняют одну и ту же программу ВС класса SIMD.
Супер ЭВМ Понятие Супер ЭВМ Цели Супер ЭВМ Характеристики производительности Супер ЭВМ Программное обеспечение Супер ЭВМ Архитектура совеременных Супер.
Процессоры Типы процессоров и их характеристики. Регистры общего назначения Запись данных для хранения Чтение данных Изменение данных Использование в.
Архитектура персонального компьютера… Презентация ученицы 9 «Б» класса Никулиной Дарьи.
Архитектура персонального компьютера Подготовила урок учитель математики средней общеобразовательной школы 8 с углубленным изучением отдельных предметов.
Архитектура компьютера. Функциональные характеристики ПК Лекция 2 часть г.
Принципы разработки параллельных алгоритмов. Введение Для определения эффективных способов организации параллельных вычислений необходимо: Выполнить анализ.
М.Л. Цымблер, Л.Б. Соколинский Южно-Уральский государственный университет (Челябинск) Организация систем хранения данных на базе вычислительных кластеров.
Введение в параллельную обработку. Уровни параллелизма в процессорах Параллелизм данных (DLP – Data Level Parallelism) Параллелизм команд (ILP – Instruction.
Исполнение программы Энциклопедия учителя информатики Газета «Первое сентября»
Организация памяти. Иерархии памяти Идея иерархической (многоуровневой) организации памяти заключается в использовании на одном компьютере нескольких.
Общая структура и состав персонального компьютера.
Транксрипт:

Основы параллельного программирования Посыпкин Михаил Анатольевич

Параллельное программирование Приложения требуют увеличения производительности компьютеров. Производительность процессора и памяти ограничена физическими характеристиками применяемых материалов. Многие задачи содержат независимые компоненты, которые могут решаться одновременно (т.е. параллельно).

Параллельное программирование Перечисленное приводит к естественному решению – увеличивать число компонент оборудования, участвующего в решении задач. В частности, увеличивается число функциональных устройств одного процессора и общее число процессоров.

Спектр задач параллельного программирования Математическое моделирование: Газовая и гидро-динамика. Химическая физика. Процессы в полупроводниках. Имитационное моделирование в экономике. Биология. Оптимизация: Дискретное и линейное программирование. Общая задача нахождения экстремума. Оптимальный поиск: Дискретная оптимизация. Распознавание образов. Автоматическая верификация и доказательство теорем.

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

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

Виды многопроцессорного параллелизма. Общая память Распределенная память

Иерархия памяти Регистры Кэш 1-го уровня Кэш 2(3)-го уровня Оперативная память Дисковая память

Аппаратные ресурсы МСЦ Общая память: HP V-Class HP Superdome Гибридная память: MVS-1000M (768 x Alpha 21264) MVS 15000BM (768 x IBM Power 970) кластеры Athlon, Xeon, IBM

Архитектура HP-Superdome

Архитектура HP-Superdome: общая орагнизация: ccNuma ячейка коммутатор ячейка коммутатор

Архитектура HP-Superdome: Ячейка – SMP система CPU Контроллер Memory I/O Коммутатор

Характеристики MareNostrum Пиковая производительность: 42,35 TFlops 4812 PowerPC 970FX 2.2 GHz Оперативная память: 9,6 Tb Дисковая память: 236 Tb Коммуникации Myrinet (вычисления) Gigabit Ethernet (загрузка, управление)

Архитектура 29 x IBM Rack Blade Center Blade Server JS320

Библиотеки общего назначения Проблемно- ориентирован ные библиотеки Традиционны е языки программиро вания Специальные расширения языков Внутрипроцес сорный параллелизм Многопроцес сорный параллелизм ++--

Средства параллельного программирования Общая памятьРаспределенная память Системные средства threadsпроцессы + сокеты Языки C/C++, Fortran 95 HPF, DVM, mpC, Charm ++, Occam Специальные библиотеки и пакеты OpenMPMPI PVM

ОСНОВНЫЕ ХАРАКТЕРИСТИКИ ПРОИЗВОДИТЕЛЬНОСТИ ПАРАЛЛЕЛЬНЫХ ПРОГРАММ

Ускорение -время параллельных вычислений -время последовательны вычислений

Производительность пиковая и реальная Пиковая производительность – максимальное количество операций, которые вычислительное устройство может выполнить за единицу времени. Реальная производительность – количество операций, которое вычислительное устройство реально выполняет. Загруженность = (реальная производительность)/(пиковая производительность)

Производительность системы из нескольких устройств Имеется n устройств - реальная производительность i-го устройства - пиковая производительность i-го устройства - загруженность i-го устройства Производительность такой системы:

Ускорение Еслито

Измерение ускорения -время параллельных вычислений -время последовательны вычислений

Линейное и «сверхлинейное» ускорение Линейное ускорение: S = n. Эффект «сверхлинейного» ускорения: наблюдаемое ускорение больше числа процессоров: S > n. Причина – не учитывается загруженность процессоров, либо изменение количества операций.

Эффект увеличения памяти При больших объемах данных включаются более медленные слои иерархии памяти => увеличиваются задержки => снижается загруженность процессоров.

Закон Амдала -доля последовательных вычислений -общий объем работы

Эффективность Эффективность – отношение ускорения к числу процессоров. Показывает насколько эффективно используются аппаратные ресурсы.

Тест LINPACK (LU-разложение): кластер из 8 компьютеров Эффективность и ускорение при разном количестве процессоров. (информация с сайта Кемеровского ГУ)

Информационные зависимости Зависимость по данным: 1: a = 1; 2: b = a; 1 2 Зависимость по управлению: 1: if(a) { 2: x = c + d; 3: y = 1; 4: } 1 23

Граф зависимостей Операции, соединенные путем из дуг, не могут выполняться одновременно. 1 Другие операции могут выполняться одновременно при наличии требуемых функциональн ых устройств.

Концепция неограниченного параллелизма CPU..... Количество процессоров неограниченно. Концепция может применяться для исследования максимально возможного ускорения.

Упрощенная модель параллельной машины с общей памятью CPU MEMORY Процессоры работают синхронно по шагам: на каждом шаге выполняется операция (выборка операндов + арифметичекая операция + запись в память). Шаг занимает 1 такт.

Лемма Брента Пусть q – число операций алгоритма, выполнение каждой операции занимает в точности одну единицу времени (такт), t – время выполнения на системе с достаточным числом одинаковых процессоров, то на системе, содержащей n процессоров, алгоритм может быть выполнен за время, не превосходящее t + (q – t)/n.

Асимптотические свойства формулы Брента

CPU ICPU II Количество CPU не ограничено

Пусть для бесконечного числа процессоров на i-м шаге выполнялось s i операций, тогда при наличии n процессоров потребуется не более операций.