Навігація
Головна
 
Головна arrow Інформатика arrow Архітектура ЕОМ і систем
< Попередня   ЗМІСТ   Наступна >

ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ PVM

Пакет PVM дозволяє реалізувати віртуальну машину паралельної дії (Parallel Virtual Machine - PVM). Пакет складається з двох частин-.

  • • з бібліотеки, що викликається користувачем;
  • • з "сторожового" процесу, який працює постійно на кожній машині в мультікомпьютере.

При запуску системи програма PVM за допомогою конфігураційного файлу визначає машини, які повинні бути частиною її віртуального мультікомпьютера. На кожній з цих машин запускається "сторожовий" процес. Шляхом введення команд на консолі PVM можна змінювати (додавати або прибирати) кількість машин. За допомогою команди

spawn -cont n prog

запускається n паралельних процесів. У цьому випадку кожен процес запускає свою програму prog. Пакет PVM вирішує, куди помістити процеси, однак за допомогою аргументів команди spawn користувач здатний підміняти їх. Викликавши процедуру pvm_spawn, можна запустити процес з працюючого процесу. Процеси можуть бути організовані в групи, причому склад груп може змінюватися під час виконання програми.

Організація взаємодії. Кожен процес PVM в кожен момент часу має по одному активному пересильних і приймального буфера. Взаємодія машин здійснюється за допомогою примітивів для передачі повідомлень.

Відправник повідомлення викликає:

  • • бібліотечні процедури для компонування повідомлення, при цьому складається опис величин повідомлення, щоб одержувач міг дізнатися їх і перетворити в вихідний формат, після чого повідомлення поміщається в активний пересильний буфер;
  • • бібліотечну процедуру pvmsend , яка представляє собою блокуючий сигнал send.

Одержувач може вчинити по-різному. Він може викликати:

  • • процедуру pvm_recv, яка блокує одержувача до приходу відповідного повідомлення. Коли виклик повернеться, повідомлення буде знаходитися в активному приймальному буфері. Воно може бути Розпаковано і перетворено у відповідний для даної машини формат за допомогою набору розпаковувати процедур;
  • • процедуру pvm trecv, яка блокує одержувача на певний проміжок часу, і, якщо відповідного повідомлення за цей час не настав, він знімає блокування. Ця процедура необхідна для того, щоб не заблокувати процес назавжди;
  • • процедуру pvmnrecv, яка відразу ж повертає значення в вигляді повідомлення або вказівки на відсутність повідомлень. Виклик можна повторювати, щоб опитувати вхідні повідомлення.

Окрім наведених вище процедур існують інші бібліотечні процедури:

  • • процедура pvm_bcast - підтримує широкомовлення, тобто відправляє повідомлення всім процесам в групі;
  • • процедура pvm_mcast - підтримує мультівещанія, тобто посилає повідомлення тільки деяким процесам, що входять в певний список;
  • • процедура pvm_barrier - здійснює синхронізацію між процесами. Коли процес викликає цю процедуру, він блокується до тих пір, поки певна кількість інших процесів не досягне бар'єру і вони не викличуть цю ж процедуру;
  • • процедури для управління головною обчислювальною машиною, групами машин, буферами, передачею сигналів, перевіркою стану і т.д.

Пакет PVM є в багатьох комп'ютерах паралельної дії.

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук