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


Параллельные вычисления Учебный год – 2020/21, осенний семестр Группы P42 142

Содержание

PhD in Computer Science9 years of teaching experience15 years of IT industryAssociate professor at ITMO UniversityLead implementation engineer at Pegasystems Inc.Scientific interests: RPA, speech recognition, new IT inventionsAbout myself

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

Слайд 1Параллельные вычисления Учебный год – 2020/21, осенний семестр Группы P42142 Лекция 1
Преподаватели:
Балáкшин Павел

Валерьевич
(pvbalakshin@gmail.com),
Мишенёв Алексей
(mishenevalex@gmail.com)

Параллельные вычисления Учебный год – 2020/21, осенний семестр Группы P42142  Лекция 1Преподаватели:Балáкшин Павел Валерьевич(pvbalakshin@gmail.com),Мишенёв Алексей (mishenevalex@gmail.com)

Слайд 2PhD in Computer Science
9 years of teaching experience
15 years of

IT industry
Associate professor at ITMO University
Lead implementation engineer at Pegasystems

Inc.
Scientific interests: RPA, speech recognition, new IT inventions

About myself

PhD in Computer Science9 years of teaching experience15 years of IT industryAssociate professor at ITMO UniversityLead implementation

Слайд 37-8 лекций
6 лабораторных работ по следующим темам:
Автоматическое распараллеливание
Использование

параллельных библиотек
OpenMP
PTHREADS
OpenCL
2 рубежных контроля (тестирование)
Структура курса

7-8 лекций6 лабораторных работ по следующим темам: Автоматическое распараллеливание Использование параллельных библиотек OpenMP PTHREADS OpenCL2 рубежных контроля

Слайд 4Балльно-рейтинговая
система (БАРС)

Балльно-рейтинговая система (БАРС)

Слайд 5Орг. вопросы
vk.com/club31201840
Анкета:
ФИО
вуз бакалавриата
тема бакалаврской работы
e-mail/телефон
работа (где и

кем)
был ли подобный курс

Орг. вопросыvk.com/club31201840Анкета: ФИОвуз бакалавриата тема бакалаврской работыe-mail/телефон работа (где и кем) был ли подобный курс

Слайд 6Почему С/С++

Почему С/С++

Слайд 7Почему С/С++ (продолжение)
https://spectrum.ieee.org/computing/software/the-2017-top-programming-languages

Почему С/С++ (продолжение)https://spectrum.ieee.org/computing/software/the-2017-top-programming-languages

Слайд 8Выбор языка технологии параллельного программирования
По материалам исследования Бернгардта Г.В. (2016)

Выбор языка технологии параллельного программированияПо материалам исследования Бернгардта Г.В. (2016)

Слайд 9Выбор языка технологии программирования (2)
По материалам исследования Бернгардта Г.В. (2016)
Над

диаграммами указан размер репозитория

Выбор языка технологии программирования (2)По материалам исследования Бернгардта Г.В. (2016)Над диаграммами указан размер репозитория

Слайд 10Определения
Параллельные вычисления –
способ организации вычислений, при котором программа представляет

из себя набор взаимодействующих модулей, работающих одновременно.
≠ конвейерная обработка (суперскалярность)


≠ SIMD-расширения (MMX, SSE)
≠ вытесняющая многозадачность
= многоядерное программирование
= распределённые вычисления
«За время существование вычислительной техники скорость срабатывания элементов возросла в 106 раз, а быстродействие вычислений увеличилось в 109 раз».
«С 1986 до 2002 производительность однопроцессорных систем увеличивалась в 1.5 раза ежегодно. С 2002 – только 1.2 раза.»
ОпределенияПараллельные вычисления – способ организации вычислений, при котором программа представляет из себя набор взаимодействующих модулей, работающих одновременно.≠

Слайд 11Определения (2)
Concurrent computing is a way of organizing calculations on

one or more computers, where life periods of several tasks

intersect.
Sequential computing – there are no overlapping periods of tasks.
Parallel computing – tasks are executed physically simultaneously on different processors and/or cores of the same computer.
Multicore computing – computations when each processor has more then one core.
Shared memory processing (SMP) – refers to the work of parallel programs on systems with shared memory. In such systems all the processors/cores share common memory of one computer.
Distributed computing – sort of parallel computing, at which to calculations take place on processors located on different computers connected by a network, means one has to transfer programs and/or data through a network to perform calculations.
Определения (2)Concurrent computing is a way of organizing calculations on one or more computers, where life periods

Слайд 12Определения (3)
Parallel calculations are always concurrent ones.
Not all concurrent calculations

are parallel.
Parallel computing = multicore computing = SMP.

Not in

scope of the course:
Bit-level parallelism
Parallelism at the operand level – concurrency at the data level
Parallelism at the instruction level – superscalarity
Preemptive multitasking
Определения (3)Parallel calculations are always concurrent ones.Not all concurrent calculations are parallel. Parallel computing = multicore computing

Слайд 13Зачем нужны параллельные вычисления
1. Для решение Problems of Grand Challenge

(быстродействия существующих вычислительных систем не хватает > 1 Tflops) :
моделирование

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

2. В повседневной жизни программиста будущего (одноядерные смартфоны и ПК уже почти не продаются).

3. Игровая индустрия.
Зачем нужны параллельные вычисления1. Для решение Problems of Grand Challenge (быстродействия существующих вычислительных систем не хватает >

Слайд 14Классификация параллельных систем (архитектур)
SMP (Shared Memory Parallelism, Symmetric MultiProcessor system)

– многопроцессорность, многоядерность, GPGPU.
MPP (Massively Parallel Processing) – кластерные

системы, GRID (распределенные вычисления)
Классификация параллельных систем (архитектур)SMP (Shared Memory Parallelism, Symmetric MultiProcessor system) –  многопроцессорность, многоядерность, GPGPU. MPP (Massively

Слайд 15Архитектура SMP
+ Высокая скорость межпроцессорного обмена.
– Плохая масштабируемость.
+ Простота и

дешевизна разработки ПО.
По материалам проф. Бухановского

Архитектура SMP+ Высокая скорость межпроцессорного обмена.– Плохая масштабируемость.+ Простота и дешевизна разработки ПО.По материалам проф. Бухановского

Слайд 16Архитектура MPP
По материалам проф. Бухановского
+ Хорошая масштабируемость.
– Низкая скорость межпроцессорного

обмена.
– Высокая стоимость специализированного ПО.

Архитектура MPPПо материалам проф. Бухановского+ Хорошая масштабируемость.– Низкая скорость межпроцессорного обмена.– Высокая стоимость специализированного ПО.

Слайд 17По книге издательства Intel Press
Формы параллелизма

По книге издательства Intel PressФормы параллелизма

Слайд 18История развития SMP-систем
Частотность использования процессоров с различным числом ядер при

создании суперкомпьютеров
По данным сайта top500.org

История развития SMP-системЧастотность использования процессоров с различным числом ядер при создании суперкомпьютеровПо данным сайта top500.org

Слайд 19Ограниченность роста производительности непараллельных компьютеров
Снижение стоимости многопроцессорных вычислительных систем
Cray T90:

1.8 GFlops ($2,5 млн.) – 1995 г.,
8 х IBM SP2:

2.1 GFlops ($0.5 млн.) – 2000 г.
Появление парадигмы многоядерного построения процессоров.

Что способствует развитию параллельных вычислений

Ограниченность роста производительности непараллельных компьютеровСнижение стоимости многопроцессорных вычислительных системCray T90: 1.8 GFlops ($2,5 млн.) – 1995 г.,8

Слайд 20Гипотеза Минского (Minsky): ускорение параллельной системы пропорционально двоичному логарифму от

числа процессоров.
Закон Мура (Moore): мощность последовательных процессоров удваивается каждые 18

месяцев.
Закон Гроша (Grosch): производительность компьютера возрастает пропорционально квадрату его стоимости.
Сложность освоения принципов параллельного программирования.


Что замедляет развитие параллельных вычислений (1)

Гипотеза Минского (Minsky): ускорение параллельной системы пропорционально двоичному логарифму от числа процессоров.Закон Мура (Moore): мощность последовательных процессоров

Слайд 21Что замедляет развитие параллельных вычислений (2)
Закон Амдала (в любой программе

есть нераспараллеливаемая часть)

Что замедляет развитие параллельных вычислений (2)Закон Амдала (в любой программе есть нераспараллеливаемая часть)

Слайд 22Последовательное и каскадное суммирование
По материалам проф. Гергеля
Пример распараллеливания алгоритма (1)

Последовательное и каскадное суммированиеПо материалам проф. ГергеляПример распараллеливания алгоритма (1)

Слайд 23Пример распараллеливания алгоритма (2)
Поиск максимального элемента массива

По материалам проф. Гергеля

Пример распараллеливания алгоритма (2)Поиск максимального элемента массиваПо материалам проф. Гергеля

Слайд 24Пример распараллеливания алгоритма (3)
Параллельная сортировка:
Разбить исходный массив на две части.


Отсортировать каждую часть независимо за своём процессоре.
Выполнить слияния отсортированных кусков.

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

сложность на двухъядерной системе
С1*N*N  С1 *N*N/4 + С2 *N
Возможно почти четырёхкратное ускорение на двухъядерной системе!
Пример распараллеливания алгоритма (3)Параллельная сортировка:Разбить исходный массив на две части. Отсортировать каждую часть независимо за своём процессоре.Выполнить

Слайд 25Показатели эффективности параллельных программ
p – количество вычислителей (ядер, процессоров)
V –

скорость выполнения работы (ед. работы в секунду)
S(p) = V(p)/V(1) –

параллельное ускорение
E(p) = S(p)/p – параллельная эффективность

Показатели эффективности параллельных программp – количество вычислителей (ядер, процессоров)V – скорость выполнения работы (ед. работы в секунду)S(p)

Слайд 26Закон Амдала
где t(p) – время выполнения программы на p вычислителях,

k – доля распараллеленных команд, w(p) – количество условных единиц

работы.
Закон Амдалагде t(p) – время выполнения программы на p вычислителях, k – доля распараллеленных команд, w(p) –

Слайд 27Закон Густавсона-Барсиса
где w(p) – количество условных единиц работы, выполненных программой

за время t.
.

Закон Густавсона-Барсисагде w(p) – количество условных единиц работы, выполненных программой за время t..

Слайд 28Модификация закона Амдала (по проф. Бухановскому)
N – количество распараллеливаемых операция,

M – количество нераспараллелива-емых операций, tc – время выполнения одной

операции, p – количество вычислителей, Ti – время выполнения программы при использовании i параллельных потоков на i вычислителях, α – масштабирующий коэффициент.
Модификация закона Амдала  (по проф. Бухановскому)N – количество распараллеливаемых операция, M – количество нераспараллелива-емых операций, tc

Слайд 29Сравнение с законом Амдала
Пусть N = 100, M = 20,

α = 0.05

Сравнение с законом АмдалаПусть N = 100, M = 20, α = 0.05

Слайд 30Ключевая проблема параллельного программирования
Балансировка нагрузки!

Ключевая проблема параллельного программированияБалансировка нагрузки!

Слайд 31Лабораторная работа №1
Задачи
Повторение/изучение языка Cи.
Исследование эффективности средств

автоматического распараллеливания.

Окружение
Компиляторы: gcc, icc, solarisstudio
ОС: любая разновидность Linux.

Лабораторная работа №1Задачи Повторение/изучение языка Cи. Исследование эффективности средств автоматического распараллеливания.ОкружениеКомпиляторы: gcc, icc, solarisstudioОС: любая разновидность Linux.

Слайд 32Автоматический (компилятору подаётся ключ вида «распараллель всё сам»).
Полуавтоматический (распараллеливающие флаги

компилятора могут иметь параметры, которые программист должен установить).
Автоматизированный (ручное распараллеливание по

подсказкам профилировщика или статического анализатора кода).

Виды автоматического распараллеливания

Автоматический  (компилятору подаётся ключ вида «распараллель всё сам»).Полуавтоматический  (распараллеливающие флаги компилятора могут иметь параметры, которые

Слайд 33Возможно ошибочное изменение логики программы.
Возможно понижение скорости вместо повышения.
Отсутствие гибкости

ручного распараллеливания.
Эффективно распараллеливаются только циклы.
Невозможность распараллелить программы со сложным алгоритмом

работы.

Слабые стороны автоматического распараллеливания

Возможно ошибочное изменение логики программы.Возможно понижение скорости вместо повышения.Отсутствие гибкости ручного распараллеливания.Эффективно распараллеливаются только циклы.Невозможность распараллелить программы

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

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

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

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

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


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

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