
- •Передмова
- •1. Технології побудови розподілених об’єктних систем
- •1.1. Розподілені об’єктні технології в інформаційних системах
- •1.2. Технології rmi, corba, dcom
- •1.2.1. Технологія corba
- •1.2.2. Технологія dcom
- •1.3. Переваги та недоліки використання технологій rmi, corba, dcom
- •1.4. Технологія corba
- •1.5. Контрольні питання
- •2. Паралельні обчислювальні системи та паралельні обчислення.
- •2.1. Побудова паралельних обчислювальних систем, аналіз і моделювання паралельних обчислень.
- •2.1.1. Класифікація обчислювальних систем.
- •1) Повний граф 2) Лінійка
- •3) Кільце 4) Зірка
- •2.1.2. Моделювання і аналіз паралельних обчислень
- •2.1.3. Навчальний приклад обчислення часткових сум послідовності числових значень
- •2.1.4. Оцінка максимально досяжного паралелізму
- •2.1.5. Аналіз масштабованості паралельних обчислень
- •2.2. Оцінка комунікаційної трудомісткості паралельних алгоритмів
- •2.3. Принципи розробки паралельних методів
- •2.4. Контрольні питання
- •3. Паралельне програмування на основі мрі
- •3.1. Мрі: основні поняття та означення
- •3.2. Вступ до розробки паралельних програм з використанням мрі
- •3.3. Управління групами процесів і комунікаторами.
- •3.4. Контрольні питання
- •Література
2.4. Контрольні питання
Що розуміється під поняттям "паралельні обчислення"?
Які основні типи кластерів використовуються в США?
Яким чином класифікуються обчислювальні системи за Флінном?
Які показники характеризують топології мережі даних?
В чому полягає сутність закону Амдаля?
В чому полягає сутність функціонального паралелізму?
3. Паралельне програмування на основі мрі
В обчислювальних системах з розподіленою пам’яттю процесори функціонують незалежно один від одного. Для організації паралельних обчислень в таких умовах необхідно мати можливість розподіляти обчислювальне навантаження та організувати інформаційну взаємодію (передачу даних) між процесорами. Рішення цих питань забезпечує інтерфейс передачі даних (message passing interface - MPI). В загальному плані, для розподілу обчислень між процесорами необхідно проаналізувати алгоритм розв’язку задачі, виділити інформаційні незалежні фрагменти обчислень, провести їх програмну реалізацію і потім розмістити отримані частини програми на різних процесорах. В рамках МРІ прийнятий простіший підхід - для рішення поставленої задачі розробляється одна програма, яка запускається одночасно на виконання на всіх наявних процесорах. Для уникнення ідентичності обчислень на різних процесорах, можна підставляти різні дані для програми на різних процесорах та використовувати наявні в МРІ засоби для ідентифікації процесора, на якому виконується програма (тим самим надається можливість організувати в обчисленнях в залежності від використовуваного програмою процесора). Такий спосіб організації паралельних обчислень отримав назву моделі "дона програма множина процесів" (single program multiple processes or SPMP).
Для організації інформаційної взаємодії між процесорами інформаційної взаємодії між процесорами в самому мінімальному варіанті достатньо операцій прийому і передачі даних(повинна існувати технічна можливість комунікації між процесорами - канали чи лінії зв’язку). В МРІ існує ціла множина операцій передачі даних, які забезпечують різні способи пересилання даних, реалізують практично всі раніше розглянуті комунікаційні операції. Саме ці можливості є найбільш сильною стороною МРІ. Намагання створення програмних засобів передачі даних між процесорами почали здійснюватись практично відразу з появою локальних комп’ютерних мереж. Проте ці засоби часто були часто незрозумілими і несумісними. Тобто одна з самих серйозних проблем в програмуванні - переносимість програм при переведенні програмного забезпечення на інші комп’ютерні системи - проявлялась при розробці паралельних програм в максимальному ступені. Як результат, вже з 90 - х років ХХ ст. стали вживатися заходи із стандартизації засобів організації передачі повідомлень в багатопроцесорних обчислювальних системах. Початком робіт, що призвели до появи МРІ, послужило проведення робочої наради із стандартів для передачі повідомлень в середовищі розподіленої пам’яті (the Workshop on Standards for Message Passing in a Distributed Memory Environment, Williamsburg, Virginia, USA, April 1992). За підсумками наради була утворена робоча група , пізніше перетворена в міжнародне товариство МРІ Forum, результатом діяльності якого було створення і прийняття в 1994 р. стандарту інтерфейсу передачі повідомлень (message passing interface - MP) версії 1.0. В наступні роки стандарт МРІ послідовно розвивався. В 1997 р. був прийнятий стандарт МРІ версії 2.0.
Тепер можна пояснити значення поняття МРІ. По-перше, МРІ - це стандарт, якому повинні задовольняти засоби організації передачі повідомлень. По-друге - це програмні засоби, які забезпечують можливості передачі повідомлень і при цьому відповідають всі вимогам стандарту МРІ. Так, за стандартом ці програмні засоби повинні бути організовані у вигляді бібліотек програмних функцій (бібліотека МРІ) і повинні бути доступними для найбільш використовуваних алгоритмічних мов С та Fortran. Подібну "двоїстість" МРІ слід враховувати при використанні термінології. Як правило, абревіатура МРІ застосовується при згадуванні стандарту, а сполучення "бібліотека МРІ" вказує ту чи іншу програмну реалізацію стандарту. Проте достатньо часто для скорочення позначення МРІ використовується для бібліотек МРІ, і, тим самим, для правильної інтерпретації терміну слід враховувати контекст.
Питання, пов’язані з розробкою паралельних програм з використанням МРІ, достатньо добре розглянутий в літературі. Наведемо ряд важливих позитивних обставин:
- МРІ дає змогу в значному ступені знизити гостроту проблеми перенесення паралельних програм між різними компонентами системи - паралельна програма, розроблена на алгоритмічній мові С чи Fortran з використанням бібліотеки МРІ, як правило, працюватиме на різних обчислювальних платформах;
- МРІ сприяє підвищенню ефективності паралельних обчислень, оскільки нині практично для кожного типу обчислювальних систем існують реалізації бібліотек МРІ, які в максимальному ступені враховують можливості комп’ютерного обладнання;
- МРІ зменшує складність розробки паралельних програм, оскільки більша частина раніше нами розглянутих основних операцій передачі даних передбачається стандартом МРІ, з іншого боку, вже є велика кількість бібліотек паралельних методів, створених з використанням МРІ.