Топ питань
Часова шкала
Чат
Перспективи
MPICH
З Вікіпедії, вільної енциклопедії
Remove ads
MPICH (MPI Chameleon) — безкоштовна реалізація MPI яка підтримує роботу на великому числі платформ із різними комунікаційними інтерфейсами, у тому числі і з TCP/IP. Створена в Арагонській національній лабораторії (США). Існують версії цієї бібліотеки для всіх популярних операційних систем.
Remove ads
- повна сумісність зі специфікацією MPI-1;
- наявність інтерфейсу в стилі MPI-2 з функціями для мови C++ зі специфікації MPI-1;
- наявність інтерфейсу з процедурами мови FORTRAN-77/90;
- є реалізація для Windows NT (несумісна з UNIX-реалізацією);
- підтримка великого числа архітектур, у тому числі кластерів, SMP тощо;
- часткова підтримка MPI-2;
- часткова підтримка паралельного вводу-виводу — ROMIO;
- наявність засобів трасування і протоколювання (SLOG-based);
- наявність засобів візуалізації продуктивності паралельних програм (upshot і jumpshot);
- наявність у складі MPICH тестів продуктивності і перевірки функціонування системи.
Недоліки MPICH — неможливість запуску процесів під час роботи програми і відсутність засобів моніторингу поточного стану системи.
До складу MPICH входять бібліотечні і заголовні файли, що реалізують біля сотні підпрограм.
Remove ads
Узагальнити
Перспектива
Розглянемо MPICH для Windows яка містить в собі такі компоненти :
- Менеджер процесів
smpd.exe, який представляє собою системну службу (сервісну програму). Менеджер процесів веде список обчислювальних вузлів системи, і запускає на цих вузлах MPI-програми, надаючи ним необхідну інформацію для роботи і обміну повідомленнями. - Заголовні файли (
.h) і бібліотеки стадії компіляції (.lib), необхідні для розробки MPI-програм. - Бібліотеки часу виконання (DLL), необхідні для роботи MPI-програм.
- Додаткові утиліти (
.exe), необхідні для налаштування MPICH і запуску MPI-програм.
Менеджер процесів є основним компонентом, який повинен бути встановлений і налаштований на всіх комп'ютерах мережі. Інші файли потрібні для розробки MPI-програм і налаштування «головного» комп'ютера, з якого буде виконуватися їх запуск.
Менеджер працює у фоновому режимі і чекає на запит до його з мережі з боку «головного» менеджера процесів (типово використовується мережевий порт 8676). Для захисту від хакерів і вірусів, менеджер просить пароль при зверненні до нього. Коли один менеджер процесів звертається до іншого менеджера процесів, він передає йому свій пароль. Звідси слідує, що потрібно вказувати один і той самий пароль при встановленні MPICH на комп'ютери мережі.
MPI-програма працює таким чином :
- Програма запускається і ініціалізує бібліотеку часу виконання MPICH шляхом виклику функції
MPI_Init. - Бібліотека отримує від менеджера процесів інформацію про кількість і розташування інших процесів програми, і встановлює з ними зв'язок.
- Після цього запущені копії програми можуть обмінюватися один з одним інформацією за допомогою бібліотеки MPICH. З точки зору операційної системи бібліотека є частиною програми, тому можна вважати що запущені копії MPI-програми обмінюються даними напряму одна з одною.
- Консольний ввід-вивід всіх процесів MPI-програми перенаправляються на консоль, на якій запущена Mpirun. Перенаправленням вводу-виводу займаються менеджери процесів, так як вони запустили копії MPI-програми, і тому можуть отримати доступ до потоків введення-виведення програм.
- Перед завершенням всі процеси викликають функцію
MPI_Finalize, яка коректно завершує передавання і отримання всіх повідомлень, і відключає MPICH.
Всі описані вище принципи діють, навіть якщо MPI-програму запущено на одному комп'ютері.
Remove ads
Див. також
- Open MPI[en] — інша популярна реалізація MPI з відкритим кодом.
Джерела
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads