SlideShare uma empresa Scribd logo
1 de 141
Курс :    Введение в параллельные алгоритмы Якобовский Михаил Владимирович д.ф.-м.н., зав. сектором ,   Институт математического моделирования РАН , Москва
Содержание ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object], из  N
Постановка проблемы ,[object Object],[object Object],[object Object],[object Object], из  N
Введение ,[object Object],[object Object],[object Object]
Кризис эффективности ,[object Object],[object Object],[object Object],[object Object]
Кризис эффективности ,[object Object],[object Object],[object Object]
Уточнение круга рассматриваемых систем ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Многопроцессорные системы с распределенной памятью
Многопроцессорные системы с общей памятью
Гибридные вычислительные системы сеть
Уточнение круга рассматриваемых алгоритмов ,[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Модель программы на распределенной памяти 0 1 2
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Модель программы на общей памяти
Свойства канала передачи данных T(n)=n * T байта + T латентности Число передаваемых байт Infiniband
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Методы передачи данных
[object Object],[object Object],[object Object],Синхронный  ,[object Object],[object Object],[object Object],Send Recv Print(B) A=5 B=4 A=3 Результат 3
[object Object],[object Object],[object Object],Асинхронные  ,[object Object],[object Object],[object Object],Send ASend Recv ARecv Print(B) A=5 B=4 A=3 Результат 3  ? 4  ? 5
[object Object],[object Object],[object Object],[object Object],Асинхронные  ,[object Object],[object Object],[object Object],ASync Send ASend Recv ARecv Print(B) A=5 B=4 A=3 Результат 3  ? 4
[object Object],[object Object],[object Object],[object Object],Асинхронные  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ASync Send ASend ASync Recv ARecv Print(B) A=5 A=3 B=4
[object Object],[object Object],[object Object],Асинхронные   буферизованные  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Send(&buf) ABSend ASync Recv ARecv Print(B) A=5 buf=A A=3 B=4
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Семафор ,[object Object]
[object Object],[object Object],[object Object],[object Object],Ускорение и эффективность параллельных алгоритмов Ускорение параллельного алгоритма относительно наилучшего последовательного S * (p)=T  *  /T(p) E  * (p)=S  * (p)/p эффективность использования  процессорной мощности E(p)=S(p)/p
[object Object],[object Object],[object Object],Может ли быть  S ( p ) >p  ?
[object Object],[object Object],[object Object],[object Object],Может ли неэффективный алгоритм работать быстрее эффективного?
[object Object],[object Object],Определить сумму конечного ряда
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Последовательный алгоритм T 1 =   3n  с
Параллельный алгоритм ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],x i
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],16 !
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12 !
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],14 !
Параллельный алгоритм ,[object Object],[object Object],[object Object],[object Object],2
[object Object],Ускорение и эффективность   при  p=n 2 1.5 1.5
Методы построения параллельных алгоритмов ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Огласите весь список, пожалуйста!  «Напарник», Леонид Гайдай
[object Object],[object Object],[object Object],[object Object],Хороший параллельный алгоритм большим большим числом
[object Object],[object Object],[object Object],[object Object],[object Object],Накладные расходы
[object Object],[object Object],Обмен данными
[object Object],[object Object],Синхронизация
[object Object],[object Object],[object Object],[object Object],Дублирование операций S=0; For(i=n1;i<n;i++) S+=a[i]; Send(S) Recv(S1) Recv(S2) S=S1+S2
Новые операции F=1; for(i=2;i   <= n;i ++ ) F*=i; Вычисление всех факториалов   до  8!  включительно Шаг Процессор 1  Процессор 2 Процессор 3 Процессор 4 1 1  2 3  4 5  6 7  8 2 12  3 12  34 56  7 56  78 3 1234  5 1234  56 1234  567 1234  5678
Новые операции 1 2 4 3 8 5 9 11 6 7 12 10 Шаг Процессор 1  Процессор 2 Процессор 3 Процессор 4 1 1  2 3  4 5  6 7  8 2 12  3 12  34 56  7 56  78 3 1234  5 1234  56 1234  567 1234  5678 Шаг Процессор 1  Процессор 2 Процессор 3 Процессор 4 1 2! 3  4 5  6 7  8 2 3! 4! 56  7 56  78 3 5! 6! 7! 8!
[object Object],[object Object],Метод сдваивания
Стена Фокса n   – ширина стены к   – высота стены
Одномерная разностная схема для уравнения диффузии
Решение одномерного уравнения на 9 моментов времени
Метод геометрического параллелизма
А почему? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],0 1 2 3 4 5  =<   >= =<   >= =<   >= =<   >= =<  >=
? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],0 1 2 3 4 5  =<   >= =<   >= =<   >= =<   >= =<  >=
? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
? 0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
! 0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
! 0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
! 0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
! 0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
! 0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
! 0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
! 0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
! 0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
! 0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
! 0 1 2 3 4 5 =<   =<  >=  =<  >=  =<  >=  =<  >=  >=
! 0 1 2 3 4 5 =<   >= =<  =<   >=  >= =<  =<   >=  >=
! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Метод коллективного решения (укладка паркета)
Метод коллективного решения (укладка паркета) Число порций Обработка порции Обмен данными r  –  размер порции
r  –  размер порции Как правильно? или Зависит ли время передачи данных от размера порции (задания)?
[object Object],Вычисление определенного интеграла a i a i +1
Метод конвейерного параллелизма ? Время выполнения на  p  процессорах
Метод конвейерного параллелизма
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Диффузная балансировка
Стена Фокса Какой объем работ забрать у среднего процессора и кому его передать?
Метод геометрического параллелизма
Метод геометрического параллелизма
Диффузная балансировка загрузки
Диффузная балансировка загрузки
Диффузная балансировка загрузки
Статическое распределение
Постановка задачи диффузной балансировки ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Планирование нагрузки
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Балансировка и алгоритмы
Крылья, ноги и хвосты. Гостелерадио, «Экран», 1985.
Общая схема вычислений ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Определение суммы двух многоразрядных чисел T 1 =   4n  с
«Параллельный» алгоритм Последовательное распространение разряда переноса на четырёх процессорах 99 99 99 99 1 1 00 1 00 1 00 100 100 00 00 00
? Параллельный  алгоритм «  »
[object Object],Спекулятивный алгоритм 99 99 99 99 1 99 99 99 100 +0 100 1 00 1 00 +1 100 00 00 00
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Спекулятивный алгоритм T’=   8n 1  с
[object Object],Спекулятивный алгоритм 99 99 99 99 1 99 99 99 100 +0 100 1 00 1 00 +1 100 00 00 00
[object Object],[object Object],Две задачи сортировки массива чисел
[object Object],Задача А
Пузырьковая сортировка
Сортировка сдваиванием
Сортировка сдваиванием
Вывод ,[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Задача  B
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Задача  B
[object Object],[object Object],[object Object],Задача  B
Что необходимо превзойти ,[object Object],[object Object],[object Object]
[object Object],[object Object],Этапы сортировки
[object Object],Конструирование наилучшего последовательного алгоритма
Сравнение алгоритмов сортировки Алгоритм  сортировки Среднее  число операций М аксимальное  число операций Быстрая ( qsort ) 11.7  n  log 2 n O(n  2 ) Пирамидальная ( hsort ) 16  n  log 2 n 18  n  log 2  n + 38 n Слияние списков ( lsort ) 10   n  log 2 n O(n  log 2 n)
Пусть  f(N) <C∙ g(N) ,  ну  и  что ? ,[object Object],f(N) f(N) g(N) g(N)
Константа времени сортировки  T= 10 -9 K N log 2 (N)
Пирамидальная   сортировка: константы времени и числа операций T= 10 -9 K n log 2 (n) M= 10 -9 R n log 2 (n) ,[object Object],[object Object],[object Object]
Константа времени сортировки   наилучшего алгоритма
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Изящный   алгоритм сортировки массива слиянием
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Алгоритм сортировки массива слиянием
Слияние упорядоченных фрагментов ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],Сортировка слиянием методом сдваивания Для просмотра анимации возможно требуется установить свободно распространяемый  Swiff Point Player :  http://www.globfx.com/products/swfpoint/
[object Object],Слияние двух массивов двумя процессорами
Ускорение при методе сдваивания ,[object Object]
 
До 10 ^ 5   пирамидальная,  после - слияние
До 10 ^ 5   пирамидальная после – слияние  упорядоченных фрагментов
 
 
[object Object],[object Object],Две задачи сортировки массива чисел
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Задача  B
[object Object],[object Object],[object Object],Задача  B
[object Object],[object Object],Этапы сортировки
[object Object],Стратегия перераспределения данных между процессорами
Сеть сортировки (пузырёк)  n= 6  s = 2n-3=9
Пузырьковая сортировка
Сеть сортировки (пузырёк)  n= 6  s = 2n-3=9
Сеть сортировки четно-нечетные перестановки  n= 6  s = n= 6
Минимальная сеть сортировки  n= 6  s=5
Минимальные сети сортировки ,[object Object],n=6 s=5 n=10 s=7 n=9 s=8 n=12 s=8 n=16 s=9
Обменная сортировка со слиянием 8ми элементов
Сортировка блоков ОДИНАКОВОГО РАЗМЕРА
Сравнение алгоритмов сортировки Алгоритм  сортировки Среднее  число операций Пирамидальная O( n  log 2 n) Слияние O( n  log 2 n) Параллельная сортировка  методом  сдваивани я. Объём данных ограничен оперативной памятью вычислительного узла Параллельная четно-нечетная сортировка Объём данных ограничен общей оперативной памятью  Параллельная «обменная сортировка со слиянием»
Слияние упорядоченных фрагментов for(ia=0,ib=0,k=0; k<n ;k++)  { if(ia>=n1) c[k]=b[ib++]; else if(ib>=n2) c[k]=a[ia++]; else if(a[ia]<b[ib]) c[k]=a[ia++]; else   c[k]=b[ib++]; } //  n –  число элементов в каждом из массивов  a,b rank1 ,  a[n] rank2,   b[n]
Слияние упорядоченных фрагментов Join(int *a, int *b, int *c, int n,rank1,rank2) { if(rank==rank1) for(ia=0,ib=0,k=0;k<n;)  { if(a[ia]<b[ib]) c[k++]=a[ia++]; else   c[k++]=b[ib++]; } else for(ia=n-1,ib=n-1,k=n-1;k>=0;)  { if(a[ia]>b[ib]) c[k--]=a[ia--]; else   c[k--]=b[ib--]; } } rank1 rank2
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Реализация компаратора слияния
n=10 8 P T, сек E S E max S max s p 1 83.51 100.00% 1.00 100% 1.0 0 2 46.40 90.00% 1.80 100% 2.0 1 3 35.9 3 77.48% 2.32 95% 2.8 3 4 29.6 8 70.35% 2.81 96% 3.9 3 5 24.4 5 68.33% 3.42 91% 4.5 5 6 22.16 62.80% 3.77 92% 5.5 5 7 21.82 54.67% 3.83 89% 6.2 6 8 19.95 52.32% 4.19 90% 7.2 6 16 12.36 42.22% 6.75 82% 13.1 10 27 9.3 2 33.20% 8.97 74% 20.0 14 32 7.85 33.24% 10.64 73% 23.3 15 48 6.45 26.97% 12.95 66% 31.9 19 64 4.9 2 26.53% 16.98 64% 40.9 21 128 3.19 20.47% 26.20 56% 71.5 28 192 2.52 17.29% 33.19 51% 98.2 33 256 1.99 16.41% 42.02 49% 124.6 36 384 1.63 13.33% 51.20 49% 187.0 41 512 1.29 12.64% 64.74 42% 217.4 45 640 1.21 10.78% 69.02 41% 264.7 47
[object Object],[object Object],[object Object],Заключение
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Список литературы
Литература…   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Литература ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],Авторы

Mais conteúdo relacionado

Mais procurados

Программирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмовПрограммирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмовAndrey Dolinin
 
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Alexey Paznikov
 
Вечный вопрос измерения времени
Вечный вопрос измерения времениВечный вопрос измерения времени
Вечный вопрос измерения времениTatyanazaxarova
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...Alexey Paznikov
 
ПВТ - весна 2015 - Лекция 0. Описание курса
ПВТ - весна 2015 - Лекция 0. Описание курсаПВТ - весна 2015 - Лекция 0. Описание курса
ПВТ - весна 2015 - Лекция 0. Описание курсаAlexey Paznikov
 
ПВТ - весна 2015 - Лекция 2. POSIX Threads. Основные понятия многопоточного п...
ПВТ - весна 2015 - Лекция 2. POSIX Threads. Основные понятия многопоточного п...ПВТ - весна 2015 - Лекция 2. POSIX Threads. Основные понятия многопоточного п...
ПВТ - весна 2015 - Лекция 2. POSIX Threads. Основные понятия многопоточного п...Alexey Paznikov
 
ТФРВС - весна 2014 - лекция 10
ТФРВС - весна 2014 - лекция 10ТФРВС - весна 2014 - лекция 10
ТФРВС - весна 2014 - лекция 10Alexey Paznikov
 
ПВТ - весна 2015 - Лекция 6. Разработка параллельных структур данных на основ...
ПВТ - весна 2015 - Лекция 6. Разработка параллельных структур данных на основ...ПВТ - весна 2015 - Лекция 6. Разработка параллельных структур данных на основ...
ПВТ - весна 2015 - Лекция 6. Разработка параллельных структур данных на основ...Alexey Paznikov
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPMikhail Kurnosov
 
Лекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистикиЛекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистикиsimple_people
 
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...Mikhail Kurnosov
 
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...Alexey Paznikov
 
Урок 24. Фантомные ошибки
Урок 24. Фантомные ошибкиУрок 24. Фантомные ошибки
Урок 24. Фантомные ошибкиTatyanazaxarova
 
Лекция 11 Приближенные алгоритмы
Лекция 11 Приближенные алгоритмыЛекция 11 Приближенные алгоритмы
Лекция 11 Приближенные алгоритмыsimple_people
 
Параллельные алгоритмы обработки данных
Параллельные алгоритмы обработки данныхПараллельные алгоритмы обработки данных
Параллельные алгоритмы обработки данныхSergey Vasilyev
 

Mais procurados (20)

Программирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмовПрограммирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмов
 
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
 
Вечный вопрос измерения времени
Вечный вопрос измерения времениВечный вопрос измерения времени
Вечный вопрос измерения времени
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
 
ПВТ - весна 2015 - Лекция 0. Описание курса
ПВТ - весна 2015 - Лекция 0. Описание курсаПВТ - весна 2015 - Лекция 0. Описание курса
ПВТ - весна 2015 - Лекция 0. Описание курса
 
8 2-4-1
8 2-4-18 2-4-1
8 2-4-1
 
ПВТ - весна 2015 - Лекция 2. POSIX Threads. Основные понятия многопоточного п...
ПВТ - весна 2015 - Лекция 2. POSIX Threads. Основные понятия многопоточного п...ПВТ - весна 2015 - Лекция 2. POSIX Threads. Основные понятия многопоточного п...
ПВТ - весна 2015 - Лекция 2. POSIX Threads. Основные понятия многопоточного п...
 
ТФРВС - весна 2014 - лекция 10
ТФРВС - весна 2014 - лекция 10ТФРВС - весна 2014 - лекция 10
ТФРВС - весна 2014 - лекция 10
 
ПВТ - весна 2015 - Лекция 6. Разработка параллельных структур данных на основ...
ПВТ - весна 2015 - Лекция 6. Разработка параллельных структур данных на основ...ПВТ - весна 2015 - Лекция 6. Разработка параллельных структур данных на основ...
ПВТ - весна 2015 - Лекция 6. Разработка параллельных структур данных на основ...
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
 
Лекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистикиЛекция 2 Сортировки, поиск и порядковые статистики
Лекция 2 Сортировки, поиск и порядковые статистики
 
8 2-4-3
8 2-4-38 2-4-3
8 2-4-3
 
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...
 
01 вводная
01 вводная01 вводная
01 вводная
 
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...
ПВТ - весна 2015 - Лекция 3. Реентерабельность. Сигналы. Локальные данные пот...
 
Python
PythonPython
Python
 
Урок 24. Фантомные ошибки
Урок 24. Фантомные ошибкиУрок 24. Фантомные ошибки
Урок 24. Фантомные ошибки
 
Лекция 11 Приближенные алгоритмы
Лекция 11 Приближенные алгоритмыЛекция 11 Приближенные алгоритмы
Лекция 11 Приближенные алгоритмы
 
условия, подпрограммы
условия, подпрограммыусловия, подпрограммы
условия, подпрограммы
 
Параллельные алгоритмы обработки данных
Параллельные алгоритмы обработки данныхПараллельные алгоритмы обработки данных
Параллельные алгоритмы обработки данных
 

Semelhante a якобовский - введение в параллельное программирование (1)

Обработка приватных данных на публичных вычислительных сетях
Обработка приватных данных на публичных вычислительных сетяхОбработка приватных данных на публичных вычислительных сетях
Обработка приватных данных на публичных вычислительных сетяхDmitry Protopopov
 
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...Mikhail Kurnosov
 
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Mikhail Kurnosov
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1Michael Karpov
 
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисления
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисленияПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисления
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисленияAlexey Paznikov
 
Лекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовЛекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовMikhail Kurnosov
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPMikhail Kurnosov
 
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...Alexey Paznikov
 
практика 5
практика 5практика 5
практика 5student_kai
 
задания части С олейник
задания части С олейникзадания части С олейник
задания части С олейникprojekt92
 
задания с олейник
задания с олейникзадания с олейник
задания с олейникguest1a21938
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поискFedor Tsarev
 
алгоритмы конспект урока игры
алгоритмы конспект урока игрыалгоритмы конспект урока игры
алгоритмы конспект урока игрыGala Timofeeva
 

Semelhante a якобовский - введение в параллельное программирование (1) (20)

Обработка приватных данных на публичных вычислительных сетях
Обработка приватных данных на публичных вычислительных сетяхОбработка приватных данных на публичных вычислительных сетях
Обработка приватных данных на публичных вычислительных сетях
 
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...
 
Введение в алгоритмы и структуры данных
Введение в алгоритмы и структуры данныхВведение в алгоритмы и структуры данных
Введение в алгоритмы и структуры данных
 
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1
 
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисления
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисленияПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисления
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисления
 
Лекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовЛекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмов
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
 
Основы SciPy
Основы SciPyОсновы SciPy
Основы SciPy
 
Parallel STL
Parallel STLParallel STL
Parallel STL
 
лекция 11
лекция 11лекция 11
лекция 11
 
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...
 
практика 5
практика 5практика 5
практика 5
 
задания части С олейник
задания части С олейникзадания части С олейник
задания части С олейник
 
задания с олейник
задания с олейникзадания с олейник
задания с олейник
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поиск
 
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
 
лекция 1
лекция 1лекция 1
лекция 1
 
алгоритмы конспект урока игры
алгоритмы конспект урока игрыалгоритмы конспект урока игры
алгоритмы конспект урока игры
 
8
88
8
 

Mais de Michael Karpov

EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...Michael Karpov
 
Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)Michael Karpov
 
Save Africa: NASA hackathon 2016
Save Africa: NASA hackathon 2016 Save Africa: NASA hackathon 2016
Save Africa: NASA hackathon 2016 Michael Karpov
 
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014) Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014) Michael Karpov
 
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...Michael Karpov
 
Поговорим про ошибки (Sumit)
Поговорим про ошибки (Sumit)Поговорим про ошибки (Sumit)
Поговорим про ошибки (Sumit)Michael Karpov
 
(2niversity) проектная работа tips&tricks
(2niversity) проектная работа   tips&tricks(2niversity) проектная работа   tips&tricks
(2niversity) проектная работа tips&tricksMichael Karpov
 
"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012Michael Karpov
 
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиковMichael Karpov
 
Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)Michael Karpov
 
Как мы готовим продукты
Как мы готовим продуктыКак мы готовим продукты
Как мы готовим продуктыMichael Karpov
 
Hpc Visualization with WebGL
Hpc Visualization with WebGLHpc Visualization with WebGL
Hpc Visualization with WebGLMichael Karpov
 
Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)Michael Karpov
 
сбор требований с помощью Innovation games
сбор требований с помощью Innovation gamesсбор требований с помощью Innovation games
сбор требований с помощью Innovation gamesMichael Karpov
 
Зачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile командеЗачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile командеMichael Karpov
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile командеMichael Karpov
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile командеMichael Karpov
 
Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010Michael Karpov
 

Mais de Michael Karpov (20)

EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
 
Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)
 
Save Africa: NASA hackathon 2016
Save Africa: NASA hackathon 2016 Save Africa: NASA hackathon 2016
Save Africa: NASA hackathon 2016
 
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014) Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
 
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
 
Поговорим про ошибки (Sumit)
Поговорим про ошибки (Sumit)Поговорим про ошибки (Sumit)
Поговорим про ошибки (Sumit)
 
(2niversity) проектная работа tips&tricks
(2niversity) проектная работа   tips&tricks(2niversity) проектная работа   tips&tricks
(2niversity) проектная работа tips&tricks
 
"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012
 
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
 
Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)
 
Как мы готовим продукты
Как мы готовим продуктыКак мы готовим продукты
Как мы готовим продукты
 
Hpc Visualization with WebGL
Hpc Visualization with WebGLHpc Visualization with WebGL
Hpc Visualization with WebGL
 
Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)
 
сбор требований с помощью Innovation games
сбор требований с помощью Innovation gamesсбор требований с помощью Innovation games
сбор требований с помощью Innovation games
 
Зачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile командеЗачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile команде
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
 
HPC Visualization
HPC VisualizationHPC Visualization
HPC Visualization
 
Hpc Visualization
Hpc VisualizationHpc Visualization
Hpc Visualization
 
Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010
 

якобовский - введение в параллельное программирование (1)

Notas do Editor

  1. Человек ненасытен. Какой бы высокой производительностью ни обладала система с одним процессором, две такие системы в сумме могут выполнять в единицу времени больший объём вычислений.
  2. В рамках предлагаемого курса будут рассмотрены возможности создания параллельных алгоритмов только для систем первых двух видов. Будут рассмотрены возможности построения алгоритмов описываемых в терминах множества взаимодействующих последовательных процессов, если речь идет о системах с распределенной памятью, или потоков, если о системах с общей памятью. Такая постановка сильно сужает круг рассматриваемых алгоритмов, но не настолько, что бы их изучение потеряло смысл. Остается более чем достаточно возможностей построения быстрых алгоритмов и проблем, осложняющих жизнь. Можно условно обозначить некоторые возможности, потенциально предоставляемые многопроцессорными системами для решения некоторой Задачи: Сокращение времени решения Задачи; - Возможность решения задачи с большей точностью; - Возможность решения Задачи в уточнённой, более подробной постановке