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


Технологии решения сложных задач с использованием MPI

Содержание

Программа обученияРешение инженерных задач на вычислительных системах Основные понятия вычислительной математики Основные концепции и инструменты программирования Введение в C/С++Параллельные технологии решения сложных задач Понятие параллелизма в программировании и формы его представления.Использование MPI Стандарт MPI и его

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

Слайд 1Технологии решения сложных задач на кластерных вычислительных системах с использованием

средств MPI
14 января 2013 г.
Москва, МЭИ

Технологии решения сложных задач на кластерных вычислительных системах с использованием средств MPI14 января 2013 г.Москва, МЭИ

Слайд 2Программа обучения
Решение инженерных задач на вычислительных системах
Основные понятия вычислительной математики
Основные

концепции и инструменты программирования
Введение в C/С++
Параллельные технологии решения сложных задач
Понятие

параллелизма в программировании и формы его представления.
Использование MPI
Стандарт MPI и его реализации.
Компиляция и запуск MPI программ в Linux и Windows.
Синхронные и асинхронные операции обмена сообщениями MPI.
Коллективные операции MPI обмена сообщениями.
Определяемые пользователем типы данных.
Использование топологий в MPI программах.
Многопоточное программирование в MPI
Вычислительные задачи и их реализация на MPI
Отладка, оптимизация MPI программ
Вспомогательные инструменты при работе с MPI
Jump shot
Intel Trace Analyzer
Общие подходы к оптимизации программ.

14 января 2013 г.

Москва, МЭИ

Программа обученияРешение инженерных задач на вычислительных системах	Основные понятия вычислительной математики	Основные концепции и инструменты программирования	Введение в C/С++Параллельные технологии

Слайд 3Подход «cut-and-try» устарел
Современная наука:






Появляются дисциплины, продвижение в которых возможно только

лишь с помощью моделирования и использования масштабных вычислений:
Нанотехнологии
Микробиология: поиск новых

лекарств
Науки о материалах

14 января 2013 г.

Москва, МЭИ

Система д/у, представляющая непрерывную аппроксимацию микроскопической системы или дискретная модель

Численный эксперимент

Гб данных

Анализ

1.Построить модель (выбрать представление)
2. Разработать алгоритм
3. Эффективно выполнить вычисления
4. Оценить погрешность
5. Выполнить визуализацию

Моделирование

Computer science

Вычисли-тельная математика

Введение: Моделирование как методология

Подход «cut-and-try» устарелСовременная наука:Появляются дисциплины, продвижение в которых возможно только лишь с помощью моделирования и использования масштабных

Слайд 4Сила 0 и 1

c = a + b ?
14 января

2013 г.
Москва, МЭИ
01011001010001000111010101000100
01011001011100100010100101000011
00111010101000100111010100100101
01011101010101010101010000111101



Точность
Простота
asm
C
VB
Pascal
C++
Java
C#
Fortran
Абстракции
Введение: Языки программирования

Сила 0 и 1		c = a + b 		?14 января 2013 г.Москва, МЭИ01011001010001000111010101000100010110010111001000101001010000110011101010100010011101010010010101011101010101010101010000111101ТочностьПростотаasmCVBPascalC++JavaC#FortranАбстракцииВведение: Языки программирования

Слайд 5Вектор aT=(a1,a2,…,an)
Матрица A (m x n), A[i,j]
Функция
O(f(n))

Округление!
Системы счисления
12610= 1

× 102 + 2 × 101 + 6 × 100
Двоичная

система: 011111102 = 0× 27 + 1 × 26 + 1 × 25 + 1 × 24 + 1× 23 + 1 × 22 + 1 × 21 + 0 × 20
Числа с плавающей точкой:
+ .126 × 103
знак мантисса показатель

14 января 2013 г.

Москва, МЭИ

Основные понятия вычислительной математики

Вектор  aT=(a1,a2,…,an)Матрица A (m x n), A[i,j]ФункцияO(f(n))Округление!Системы счисления	12610= 1 × 102 + 2 × 101 +

Слайд 614 января 2013 г.
Москва, МЭИ
Параллелизм в задачах
Четыре шага при создании

параллельных программ:

Разделение
Разделение данных и задач на фрагменты
Взаимодействие
Распределение данных между задачами

и установление зависимостей
Агломерация
Задачи группируются для повышения эффективности использования ресурсов
Распределение
Распределение задач по «вычислителям»


«Designing and Building Parallel Programs», Ян Фостер

14 января 2013 г.Москва, МЭИПараллелизм в задачахЧетыре шага при создании параллельных программ:РазделениеРазделение данных и задач на фрагментыВзаимодействиеРаспределение

Слайд 714 января 2013 г.
Москва, МЭИ
Параллельное программирование
Модель передачи сообщений

Множество процессов
Распределение данных

с помощью посылки сообщений (MPI)
Потоки (Threads)

Один процесс
Конкурентное выполнение
Разделяемые данные и

ресурсы (Потоки ОС, OpenMP)


Memory



Network

14 января 2013 г.Москва, МЭИПараллельное программированиеМодель передачи сообщенийМножество процессовРаспределение данных с помощью посылки сообщений (MPI)Потоки (Threads)Один процессКонкурентное

Слайд 814 января 2013 г.
Москва, МЭИ
Параллельное программирование
Разделение
Разделить задачу на фрагменты (подзадачи)
Взаимодействие
Определить

тип и способ взаимодействия
Агломерация
Группировать фрагменты задачи
Распределение
Распределить группы задач по процессорам

14 января 2013 г.Москва, МЭИПараллельное программированиеРазделениеРазделить задачу на фрагменты (подзадачи)ВзаимодействиеОпределить тип и способ взаимодействияАгломерацияГруппировать фрагменты задачиРаспределениеРаспределить группы

Слайд 914 января 2013 г.
Москва, МЭИ
Параллельное программирование
Разделение.

Выделить как можно больше параллельных

фрагментов
Независимые вычисления и/или данные
Количество элементарных действий должно быть максимальным

Методы декомпозиции:
Функциональная

декомпозиция
Декомпозиция по данным


Где нет параллелизма?

Подпрограммы, обрабатывающие объекты, имеющие «состояние»
Выделение памяти
Ввод-вывод из файлов
Циклы с зависимостями по данным
Переменная записывается в одной итерации, а считывается в другой – простой проверкой может быть инвертирование цикла




14 января 2013 г.Москва, МЭИПараллельное программированиеРазделение.Выделить как можно больше параллельных фрагментовНезависимые вычисления и/или данныеКоличество элементарных действий должно

Слайд 1014 января 2013 г.
Москва, МЭИ
Параллельное программирование
Функциональная декомпозиция
Анализируется процесс вычислений
Декомпозиция по

данным
Анализируются массивные или часто используемые данные
Одна и та же операция

применяется ко всем данным
14 января 2013 г.Москва, МЭИПараллельное программированиеФункциональная декомпозицияАнализируется процесс вычисленийДекомпозиция по даннымАнализируются массивные или часто используемые данныеОдна и

Слайд 1114 января 2013 г.
Москва, МЭИ
Параллельное программирование
Взаимодействие

Определить тип и способ взаимодействия

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

Точка-точка
одна подзадача передает данные

другой
Коллективное использование
группа подзадач работает с одной копией данных


Агломерация

Группировка элементарных действий производится для того, чтобы:
повысить производительность и зернистость
локализовать связи
сохранить масштабируемость
упростить программирование




14 января 2013 г.Москва, МЭИПараллельное программированиеВзаимодействиеОпределить тип и способ взаимодействия подзадач, определить, какие данные должны быть разделяемыми.Точка-точкаодна

Слайд 1214 января 2013 г.
Москва, МЭИ
Параллельное программирование
ГОНКИ ДАННЫХ!

Обычно проявляют себя в

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

Порядок

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

Сложно предугадать
Недетерминированное выполнение
В процессе отладки могут не проявляться




14 января 2013 г.Москва, МЭИПараллельное программированиеГОНКИ ДАННЫХ!Обычно проявляют себя в случаях, когда множество параллельно выполняющихся задач обращаются

Слайд 13Коэффициент ускорения при параллельном выполнении программ при ее выполнении на

N процессорах определяется следующим образом:







В этой формуле
α – участок

программы, выполняющийся полностью последовательно
1 – α - полностью параллельный участок программы
N – количество «вычислителей»


Ясно, что при N → ∞, K → 1 / α

14 января 2013 г.

Москва, МЭИ

Ускорение


Коэффициент ускорения при параллельном выполнении программ при ее выполнении на N процессорах определяется следующим образом: В этой

Слайд 1414 января 2013 г.
Москва, МЭИ
Закон Амдала

Также часто используется другая формулировка

коэффициента ускорения в форме закона Амдала:

Т – время выполнения последовательного

варианта программы,
P – участок программы, который можно распараллелить,
1 – P – участок программы, который распараллелить нельзя,
N – количество «вычислителей»





И коэффициент ускорения будет определяться следующим образом:



14 января 2013 г.Москва, МЭИЗакон АмдалаТакже часто используется другая формулировка коэффициента ускорения в форме закона Амдала:			Т –

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

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

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

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

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


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

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