Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1_pdc_tern_final.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
635.9 Кб
Скачать

1.5 Структура апаратних та системних програмних засобів

Доступ до обчислювальних ресурсів паралельного комп’ютера (науково-дослідної лабораторії Тернопільського державного економічного університету) відбувається з робочого місця (РМ) через локальну мережу.

Характеристики паралельної - системи:

-        кількість процесорів: 2 центральних процесора

-        пам’ять: 64 MB DRAM

-        дисковий накопичувач: 40 GB

-        підтримка стандартів паралельного програмування: Message Passing

-        операційна система: ASP Linux OS 9.2 (Siberia)

До системних програмних засобів відноситься усе програмне забезпечення, що дозволяє системі функціонувати.

Існує кілька засобів копіювання даних між віддаленими системами, але частіше використовуються ftp. При використанні ftp на комп’ютери встановлюються ftp-сервер (ftpd) та ftp-клієнт (ftp). Клієнтська програма ініціює зв’язок з сервером та отримає від нього дозвіл на роботу з файловими даними на серверу (читання/запис).

Для операцій упорядковування даних використовуються класичні команди системи UNIX (mkdir, cp, rm і т.д.), дивіться Додаток 1.

Для  одержання можливості виконати якусь команду на віддаленій системі необхідно спочатку підключитись та війти до системи. Це може бути здійснене завдяки використанню особливих програмних засобів у Windows: telneat або pytty та у Linux - ssh. Telneat та pytty дозволяють виконати повний вхід на віддалену систему, як на локальну, а ssh – запускає командну оболонку на віддаленій системі з шифруванням сесії. Telnet вимагає наявності на віддаленій системі telnet- сервера (telnetd), а  ssh – ssh- сервера (sshd).

До засобів побудови програмного забезпечення відносяться компілятори C/C++, з підтримкою MPI (команди mpicc, mpiCC, mpirun).

Команди управління процесами у Linux-середовищі наведено у Додатку 2.

2. Хід роботи

    1. Уважно ознайомтеся із теоретичною частиною лабораторної роботи.

    1. Перевірте у каталозі C:\temp\ комп’ютера, за яким ви працюєте, наявність каталогу Telneat та програми Putty. Якщо немає такого каталогу, то Вам необхідно скопіювати його з файлового сервера. Для цього зайдіть у меню Пуск->Виконати… (Start->Run…) і у вікні що з'явиться наберіть адресу: \\192.168.212.11 натисніть ОК.

Перейдіть у каталог \\192.168.212.11\Predmety\PDC\tools та скопіюйте каталог Telnet, програми putty.exe та winscp356.exe. Його необхідно скопіювати у каталог С:\Temp\, для цього потрібно натиснути праву клавішу мишки над каталогом чи файлом і у меню, що з’явиться на екрані, вибрати Копіювати (Copy). У каталозі C:\temp\ викликаємо контекстне меню і вибираємо пункт Вставити.

    1. Тепер запускаємо програму telneat.exe з каталогу Telnet. У вікні програми необхідно натиснути комбінацію клавіш <Alt+A>, щоб з’явилося запрошення ввести адресу віддаленого комп’ютера. Вводимо 192.168.212.12 і натискаємо Enter. Вводимо ім’я користувача – st <Enter>, та пароль – st <Enter>. Ви опинитесь у домашньому каталозі користувача /home/st (команда pwd виводить текуче положення у файловій системі).

Доступні клавіші при роботі з програмою:

ALT-A - перейти в консоль відкриття сесії (вона автоматично відкривається при запуску)

ALT-T - включити/вимкнути список сесій внизу екрану

ALT-X - закрити поточну консоль

Alt-Fn - перейти в консоль n

ALT-N - перейти в наступну консоль

ALT-P - перейти в попередню консоль

ScrollLock - включити/вимкнути прокрутку (під час прокрутки можна

використовувати стрілки, PgUp, PgDn)

ShiftIns - вставити текст з буфера обміну

    1. Щоб проглянути вміст каталогу введіть команду ls. Зайдіть у каталог work (команда cd work) і перегляньте його (команда ls). Створіть у ньому каталог, ім’ям якого буде ваше прізвище (mkdir Ваше_прізвище). Зайдіть у цей каталог (cd Ваше_прізвище). Створіть у ньому ще один каталог lab1 (mkdir lab1) і зайдіть у нього (cd lab1).

Примітка:

Детальну інформацію по командах операційної системи Лінукс можна отримати ввівши

<ім’я команди> --help | less

Буде виведена довідка, клавіші зі стрілками „вгору” і „вниз” служать для прокрутки, вихід з довідки клавіша q

    1. Розглянемо просту паралельну програму з використанням МРІ, у якій кожен паралельний процес виводитиме на екран свій номер та загальну кількість процесів. Cтворити новий файл з іменем prg1.c (команда >prg1.c). Тепер запустимо менеджер файлів Midnight Commander командою mc.

Редагування

Щоб редагувати створений файл виділяємо його стрічковим курсором (стрілками вверх/вниз) і натискаємо F4. У вікні потрібно ввести код програми представлений у додатку 3.

Після вводу натискаємо F2, щоб зберегти програму і клавішу ESC для виходу з редактора.

Відкомпілюйте програму prg1.c

Компіляція та запуск

Приклад компілювання програми:

mpicc -o prg1 prg1.c

Приклад виконання:

mpirun -np 2 prg1

де 2 – це кількість паралельних процесів

Отже, дана програма виведе кількість паралельних процесів, номер кожного процесу та ім’я кожного процесора.

    1. Тепер скопіюйте код готової програми (команда cp), що виконуватиметься на паралельному комп’ютері, для цього в командній стрічці введіть:

cp /home/st/labs/lab1/* /home/st/work/ваше прізвище/lab1/

Відкомпілюйте та виконайте програму prg2.c з каталогу /home/st/work/ваше прізвище/lab1/

Запускайте програму prg2 на двох процесорах. Змініть код програми (див. вище Редагування), ввівши замість тексту Hello, MPI своє прізвище латинськими літерами, відкомпілюйте її і запустіть знову (див. вище Компіляція та запуск). Занотуйте результат виконання програми у звіт.

Код програми наведено у додатку 4.

    1. Для того, щоб переглянути завантаженість віддаленого сервера можна скористатися програмою top. Виконайте її. Проаналізуйте та занотуйте у звіт стан сервера. Чи завантажені процесори у даний момент часу і на скільки відсотків. Вихід з програми top – клавіша q

Команда top відображає стан процесів і їх активність "в реальному режимі часу". На малюнку нижче зображено вікно терміналу, в якому виконується програма top.

  • USER - ім'я власника процесу;

  • PID - ідентифікатор процесу в системі;

  • PPID - ідентифікатор батьківського процесу;

  • %CPU - частка часу центрального процесора (у відсотках), виділеного даному процесу;

  • %MEM - частка реальної пам'яті (у відсотках), використовувана даним процесом;

  • RSS - розмір резидентного набору (кількість 1K-страниц в пам'яті);

  • STAT - статус процесу;

  • PRI - пріоритет планування;

  • NI - значення стартового пріоритету;

  • TIME - скільки часу центрального процесора зайняв даний процес;

  • COMMAND - командний рядок запуску програми, виконуваної даним процесом;

Як бачите, у верхній частині вікна відображається астрономічний час, час, що пройшов з моменту запуску системи, число користувачів в системі, число запущених процесів і число процесів, що знаходяться в різних станах, дані про використання ЦП, пам'яті і файлу підкачки. А далі йде таблиця, що характеризує окремі процеси. Число рядків, що відображаються в цій таблиці, визначається розміром вікна: скільки рядків поміщається, стільки і виводиться. Вміст вікна обновляється кожні 5 секунд. Список процесів може бути відсортований по використовуваному часу ЦП (за умовчанням), по використанню пам'яті, по PID, за часом виконання. Перемикати режими відображення можна за допомогою команд, які програма top сприймає. Це наступні команди (просто натискайте відповідні клавіші, тільки з урахуванням регістра, тобто разом з клавішею Shift):

· <Shift>+<N> - сортування по PID;

· <Shift>+<A> - сортувати процеси по віку;

· <Shift>+<P> - сортувати процеси по використанню ЦП;

· <Shift>+<M> - сортувати процеси по використанню пам'яті;

· <Shift>+<T> - сортування за часом виконання.

    1. Відкомпілюйте та виконайте програму prg4.c з каталогу /home/st/work/ваше прізвище/lab1/

Дана програма виконує три вкладені цикли і розпаралелює верхній цикл. Запустіть програму prg4 на одному, двох, трьох чи більше процесорах. При цьому Вам необхідно ввести своє прізвище (латинськими літерами) та кількість ітерацій верхнього циклу, для цього використайте свій порядковий номер у списку журналу групи. Час виконання циклів, що виводитиметься програмою при різній кількості процесів буде різним. Проаналізуйте та занотуйте у звіт отримані результати, зокрема час роботи програми на одному, двох, чотирьох чи більше процесорах, що необхідно оформити у вигляді таблиці. Базуючись на отриманих значеннях часу виконання паралельної програми потрібно намалювати графік залежності прискорення розпаралелення програми від кількості процесорів паралельної машини. Наприклад:

Код програми наведено у додатку 5.

Для того, щоб побачити як ваша програма завантажує сервер (коли працюють один чи обидва процесори) скористайтеся командою top, для цього запустіть ще одну копію програми Telneat.exe і увійшовши на сервер, виконайте команду top. Проаналізуйте завантаженість сервера процесами.

    1. Запустіть програму Putty та зайдіть на віддалений комп’ютер (192.168.212.12).

Тепер скопіюйте код готової програми (команда cp), що містить функції профілювання. Після компілювання цієї програми, яка визначає значення числа Пі, буде створено логфайл роботи програми. Щоб скопіювати, в командній стрічці введіть:

cp /home/st/mpich-1.2.2/mpe/contrib/test/cpilog.c /home/st/work/ваше прізвище/lab1/

Буде скопійована програма cpilog.c у ваш робочий каталог. Відкомпілюйте її з використанням ключів, що вказують на використання бібліотек МРЕ:

mpicc -o cpilog cpilog.c –llmpe –lmpe –lm

тут ключі –llmpe –lmpe вказують на використання бібліотек МРЕ

Виконайте програму на двох процесорах:

mpirun -np 2 cpilog

Результатом виконання програми є розраховане число Пі, та приблизна помилка розрахунку. А також логфайл cpilog.clog роботи програми.

    1. Під час виконання попередньої програми, було розраховане число Пі і був створений логфайл cpilog.clog роботи програми. Нам необхідно скопіювати цей логфайл на робочу машину. Для цього можна увійти на віддалений комп’ютер за допомогою засобів Windows по протоколу FTP.

Або скористатися програмою Winscp для копіювання файлів. Програма Winscp має зручний інтерфейс файлового менеджера і можливість збереження сесій користувача.

Увійдіть на віддалений комп’ютер і скопіюйте файл cpilog.clog у каталог С:\temp

    1. Увійдіть в каталог C:\Temp\slog2rte-1.2.2\lib на локальному комп’ютері і запустіть програму jumpshot_launcher.jar. Дана програма запустить на виконання засіб перегляду логфайлів Jumpshot-4. Даний засіб використовує бібліотеки java (j2sdk) для графічного відображення інформації з лофайлів, тому може працювати на різних платформах.

На запит конвертування файлу у формат slog2 натисніть кнопку Convert і по закінченні конвертування Return

На екрані буде графічно відображено процес виконання та взаємодії паралельних процесів. За допомогою бігунків можна змінювати параметри відображення.

На рисунку нижче подано вікно легенди кольорів, тобто їх значень.

    1. Підготуйте звіт та контрольні запитання. Здайте звіт викладачу

3. ЗМІСТ ЗВІТУ

    1. Тема, мета лабораторної роботи

    2. Короткі теоретичні відомості

    3. Опис виконання лабораторної роботи згідно пунктів 2.2-2.12

    4. Відповідь на одне контрольне запитання згідно номера варіанту

(порядковий номер у списку журналу групи)

    1. Висновки

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]