Ви є тут

Алгоструктурна організація паралельних обчислювальних процесів у комп'ютерних системах

Автор: 
Горбатюк Сергій Анатолійович
Тип роботи: 
Дис. канд. наук
Рік: 
2008
Артикул:
3408U005279
129 грн
Додати в кошик

Вміст

РОЗДІЛ 2. СТРУКТУРНО-АЛГОРИТМІЧНЕ проектування ОБЧИСЛЮВАЛЬНИХ ПРОЦЕСІВ
2.1. Розробка методу алгоструктурного проектування.
Під методом алгоструктурного проектування обчислювальних моделей розуміється
процес складання моделей і компонент обчислювального процесу з бібліотечних або
спроектованих алгоструктур. Процес породження одних алгоструктур за допомогою
інших здійснюється так:
AS={aj,Ai},
(2.1)
де АS - алгоструктура, що проектується, та є алгопроектом;
aj - алгоелементи (найпростіші алгоструктури) з базової бібліотеки;
Аi - алгоблоки (алгоструктури, які отримані з алгоелементів), які можуть бути
залучені до складу бібліотек користувача;
i, j - індекси.
Певні набори алгоелементів можуть становити базові бібліотеки
проблемно-орієнтованих алгоструктур (1.8). Слід зазначити, що опис
функціонування алгоелемента задається в літеральній формі. Вони є тими
"цеглинками", з яких будуються більш складні алгоструктури - алгоблоки. В
якійсь мірі алгоструктури можна розглядати як структурно-алгоритмічні
компоненти, за допомогою котрих складаються обчислювальні процеси та
проектуються обчислювальні процедури [54].
Запропоновано реалізовувати метод наступними способами, в яких структури
проектів S* отримані із S за рахунок певної комутації (K), а механізм
проектування алгоструктури для рішення конкретної задачі доцільно здійснювати
так:
S{(aij)}>…>S*(AS,K);
(2.2)
S{(Ai)}>…>S*(AS(K),K);
(2.3)
S{(aij),(Ai)}>…>S*(AS,AS(K),K).
(2.4)
Перший спосіб проектування передбачає складання алгоструктури тільки з
алгоелементів. У другому способі є підстановки та використовуються допоміжні
алгоблоки. Третій спосіб є комбінацією обох і найбільш поширений.
Спосіб, проектування алгоструктур відповідно до (2.2), ілюструє рис. 2.1.
Рис. 2.1. Проектування алгоструктур з алгоелементів
Спосіб, проектування алгоструктур відповідно до (2.3), ілюструє рис. 2.2.
Рис. 2.2. Проектування алгоструктур з алгоблоків
Спосіб проектування алгоструктур відповідно до (2.4), ілюструє рис. 2.3.
Рис. 2.3. Проектування алгоструктур з алгоелементів і з алгоблоків
В алгоструктурній технології, як і в мовах програмування можна побачити
аналогію: оператор > процедура > проект = алгоелемент > алгоструктурна
конструкція > алгоструктурна модель (алгопроект). Принципи побудови алгоблоків
використовують наступні правила: алгоблок складається з алгоструктур; не може
бути вільних (не з’єднаних) входів і виходів алгоструктур; будь-який зв'язок
(провідник) має ім'я і тип; входи й виходи алгоструктур, приєднані до
провідників, що мають однакові імена, вважаються з'єднаними. Завдання
представляється алгоблоком, до складу якого входять алгоелементи й наявні в
базовій бібліотеці алгоблоки, між якими встановлені зв'язки, визначені
параметри налагоджування та задані початкові умови [54].
Потрібні для проектування алгоструктури вибираються з наявної бібліотеки
базових алгоструктур. У випадку відсутності в бібліотеці необхідних базових
алгоструктур, вони розробляються. Алгоритм, що використовується для рішення
задачі, представляється проектом. Він включає в себе необхідні для роботи
базові бібліотечні алгоелементи й алгоструктури, набір використовуваних даних і
можливі шляхи обміну інформацією з іншими проектами. У рамках проекту
створюється алгоблок, до складу котрого входять робочі алгоструктури. Для
робочих алгоструктур задаються зв'язки, початкові умови, параметри
налагодження. З метою структурування внутрішньої організації функціональних
блоків (алгоструктур) у них повинні бути однозначно визначені виконувані
функції і типи змінних, які використовуються, а також послідовність їхнього
виконання.
Найпростішими алгоструктурами є алгоелементи EXPRESSION (для організації
обчислень) та IF (для розгалуження обчислювального процесу), згідно теорії
алгоритмів [98]. Список зазначених алгоелементів, заради зручності, доповнений
наступними: BLOCK – для структурування обчислювального процесу; FOR – для
організації циклів; PROGRAM – для проектування алгоструктур програмним шляхом;
ROM, RAM, FIFO – для складання моделей з запам’ятовуючими пристроями.
Функціонування всіх алгоструктур (алгоелементів та алгоблоків) відбувається
однотипно і включає наступні етапи: установка вхідних параметрів; виконання
одного проходу обрахування; формування вихідних параметрів; обмін даними.
Зазначені алгоструктури з поясненням їх призначення представлено в таблицях
нижче (табл. 2.1-2.5, Б.1-Б.3) [53,56].
Таблиця 2.1
Алгоструктура BLOСK
BLOCK – модель компоненти, яка використовується для структурування алгоритму
або його частини, з метою більш наглядного подання обчислювального процесу
задачі, що вирішується. За допомогою неї реалізуються механізми проектування
алгоструктур (2.1-2.3). У компоненти: X1…Xn–входи; Y1…Ym–виходи;
Z1…Zk–параметри налагоджування.
Алгоструктурне подання
Внутрішня структура
Таблиця 2.2
Алгоструктура EXPRESSION
EXPRESSION – модель обчислювальної компоненти, призначеної для реалізації
формул(и). При налагодженні потрібно вказати обчислювану(і) формулу(и):
Y1=f1(X1…Xi,Z1…Zj); …Ym=fm(Xa…Xb,Za…Zb); X1…Xn–входи; Y1...Ym - виходи; Z1...Zk
- параметри налагоджування.
Алгоструктурне подання
Внутрішня структура
Таблиця 2.3
Алгоструктура IF
IF – модель компоненти з умовою для розгалуження алгоритма. Якщо умова
виконана, то вкладена в цю компоненту алгоструктура обчислюється, а інакше –
ні. При налагодженні потрібно задати умову логічного типу {f(X1…Xn,Z1…Zk)},
котрою визначається умова роботи вкладених алгоструктур. У компоненти: X1...Xn
- входи; Y1...Ym - виходи; Z1...Zk - п