Р. Г. Стронгина. Ниж- ний Новгород: Изд-во Нижегородского университета, 2002, 217 с



Pdf көрінісі
бет78/151
Дата26.01.2022
өлшемі1,64 Mb.
#24342
түріСеминар
1   ...   74   75   76   77   78   79   80   81   ...   151
OpenMP на 32bit Linux (RH7.1)
(перемножение синусов)
1,91
1,92
1,93
1,94
1,95
1,96
1,97
1,98
1,99
2
100
200
250
300
350
400
450
500
Размер задачи
Коэфф

 ускорени
я
 
Рис. 3. Ускорение измененной версии программы 
 
Введение  промежуточной  переменной,  в  которой  накапливаются 
значения  скалярного  произведения  двух  участков  матриц,  также  сни-
жает число обращений к памяти, что также ведет к увеличению произ-
водительности. 
Многопотоковое  программирование  с  использованием OpenMP 
приобретает новое значение с началом применения технологии Hyper-
Threading (Jackson technology) [3] в  новейших  моделях  процессоров. 
OpenMP, в отличие от явного, трудоемкого и чреватого ошибками за-
дания потоков, позволяет эффективно использовать возможности, пре-
доставляемые Hyper-Threading. 
В  результате  анализа  полученных  данных  можно  заключить,  что 
при  организации  параллельных  вычислений  на  многопроцессорных 
системах  с  общей  памятью  более  эффективным  является  использова-
ние технологии разработки с использованием возможностей OpenMP. 
Подобный вывод, в свою очередь, позволяет сформулировать предло-
жение  о  целесообразности  применения  гибридной  технологии  разра-
ботки параллельных программ на кластерах, при которой для органи-
зации взаимодействия между узлами вычислительной системы исполь-
зуются  средства MPI, а  на  узлах  с  общей  памятью  применяется 
OpenMP.  


102 
Для оценки подобного подхода были выполнены вычислительные 
эксперименты  с  использованием  двух 2-процессорных  серверов  кла-
стера.  Для  организации  параллельных  вычислений  были  разработаны 
два варианта программ для ленточного алгоритма перемножения мат-
риц: 
•  программа  с  использованием  только  интерфейса  передачи  сооб-
щений MPI; при выполнении экспериментов эта программа запус-
калась с генерацией 4 параллельных процессов (по два процесса на 
каждый двухпроцессорный сервер); 
•  программа с использованием интерфейса MPI и средств распарал-
леливания OpenMP; при  выполнении  этого  варианта  программы 
порождались 2 параллельных  процесса  (по  одному  процессу  на 
каждый  двухпроцессорный  сервер),  далее  на  каждом  сервере  для 
процессов средствами OpenMP создавались два параллельных по-
тока (по одному на каждый процессор). 


Достарыңызбен бөлісу:
1   ...   74   75   76   77   78   79   80   81   ...   151




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет