task1 (практическая работа (1))
Описание файла
Файл "task1" внутри архива находится в папке "практическая работа (1)". PDF-файл из архива "практическая работа (1)", который расположен в категории "". Всё это находится в предмете "параллельное программирование для высокопроизводительных вычислительных систем" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Асирян Александр, 428 группаПостановка задачиРазработать параллельный алгоритм реализации операции широковещательной рассылкиданных, используя только функции точка-точка. Построить график зависимости временивыполнения программы для заданного файла от числа процессов.Описание алгоритмаВне зависимости от заданного root-процесса данные в первую очередь пересылаютсяпроцессу 0. Затем передача данных осуществляется по следующей схеме:root -> 00 -> 10 -> 21 -> 30 -> 41 -> 52 -> 63 -> 70 -> 81 -> 92 -> 103 -> 114 -> 125 -> 136 -> 147 -> 150 -> 16и т.д.При n процессах в коммуникаторе процесс 0 имеет A = ceil(log 2n) – 1 адресатов (ceil() –ближайшее целое сверху), каждый из которых имеет B = A – 1 адресатов и т.д.
Тем не менее,при расчете индекса адресата нужно проверять, не выходим ли мы за рамкикоммуникатора. Число адресатов передается через тег сообщения.Для передачи используется связка MPI_Isend/MPI_Recv. Отладочная информациявыводится при выставлении флага debug.У программы один входной параметр – размер сообщения.РезультатыРезультаты замерялись по 5 раз для каждой ячейки таблиц и усреднялись.РегаттаВремя, сMY_Bcast [N=sizeof(double)]0,10,090,080,070,060,050,040,030,020,01016 * N256 * N1024 * N8192 * N16384 * N32768 * N65536 * N-n=40,03222-n=60,0478810,0119260,052320,0109680,0515480,0453210,0470880,0591550,0499740,0110870,0343550,0299270,024325-n=80,0594150,0516830,0190010,0484480,0508240,0563760,043042-n=9-n=120,0125160,058860,0601070,0325780,0474680,0267220,0559430,0200580,0451640,0342380,0211370,0562680,0352050,041898-n=160,0387490,0599050,0651650,0561040,0317630,0419760,0707-n=12-n=16-n=4-n=6-n=8-n=9ВыводыРазмер файла не сильно влияет на время работы функции, но тем не менее заметно, чтозначения в столбце 65536 * N немного больше.
Так же видно, что пока алгоритм незадействует для передачи новый процесс, время выполнения примерно одинаковое, адальше увеличивается, что соответствует логике алгоритма..