Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
58
Добавлен:
26.03.2015
Размер:
16.24 Mб
Скачать

Mpi: глобальные операции, барьеры Синхронизация процессов в mpi происходит посредством единственной функции

int MPI_Barrier( MPI_Comm comm)

  • comm - идентификатор группы

Блокирует работу процессов, вызвавших данную процедуру, до тех пор, пока все оставшиеся процессы группы comm также не выполнят эту процедуру. Только после того как последний процесс коммуникатора выполнит данную функцию, все процессы будут разблокированы и продолжат выполнение дальше. Данная функция является коллективной. Все процессы должны вызвать MPI_Barrier, хотя реально исполненные вызовы различными процессами коммуникатора могут быть расположены в различных местах программы.

Несмотря на то, что MPIсодержит значительное множество функций, ориентированных на работу с коммуникаторами и группами процессов, мы не будем останавливаться на данном разделе. Представленная функциональность позволяет сравнить состав групп, определить их пересечение, объединение, добавить процессы в группу, удалить процессы из группы и т д. В качестве примера приведем образование новых групп из уже существующих

int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm)

Comm-идентификатор соотв коммуникатора

Color – признак разделения на группы.

Key – параметр, определяющий нумерацию в новых группах

OUT newcomm – идентификатор нового коммуникатора

Данная процедура разбивает все множество процессов, входящих в группу comm на непересекающиеся подгруппы – одну подгруппу в каждое значение параметра color(неотрицат целое). Каждая подгруппа содержит процессы с равным параметром color. Всем процессам подгруппы будет возвращено одно и то же значение newcomm. Параметр key определяет нумерацию в новой подгруппе. Например надо разделить все процессы на 2 подгруппы. В качестве color можно взять My_id%2, которое равно либо 1 либо 0. Все процессы с четными номерами попадаут в одну группу, а с нечетными – в другую.

int MPI_Comm_free(MPI_Comm comm)

OUT comm-идентификатор коммуникатора.

Уничтожает коммуникатор, ассоциированный с comm, которы после возвращения станет MPI_COMM_NULL.

Вопрос №31

Метакомпьютер и метакомпьютинг. Отличительные свойства метакомпьютеров.

Термин метакомпьютинг возник вместе с развитием высокоскоростной сетевой инфраструктуры в начале 90-х годов и относился к объединению нескольких разнородных вычислительных ресурсов в локальной сети организации для решения одной задачи. Основная цель построения мета-компьютера в то время заключалась в оптимальном распределении частей работы по вычислительным системам различной архитектуры и различной мощности.

В дальнейшем, исследования в области технологий мета-компьютинга были развиты в сторону однородного доступа к вычислительным ресурсам большого числа (вплоть до нескольких тысяч) компьютеров в локальной или глобальной сети. Компонентами "мета-компьютера" могут быть как простейшие ПК, так и мощные массивно-параллельные системы. Что важно, мета-компьютер может не иметь постоянной конфигурации - отдельные компоненты могут включаться в его конфигурацию или отключаться от нее; при этом технологии мета-компьютинга обеспечивают непрерывное функционирование системы в целом. Современные исследовательские проекты в этой области направлены на обеспечение прозрачного доступа пользователей через Интернет к необходимым распределенным вычислительным ресурсам, а также прозрачного подключения простаивающих вычислительных систем к мета-компьютерам.

Очевидно, что наилучшим образом для решения на мета-компьютерах подходят задачи переборного и поискового типа, где вычислительные узлы практически не взамодействуют друг с другом и основную часть работы производят в автономном режиме. Основная схема работы в этом случае примерно такая: специальный агент, расположенный на вычислительном узле (компьютере пользователя), определяет факт простоя этого компьютера, соединяется с управляющим узлом мета-компьютера и получает от него очередную порцию работы (область в пространстве перебора). По окончании счета по данной порции вычислительный узел передает обратно отчет о фактически проделанном переборе или сигнал о достижении цели поиска.

Отличительные черты метакомпьютера

-обладает огромными ресурсами

-является распределенным

-может динамически менять свою конфигурацию

-неоднороден, т.е. различная архитектура частей, различные опер сист. И т п

-объединяет ресурсы различных организаций(у каждой организации своя политика администрирования).

"Distributed.net"

http://www.distributed.net/.

Одно из самых больших объединений пользователей Интернет, предоставляющих свои компьютеры для решения крупных переборных задач. Основные проекты связаны с задачами взлома шифров (RSA Challenges). В частности, 19 января 1999 года была решена предложенная RSA Data Security задача расшифровки фразы, закодированной с помощью шифра DES-III. В настоящее время в distributed.net идет работа по расшифровке фразы, закодированной с 64-битным ключом (RC5-64).

GIMPS - Great Internet Mersenne Prime Search

http://www.mersenne.org/

Поиск простых чисел Мерсенна (т.е. простых чисел вида 2P-1). С начала проекта было найдено 4 таких простых числа. Организация Electronic Frontier Foundation предлагает приз в $100 тыс. за нахождение простого числа Мерсенна с числом цифр 10 млн.

SETI@home

http://setiathome.ssl.berkeley.edu/

Проект SETI@home (Search for Extraterrestrial Intelligence) - поиск внеземных цивилизаций с помощью распределенной обработки данных, поступающих с радиотелескопа. Присоединится может любой желающий. Доступны клиентские программы для Windows, Mac, UNIX, OS/2 (клиент Windows срабатывает в качестве screen-saver'а). Для участия в проекте зарегистрировались около 3 миллионов человек.

Вопрос №32

Соседние файлы в папке Параллельные Процессы и Параллельное Программирование