якобовский - введение в параллельное программирование (1)
1. Курс : Введение в параллельные алгоритмы Якобовский Михаил Владимирович д.ф.-м.н., зав. сектором , Институт математического моделирования РАН , Москва
103. Сравнение алгоритмов сортировки Алгоритм сортировки Среднее число операций М аксимальное число операций Быстрая ( 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)
132. Сравнение алгоритмов сортировки Алгоритм сортировки Среднее число операций Пирамидальная O( n log 2 n) Слияние O( n log 2 n) Параллельная сортировка методом сдваивани я. Объём данных ограничен оперативной памятью вычислительного узла Параллельная четно-нечетная сортировка Объём данных ограничен общей оперативной памятью Параллельная «обменная сортировка со слиянием»
133. Слияние упорядоченных фрагментов 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]
Человек ненасытен. Какой бы высокой производительностью ни обладала система с одним процессором, две такие системы в сумме могут выполнять в единицу времени больший объём вычислений.
В рамках предлагаемого курса будут рассмотрены возможности создания параллельных алгоритмов только для систем первых двух видов. Будут рассмотрены возможности построения алгоритмов описываемых в терминах множества взаимодействующих последовательных процессов, если речь идет о системах с распределенной памятью, или потоков, если о системах с общей памятью. Такая постановка сильно сужает круг рассматриваемых алгоритмов, но не настолько, что бы их изучение потеряло смысл. Остается более чем достаточно возможностей построения быстрых алгоритмов и проблем, осложняющих жизнь. Можно условно обозначить некоторые возможности, потенциально предоставляемые многопроцессорными системами для решения некоторой Задачи: Сокращение времени решения Задачи; - Возможность решения задачи с большей точностью; - Возможность решения Задачи в уточнённой, более подробной постановке