Практична робота іспиту на здобуття освітнього рівня Бакалавра комп’ютерної інженерії студента гр. КІТ-14а, НТУ “ХПІ” Драча Артема Дмитровича.
Тема роботи: “Розробка програмної документації щодо виконання паралельних програм збору та розподілення даних”
РЕФЕРАТ
Розроблена програма призначена бути прикладом при вивченні роботи паралельних програм, що використовують функції збору даних від усіх процесів. Програма може бути застосована в учбових цілях під час вивчення предмету «Паралельне програмування».
Для виконання завдання приписано було використати одну з версій бібліотеки для паралельного програмування MPICH. На наш розсуд було випробувано один із останніх пакетів другої версії бібліотеки: mpich2-1.0.5-win32-ia32.msi. У якості робочого середовища вибрана MS Visual Studio 2005 в ОС Windows XP. Програма також може бути збудована в програмному середовищі Linux (тестовано на дистрибутиві openSUSE 10.3) з використанням компілятора із пакету GCC 4.x.
Після огляду мережевих ресурсів і робіт попередніх виконавців було зроблено вибір не використовувати застарілу бібліотеку MPICH-1, що не має розвитку в сьогоднішні дні. В противагу, релізні версії MPICH-2 публікуються часто: http://www.mcs.anl.gov/research/projects/mpich2/. Але треба зауважити, що можливостей старої бібліотеки достатньо для виконання завдання.
Під час виконання роботи було запропоновано методику встановлення пакету MPICH, налаштування на декількох машинах, конфігурації IDE, тестування розробленої програми.
Метою моделювання є демонстрація ефективності роботи програми розрахунку скалярного множення двох векторів, оптимізованої для виконання на декількох процесорах.
Документи, що було задано розробити: методична вказівка, специфікація, технічне завдання, пояснювальна записка, документ з текстом програми.
Технічні рішення. Робоча програма копіюється на усі машини, що мають приймати участь в спільному обчисленні даних. На кожній машині встановлюється демон SMPD (програмний сервіс, що виконується за лаштунками), він налаштовується таким чином, щоб машини “бачили” одна одну в локальній мережі і мали змогу спільно обчислювати дані. Вказаний демон виконує роль менеджера посередника в розрахунковому процесі. Програма використовую API бібліотеки MPICH для ініціалізації процесу (MPI_Init), широкомовленневого посилання даних (MPI_Bcast), посилання/прийому даних від загального “світового” комунікатора (MPI_Send/MPI_Recv), збору даних від усіх процесів та розсилка даних назад усім процесам (MPI_Allreduce).
В ході роботи були використані наступні джерела:
1. Калашніков В. І. “Паралельне програмування”, Харків, 2004;
2. Інтернет ресурс www.intuit.ru, а саме методична вказівка по роботі з бібліотекою.
3. Вихідні програмні тексти, що є додатком до книги Peter Pacheco, "Parallel Programming with MPI"; вони стали основою для розробки програми.
Робота мала дослідницький характер, результатом якої є робочий приклад паралельної програми і вказівка для налаштування середовища.
Під час розробки для тестування паралельних властивостей програми використовувалися один стаціонарний десктоп і один ноутбук, що були з’єднані кабелем витої пари (перехресне з’єднання). На кожному комп’ютері в ОС був зроблений спільний акаунтний запис. Використовувалися вже вказані вище продукти Microsoft. В локальному режимі (ключ -localonly) була апробована Linux система. Встановлення бібліотеки, налаштування і демонстрація результатів проводилися в комп’ютерному залі, де кожному студентові було надано по дві машини.
В остаточному підсумку було запропоновано методична вказівка і робоча програма приклад для тих, хто освоює курс паралельного програмування.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.