ВУЗ:
Составители:
ные обмены заданы явно с использованием специальных процедур, аналогичных
средствам MPI.
Языки программирования и компиляторы на кластере
Никаких специализированных параллельных компиляторов для многопроцес-
сорных кластеров пока не существует. Фирмы-разработчики языков программиро-
вания отстали от электронщиков. Крупнейшие мировые корпорации Cray, IBM и Sun
сейчас усиленно разрабатывают новые языки (Chapel, X10, Fortress), предназначен-
ные для эффективного параллельного программирования многоядерных, многопро-
цессорных, распределенных вычислительных систем.
Пока же используются обычные оптимизирующие компиляторы языков Си и
Фортран – GNU, Intel или другие, умеющие создавать исполняемые программы для
ОС Linux. Как правило, для компиляции параллельных MPI-программ используются
специальные скрипты (mpicc, mpif77, mpif90 и др.), которые являются надстройками
над имеющимися компиляторами и позволяют подключать необходимые библиоте-
ки.
Хранение данных пользователей
Все узлы кластера имеют доступ к общей файловой системе, находящейся на
файл-сервере. То есть файл может быть создан, например, на головной машине или
на каком-то узле, а затем прочитан под тем же именем на другом узле. Запись в
один файл одновременно с разных узлов невозможна, но запись в разные файлы
возможна. Кроме общей файловой системы, локальные диски имеются на каждом
узле кластера. Они могут использоваться программами для хранения временных
файлов. После окончания (точнее, непосредственно перед завершением) работы
программы эти файлы должны удаляться.
Варианты использования возможностей кластера
Существует несколько способов задействовать вычислительные мощности кла-
стера.
1. Запускать множество однопроцессорных задач. Это может быть разумным ва-
риантом, если нужно провести множество независимых вычислительных экспери-
ментов с разными входными данными, причем срок проведения каждого отдельного
расчета не имеет значения, а все данные размещаются в объеме памяти, доступном
одному процессу.
2. Запускать готовые параллельные программы. Для некоторых задач доступны
бесплатные или коммерческие параллельные программы, которые при необходимо-
сти Вы можете использовать на кластере. Как правило, для этого достаточно, чтобы
программа была доступна в исходных текстах, реализована с использованием ин-
терфейса MPI (message passing interface) на языках С/C++ или Фортран. Примеры
свободно распространяемых параллельных программ, реализованных с помощью
MPI: GAMESS-US (квантовая химия), POVRay-MPI (трассировка лучей).
3. Вызывать в своих программах параллельные библиотеки. Также для некото-
рых областей, таких как линейная алгебра, доступны библиотеки, которые позволя-
218
Страницы
- « первая
- ‹ предыдущая
- …
- 217
- 218
- 219
- 220
- 221
- …
- следующая ›
- последняя »