Смекни!
smekni.com

Паралельноє програмирование (стр. 7 из 10)

Етап2. Розроблення алгоритмів роботи кожного процесу.

Цей етап включає розроблення детального алгоритму роботи кожного процесу. Такий алгоритм має включати всі дії процесу, які, крім безпосередніх обчислень за формулою (2.1), будуть включати введення даних і виведення результату, а також дії, що пов’язані з організацією взаємодії процесів (розв’язування задач взаємного виключення та синхронізації).

Т1 Т2 Т3 Т4
1.Ввід MC. 1.Введення МB. 1. Чекати сигнал від Т1,Т2. 1.Чекати сигнал від Т1,Т2.
2.СигналT1,Т2,Т3,Т4 про закінчення введення MC. 2.СигналТ1,T2,T3,Т4 про закінчення введення МB. 2. Копія
=
.
2. Копія
=
.
3.Чекати сигнал від Т1,Т2. 3.Чекати сигнал від Т1,Т2. 3.Обчислення
*
3.Обчислення
*
4. Kопія
=
.
4. Копія
=
.
4. Сигнал про завершення обчислення Т1 4.Сигнал від Т1, про завершення обчислення
5.Обчислення
*
5.Обчислення
*
6.Чекатисигналвід T1,Т2,Т3,Т4 про завершення обчислення. 6.Сигнал про завершення обчислення Т1.
7.Виведення MА.

Табл.3.1. Структурна таблиця розроблення алгоритмів роботи кожного процесу.

Етап 3. Розробка структурної схеми взаємодії задач. Цей етап пов'язаний із розробкою структури захищеного модуля, за допомогою якого реалізується взаємодія задач. Захищений модуль Керування (рис 2.2) включає чотири захищені елементи: В, МС, F1, F2, а також набір захищених операцій:

· вхід Чекати 1 для синхронізації з введенням в задачах Т1, Т2;

· вхід Чекати 2 для синхронізації після завершення обчислень у задачі Т1;

· функцію Копія МС для копіювання спільного ресурсу МС;

· процедуру Ввід МС для запису значення МС у захищений модуль;

· процедуру Сигнал 1 для сигналу про завершення обчислень у задачі Т1, Т2, Т3,T4;

· процедуру Сигнал 2 для сигналу про завершення введення даних у задачах Т2 і Т4.

Захищені змінні F1 F2 використовуються в бар’єрах входів Чекати 1 і Чекати 2.

Схема захищеного модуля представлена в Додатку А

Етап 4. Лістинг програми

Лістинг програми представлено в Додатку Б

4.2 Задача

Реалізація множення матриці на матрицю у чотирьох процесорній системі із спільною пам’яттю (рис. 4.2) з використання захищеного модуля мови Ада.

Вхідні дані:

· комп’ютерна система зі спільною пам’яттю, яка включає чотири процесори ітри пристрої введення-виведення (рис. 2.1);

· математичне завдання: реалізації множення матриці на матрицю і на

· ще одну матрицю

;

де MА, МB, МC, МЕ– матриці розмірності N.

· введення матриціMВ виконується в процесорі Т2, введення матриці МС виконується в процесорі Т1, введення матриці МE виконується в процесорі Т3, виведення результату – матриці МА – у процесі Т4.

Етап 1. Побудова паралельного алгоритму. Паралельний алгоритм можна подати у вигляді

(4.2)

де

- Н елементів матриціМА,MB,MC,MAA.

Співвідношення (4.2) визначає дії у кожному процесорі системи під час виконання обчислень.

Спільним ресурсом у рівнянні (4.2) є матрицяMCіпотім створена матриця MАА.

Етап2. Розроблення алгоритмів роботи кожного процесу.

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

обчислень за формулою (4.2), будуть включати введення даних і виведення результату, а також дії, що пов’язані з організацією взаємодії процесів (розв’язування задач взаємного виключення та синхронізації).

Т1 Т2 Т3 Т4
1. Введення MC. 1.Введення МB. 1. Введення МE. 1.Чекати сигнал від Т1,Т2,Т3.
2.Сигнал T1,Т2,Т3,Т4 про закінчення введення MC. 2.Сигнал Т1,Т3,Т4 про закінчення введення МB. 2.Сигнал Т1,Т2,Т4 про закінчення введення ME. 2.Копія
3.Чекати сигнал від T1,Т2,Т3. 3.Чекати сигнал від Т1,T2,Т3. 3.Чекати сигнал від Т1,Т2,T3. 3.Обчислення
4.Копія
4.Копія
4.Копія
4.Сигнал від Т1, Т2, Т3, Т4 про завершення обчислення.
5.Обчислення
5.Обчислення
5. Обчислення
5. Чекати сигнал від Т1,Т2,T3,Т
6. Сигнал від Т1, Т2, Т3, Т4 про завершення обчислення. 6. Сигнал від Т1, Т2, Т3, Т4 про завершення обчислення. 6. Сигнал від Т1, Т2, Т3, Т4 про завершення обчислення. 6.Копія
7. Чекати сигнал від Т1,Т2,T3,Т4. 7. Чекати сигнал від Т1,Т2,T3,Т4. 7. Чекати сигнал від Т1,Т2,T3,Т4. 7.Обчислення
8.Копія
8.Копія
8.Копія
8. Сигнал Т4 про завершення обчислення.
9. Сигнал Т4 про завершення обчислення 9. Сигнал Т4про завершення обчислення 8. Сигнал Т4 про завершення обчислення 9. Вивід MA

Табл. 4.2 Структурна таблиця розроблення алгоритмів роботи кожного процесу.

Етап 3. Розробка структурної схеми взаємодії задач. Цей етап пов'язаний із розробкою структури захищеного модуля, за допомогою якого реалізується взаємодія задач. Захищений модуль Керування (рис 2.2) включає чотири захищені елементи: МE, F1, F2,F3 а також набір захищених операцій:

· вхід Чекати 1 для синхронізації з введенням в задачах Т1, Т2, Т3;

· вхід Чекати 2для синхронізації після завершення обчислень у задачі Т1, Т2, Т3,Т4;

· вхід Чекати 3для синхронізації після завершення обчислень у задачі Т4;

· функцію Копія MAA, Kopija ME для копіювання спільного ресурсу MAA,МС;

· процедуру Ввід МE для запису значення МE у захищений модуль;

· процедуру Сигнал 1 для сигналу про завершення обчислень у задачі Т1, Т2, Т3;

· процедуру Сигнал 2 для сигналу про завершення введення даних у задачах Т1, Т2, Т3,Т4;

· процедуру Сигнал 3 для сигналу про завершення введення даних у задачах Т1, Т2, Т3,Т4;

Захищені змінні F1, F2, F3 використовуються в бар’єрах входів Чекати 1, Чекати 2, Чекати 3.

Схема захищеного модуля представлена в Додатку В

Етап 4. Лістинг програми

Лістинг програми представлено в Додатку Г