34
данных может быть достигнута при использовании другого актуально-
го в настоящее время
способа построения параллельных компьюте-
ров –
многопроцессорных систем с общей памятью (
symmetric
multiprocessors – SMP), для которых взаимодействие процессоров
обеспечивается использованием общей памяти для хранения совмест-
но-обрабатываемых данных. Для унификации параллельных программ
для такого типа систем также предпринимаются попытки стандартиза-
ции; одним из основных результатов в этом направлении является
стандарт OpenMP – см., например, Chandra, R. аnd etc. (2000). Следу-
ет отметить, что системы с общей памятью имеют, как правило, огра-
ниченное количество процессоров (порядка нескольких десятков), что
определяет характер использования таких компьютеров от автономно
функционирующих быстродействующих рабочих станций до приме-
нения в качестве вычислительных серверов в высокопроизводитель-
ных кластерных системах.
4. Возможное решение по снижению трудоемкости разработки па-
раллельных алгоритмов и программ может состоять в разработке и в
последующем широком использовании
библиотек параллельных про-
грамм. Этот общепринятый в области разработки прикладного про-
граммного обеспечения подход позволяет согласовать два обычно не-
совместных требования – повысить качество создаваемых программ и
значительно снизить сложность программирования. В настоящее вре-
мя различными группами исследователей разработано большое коли-
чество библиотек, реализующих различные
методы для выполнения
научных и технических расчетов – среди основных обзоров данного
вопроса можно привести следующие информационные ресурсы сети
Интернет:
• http://parallel.ru/tech/tech_dev/par_libs.html;
• http://www.erc.msstate.edu/labs/hpcl/projects/mpi/tools_libraries.html;
• http://sal.kachinatech.com/C/3/index.shtml;
• http://www.mhpcc.edu/training/workshop/parallel_libs/MAIN.html и
др.
В числе широко используемого программного обеспечения:
• Библиотека параллельных программ ScaLAPACK (Scalable
LAPACK – http://www.netlib.org/scalapack) для решения систем
линейных уравнений, обращения матриц, поиска собственных
значений и др.
35
• Пакет параллельных процедур линейной алгебры PLAPACK
(Parallel Linear
Algebra Package
– http://www.cs.utexas.edu/users/
plapack) включает параллельные версии процедур решения систем
линейных уравнений с помощью LU и QR-разложений, разложе-
ния Холецкого и др.
Применимость подобного
крупно-модульного способа построения
параллельных программ при использовании стандартизованного сис-
темного программного обеспечения и типовых библиотек параллель-
ных вычислений полностью определяется эффективностью применяе-
мых программных средств. Необходимость предельного использова-
ния всех возможностей компьютерных систем для решения научно-
технических задач высокой вычислительной трудоемкости (а именно
для решения таких задач чаще всего требуется применение параллель-
ных вычислительных систем) ставит актуальную
проблему комплекс-
ного
анализа эффективности всей совокупности средств (алгоритмов,
программ и технологий), применяемых для параллельных вычислений.
На
проведение исследований в рамках данной значимой проблемы и
были направлены исследования, выполненные в Нижегородском уни-
верситете в последние годы (см., например, Гергель, Стронгин (2000,
2001)). В рамках выполненных работ были
исследованы вычислитель-
ные схемы основных алгоритмов, использованных в библиотеках на-
учных расчетов,
проведена оценка производительности таких схем на
многопроцессорных вычислительных системах кластерного типа и
Достарыңызбен бөлісу: