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


РАЗРАБОТКА ПАРАЛЛЕЛЬНЫХ ПРОГРАММ ДЛЯ



Pdf көрінісі
бет60/151
Дата26.01.2022
өлшемі1,64 Mb.
#24342
түріСеминар
1   ...   56   57   58   59   60   61   62   63   ...   151
РАЗРАБОТКА ПАРАЛЛЕЛЬНЫХ ПРОГРАММ ДЛЯ 
ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ
*
 
В.А. Крюков 
Институт прикладной математики им. М.В. Келдыша РАН, г.Москва 
1. Введение
 
Последние  годы  во  всем  мире  происходит  бурное  внедрение  вы-
числительных  кластеров.  Это вызвано тем, что кластеры стали обще-
доступными  и  дешевыми  аппаратными  платформами  для  высокопро-
изводительных  вычислений.  Поскольку  единого  определения  вычис-
лительного  кластера  не  существует,  для  упрощения  дальнейшего  из-
ложения  введем  некоторую  классификацию,  которая  будет  отражать 
свойства  программно-аппаратной  платформы,  существенные  с  точки 
зрения разработки прикладных параллельных программ.
 
Вычислительный  кластер – это  мулътикомпьютер,  состоящий  из 
множества  отдельных  компьютеров  (узлов),  связанных  между  собой 
единой  коммуникационной  системой.  Каждый  узел  имеет  свою  ло-
кальную оперативную память. При этом общей физической оператив-
ной памяти для узлов не существует. Каждый узел может быть муль-
типроцессором  (мультипроцессорный  компьютер  с  общей  памятью). 
Коммуникационная  система  обычно  позволяет  узлам  взаимодейство-
вать  между  собой  только  посредством  передачи сообщений, но неко-
торые системы могут обеспечивать и односторонние коммуникации –
 позволять любому узлу выполнять массовый обмен информацией ме-
жду своей памятью и локальной памятью любого другого узла.
 
                                                           
*
  Работа  поддержана  Российским  фондом  фундаментальных  исследований, 
грант № 99-01-00209 


84 
Если  на  вычислительном  кластере  аппаратно  или  программно-
аппаратно 
реализована DSM (Distributed Shared Memory 

 распределенная общая память), позволяющая выполняющимся на раз-
ных  узлах  программам  (любым,  даже  ассемблерным)  взаимодейство-
вать через общие переменные, то такой кластер будем называть DSM-
кластер. Если такая DSM отсутствует, и прикладные программы взаи-
модействуют  посредством  передачи  сообщений,  то  вычислительный 
кластер будем называть DM-кластер (DM – Distributed Memory).
 
Если все входящие в состав вычислительного кластера узлы имеют 
одну и ту же архитектуру и производительность, то мы имеем дело с 
однородным вычислительным кластером. Иначе – с неоднородным.
 
Неоднородность же вносит следующие серьезные проблемы.
 
Различие  в  производительности  процессоров  требует  соответст-
вующего учета при распределении работы между процессами, выпол-
няющимися на разных процессорах.
 
Различие  в  архитектуре  процессоров  требует  подготовки  разных 
выполняемых  файлов  для  разных  узлов,  а  в  случае  различий  в  пред-
ставлении данных может потребоваться и преобразование информации 
при  передаче  сообщений  между  узлами  (не  говоря  уже  о  трудностях 
использования двоичных файлов). Если существуют различия в пред-
ставлении данных, то построение неоднородного DSM-кластера пред-
ставляется просто невозможной.
 
Тем  не  менее,  любой  кластер  можно  рассматривать  как  единую 
аппаратно-программную систему, имеющую единую коммуникацион-
ную систему, единый центр управления и планирования загрузки.
 
С 1992 года,  когда  мультикомпьютеры  стали  самыми  производи-
тельными  вычислительными  системами,  резко  возрос  интерес  к  про-
блеме  разработки  для  них  параллельных  прикладных  программ.  К 
этому моменту уже было ясно, что трудоемкость разработки приклад-
ных программ для многопроцессорных систем с распределенной памя-
тью является главным препятствием для их широкого внедрения.
 
За  прошедший  с  тех  пор  период  предложено  много  различных 
подходов к разработке параллельных программ, созданы десятки раз-
личных  языков  параллельного  программирования  и  множество  раз-
личных  инструментальных  средств.  Среди  них  можно  отметить  сле-
дующие  интересные  отечественные  разработки – Норма,  Фортран-
GNS, Фортран-DVM, mpC, Т-система.
 


 
85 
Целью  данной  работы  является  сравнительный  анализ  пяти  раз-
личных подходов к разработке параллельных программ для вычисли-
тельных  кластеров  и  сетей – MPI,  HPF,  OpenMP,  OpenMP+MPI  и 
DVM.
 
Предпочтительность  использования  того  или  иного  подхода 
определяют следующие факторы:
 
• 
Легкость программирования;
 
• 
Эффективность разработанных программ;
 
• 
Переносимость и повторное использование программ;
 
• 
Качество  средств  отладки  программ  (функциональной  отладки  и 
отладки рективности).
 
Именно с этих позиций анализируются указанные подходы в дан-
ной работе.
 


Достарыңызбен бөлісу:
1   ...   56   57   58   59   60   61   62   63   ...   151




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

    Басты бет