- •Введение
- •1 Общая информация о mpj Экспресс
- •1.1 История создания mpj Экспресс
- •1.2 Представление mpj Экспресс
- •2. Коммуникации разделяемой памяти в mpj Экспресс
- •2.1 Связанные работы
- •2.2 Общие устройства памяти связи для mpj Экспресс
- •2.2.1 Потоки основного устройства mpj Экспресс
- •2.2.2 Устройство на базе SysV ipc
- •3 Установка и настройка mpj экспресс
- •3.1 Конфигурации
- •3.1.1 Многоядерная конфигурация
- •3.1.2 Конфигурации кластера
- •3.2 Настройка mpj Экспресс
- •3.3 Отладка mpj Экспресс
- •3.4 Проблемы которые могут возникнуть при работе с mpj Экспресс
- •4 Примеры программ с использованием mpj экспресс
- •Список использованой литературы
- •Приложение а
2. Коммуникации разделяемой памяти в mpj Экспресс
2.1 Связанные работы
В последнее десятилетие появились многие системы обмена сообщениями Java. Это показывает, интерес HPC сообщества для использования и разработки на Java крупномасштабных приложений.
Рисунок 2.1 - Структура MPJ экспресс
В основном есть три подхода для построения таких библиотек ;
1 использовать чистый Java;
2 полагаться на Java Native Interface ( JNI );
3 или использовать более высокую API обмена сообщениями, как Remote Method Invocation (RMI).
MpiJavа предоставляет полнофункциональный и эффективный объектно-ориентированный Java интерфейс к MPI. Уникальной особенностью этой библиотеки обмена сообщениями является то, что она может работать с любой из родных библиотек C MPI и таким образом имеет косвенную выгоду от совместно используемых устройств памяти в этих собственных библиотеках. MPJ/Ibis является реализацией спецификации MPJ API на вершине Ibis. Устройства связи, используемые MPJ / Ibis не поточно-ориентированные. MPJ / Ibis имеет связи устройства для java.io пакета, Java NIO пакета, и Myrinet пакета. Это программное обеспечение в настоящее время не обеспечивает устройство связи разделяемой памяти. Вместе с этим, ни одна из существующих системм обмена сообщениями Java не реализует общего коммуникационного устройства памяти . mpiJava уникален в этом контексте , потому что он может использовать общую устройство связи памяти родного библиотеки C MPI. С другой стороны, популярные библиотеки C MPI в том числе открытого MPI и MPICH2 обеспечивают высокую производительность устройства связи общейщая памяти на различных платформах . Открытая MPI является реализация качество продукциис открытым исходным кодом как MPI -1 и MPI -2. Открыть MPI является слиянием LAM / MPI, LA- MPI, и FT- MPI. Он полностью поддерживает одновременное и многопоточное приложение. Открытый MPI включает в себя признаки потокобезопасности и параллелизма, высокой производительностью на всех платформах портативный и обслуживании, на основе компонентов дизайна и документирования API. [3,c 634]
Рисунок 2.2 - Существующий Intra-узлы коммуникационного дизайна
MPICH2 является еще одной реализацией MPI. MPICH2 предназначен для реализации MPI на SMP - кластерах и массовых параллельных процессорах. Библиотека MPICH2 предоставляет разнообразные разделяемые библиотеки коммуникации памяти, в том числе ch3: ГИМ, CH3: SSM и CH3: sshm. Кроме того, MPICH2 имеет коммуникационную подсистему под названием Nemesis. Уникальным аспектом является использование безблокировочных очередей в этой подсистеме, что повышает масштабируемость и увеличиваетсякак количество процессоров или ядер.
2.2 Общие устройства памяти связи для mpj Экспресс
В настоящее время программное обеспечение MPJ Экспресс не обеспечивает разделяемое устройство связи памяти. Пользователи программного обеспечения полагаются на Java NIO и Myrinet устройства для процессора при общения внутри узла. Этот вид связи, как правило, включает в себя петлю назад от сетевой карты - это изображено на рисунке 2. В идеале связь между процессорами или ядрами в рамках одного узла должна быть сделана через шину памяти вместо сетевой карты . Это изображено на рисунке 3 и составляет основу двух реализаций, описанных в данном разделе. Оба общих коммуникационных устройства памяти реализауют слой XDEV устройства, как показано на рисунке1 . Слой устройства XDEV только определяет блокирующие и неблокирующий методы точка - точка связи. Расширенные MPI функции, включая функции коллективного общения, производных типов, и виртуальные топологии реализуются на более высоких уровнях программного обеспечения MPJ Express. В этом разделе мы сначала рассмотрим темы на основе устройство связи в общей памяти. Это сопровождается обсуждением реализации библиотеки SysV IPC в XDEV слое.
Рисунок 2.3 - Оптимизированная конструкция связи внутри узла