Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_курс2.docx
Скачиваний:
17
Добавлен:
07.02.2016
Размер:
511.77 Кб
Скачать

2.2.2 Устройство на базе SysV ipc

Библиотека SysV IPC является С разделяемой API для связи с использованием памяти для систем на базе UNIX.Устройство с разделяемой памятью связи для библиотеки MPJ Экспресс является реализацией XDEV, которое использует библиотеку SysV IPC. JNI API используется для вызова C подпрограммы из Java кода. Эти процедуры включают shmge(), shmat(), shmdt() и shmctl().

Первая операция поддерживается любым устройством связи, и она называется фазой инициализации. В этой операции, все процессы обмениваются своими идентихикаторами и создают локальную таблицу индексов. Слой XDEV устройства заставляет все реализации использовать объект объекта java.util. UUID как идентификатор - этот процесс является 128-битный, номер разделен на 64 бит младших бита ( МЗБ ) и 64 бит старших бита (MSB ) . Во время стадии инициализации, каждый процесс также создает сегмент разделяемой памяти, которые используются для передачи данных с другими процессами. Процесс использует свой собственный ранг, целое число, чтобы получить ссылку на зарезервированной сегмент разделяемой памяти. Общее количество сегментов разделяемой памяти в каждом процессе равно общему количеству процессов одного сегмента зарезервированного для связи с конкретным процессом.

Другие важные операции, осуществляемые этим устройством, могут включать в себя отправку и получение сообщений. Для отправки сообщения, процесс отправитель впервые приобретает сегмент разделяемой памяти, используя собственный чин и звание процесса назначения. После получчения ссылки на зарезервированной сегмент, процесс отправитель копирует данные на нем. Далее этот процес будет прочитан процессом приемника. На рисунке 2.7 показана область разделяемой памяти, которая разделена на четыре подраздела по одному для каждого процесса. На рисунке показано, что процесс отправитель написанного сообщения на первом подразделе памяти.

Рисунок 2.7 - Отправитель процесс записи Messageson Общая память

Аналогичным образом процесс приемник получает адрес памяти сегмента зарезервированного в общей памяти с использованием номера процесса. После того, как ссылка на сегменте разделяемой памяти была приобретена , процесс приемник читает данные из этой области памяти. Это изображено на рисунке.2.8 К концу параллельные приложения обычно выполняют метод финализации, который поддерживается этим устройством связи. На этом этапе устройство отделяет и освобождает все сегменты общей памяти.

Рисунок 2.8 - Приемник процесс чтения сообщений на общей памяти

3 Установка и настройка mpj экспресс

3.1 Конфигурации

Программное обеспечение MPJ Экспресс может быть настроена для работы на кластере состоящем из несколько компютеров либо же на ноутбуке или персональном компьютере который имеет многоядерный процессор.

3.1.1 Многоядерная конфигурация

Многоядерная конфигурация мредназначена для пользователей собирающихся разрабатывать и выполнять параллельные приложения Java с помощью MPJ экспресс на своих персональных компютерах или ноутбуках. Как правило, на современных компютерах уже не используются одноядерные процессоры, а используются многоядерные процессоры с разделяемой памятью. В такой конфигурации ПК, пользователи могут оставлять свои сообщения проходящему параллельному приложению с использованием MPJ экспресс и тогда они будут автоматически перенесены на многоядерные процессоры. Важно что, пользователь разработав приложение на своем ПК, может взять тот же код и перенести его для выполнения задачи на распределенных платформах, включая и кластеры. Также эта конфигурация очень хорошо подходит для обучения, так как студенты смогут самостоятельно запустить приложения на ПК и ноутбуках. Библиотека MPJ Экспресс начинается с одного потока представляющего процесс MPI. Устройство связи на многоядерных ПК использует эффективный межпоточный механизм. [4,c 870]

Рисунок 3.1 - MPJ Экспресс многоядерной конфигурации

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]