ці професором університету Еморі р Атланта Vaidy Sunderman і лабораторією Oak Ridge National Laboratory. Перший реліз був запущений в березні 1991. Комплекс PVM забезпечує роботу паралельних програм в гетерогенних (різнорідних) обчислювальних середовищах. PVM об'єднує безліч різнорідних обчислювальних вузлів в один величезний ресурс. В системі можливе створення додатків як типу SPMD (одна паралельна програма - багато потоків даних), так і типу MPMD (багато паралельних програм - багато потоків даних). Вона сумісна з додатками, написаними на різних мовах програмування (наприклад, С.С ++. Fortran) і коректно перетворює дані при передачі їх між вузлами різної архітектури. PVM спочатку є відкритою і вільно поширюваної системою.
Головними принципами побудови бібліотеки PVM є:
. Програма-додаток виконується на декількох компьютеpax в мережі, заданих користувачем. При цьому однопроцесорні і багатопроцесорні комп'ютери можуть використовуватися в кластері PVM (включаючи комп'ютери із загальною і розподіленою пам'яттю). Користувач може додавати або видаляти окремі комп'ютери в кластер PVM під час виконання програми без порушення функціонування.
. Необмежений контроль апаратного забезпечення. У програмі-додатку можливо визначити атрибути даного процесора. При необхідності подзадача може бути розміщена на конкретному процесорі або система розподілу обчислювального навантаження автоматично помістить задачу на найбільш підходящому процесорі.
. Процес-орієнтовані обчислення. Одиницею паралелізму в PVM є подпроцесс, що виконується паралельно. Подпроцесс може обмінюватися даними з іншими підпроцесами. Розмір переданих даних між підпроцесами обмежений тільки об'ємом доступної пам'яті.
. Підтримка гетерогенних обчислень. Бібліотека PVM підтримує гетерогенні апаратні платформи, мережі і програми-додатки. Можливо передавати повідомлення, що містять кілька типів даних, які будуть приведені до машинно-орієнтованої формі.
. Підтримка багатопроцесорної обробки. Бібліотека PVM підтримує існуючий механізм передачі повідомлень і в багатопроцесорних комп'ютерах. Середа розробки PVM складається з двох частин. Перша включає в себе спеціальну програму daemon, відповідальну за включення даного комп'ютера в паралельну віртуальну машину, засоби запуску завдань і підзадач, розподілу завантаження процесорів, передачі повідомлень та додавання (виключення) процесорів у віртуальній машині. Друга частина складається з набору підпрограм, що забезпечує повний перелік функцій для запуску підпроцесів і обміну даних між ними.
Система PVM складається з двох частин. Перша частина - це «демон» під назвою pvmd3 - часто скорочується як pvmd - який встановлюється на всі комп'ютери, що створюють віртуальну машину (прикладом програми демона може бути поштова програма, що виконується у фоновому режимі і обробна всю вхідну і вихідну пошту комп'ютера). Розроблено pvmd3 таким чином, щоб будь-який користувач з достовірним логіном міг інсталювати його на машину. Коли користувач бажає запустити додаток PVM, він насамперед створює кластер. Після чого додаток PVM може бути запущено з будь-якого UNIX-терміналу на будь-якому з хостів. Кілька користувачів можуть конфігурувати перекриваються віртуальні машини, кожен користувач може послідовно запустити кілька додатків PVM.
Друга частина системи - це бібліотека підпрограм інтерфейсу PVM. Вона містить функціонально повний набір примітивів, які необхідні для взаємодії між завданнями програми. Ця бібліотека містить викликаються користувачем підпрограми для обміну повідомленнями, породження процесів, координування завдань і модифікації віртуальної машини.
РОЗДІЛ 2. ОРГАНІЗАЦІЯ паралельних обчислень
2.1 ОПИС обородуванія І ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
бібліотека паралелізм програмний кластер
Кластер включає в себе всього 2 комп'ютера: Acer Aspire 5755G, Samsung NP300V5A. Комп'ютери мають ідентичні технічні характеристики.
Технічні характеристики Acer Aspire 5755G і Samsung NP300V5A:
· Процесор - Intel Core i5 2410M 2,3 ГГц;
· Оперативна пам'ять - 4096 Мб. DDR3;
· Мережевий адаптер - 10/100 Мбіт/сек.
Використовуване програмне забезпечення:
· Red Hat Linux 6.5
· Компілятор: GCC (GNU Compiler Collection) v.4.4.7
· Інтерфейс управління кластером: консоль PVM 3.4.6, GNU bash, version 3.2.48.
Ця конфігурація програмного забезпечення кластерної системи дозволяє використовувати пропускну спроможність мережевого інтерфейсу з максимальною швидк...