Огневий О.В.
Хмельницький національний університет
МОДЕЛЮВАННЯ СИСТЕМНОГО
ЗАВАНТАЖЕННЯ ЗАДАЧ У МУЛЬТИПРОЦЕСОРНИХ СИСТЕМАХ
Основою мультипроцесорних комп’ютерних систем
являється багатопроцесорний
обчислювальний комплекс (БПОК). БПОК - це комплекс, що включає в себе два або більше процесорів,
що мають загальну оперативну пам'ять, загальні периферійні пристрої і працюють
під керуванням єдиної операційної системи (ОС), що, у свою чергу, здійснює
загальне керування технічними і програмними засобами комплексу [1]. Слід
відмітити, що кожний із процесорів може мати індивідуальні, доступні тільки
йому оперативно запам’ятовуючі пристрої (ОЗП)
і периферійні пристрої. Усе перераховане є важливим, тому що вможливлює
гнучку організацію паралельної обробки інформації, і дозволяє більш ефективно
використовувати всі ресурси комплексу.
На рис.
1 представлена спрощена схема БПОК, що містить три процесори, два модулі ОЗП й
одну підсистему введення-виведення інформації (ПВВ).
Рис. 1. Зв'язки в
БПОК
Навіть для такого простого варіанта схема виявляється
досить складною, тому що в БПОК повинний бути забезпечений доступ будь-якого
процесора й будь-якого каналу введення-виведення
до будь-якого осередку ОЗП, будь-якого процесора до будь-якого каналу й
периферійного пристрою. Якщо представити тепер, що процесорів істотно більше, що ОЗП для надійності й
зручності нарощування ємності виконано у виді декількох модулів, а підсистема
уведення-виведення включає в собі кілька каналів і велике число периферійних
пристроїв, то стає ясним, наскільки складна топологія БПОК.
Якщо ж урахувати також
обставини, що для роботи операційної системи (ОС) апаратні засоби
повинні забезпечувати роботу з перемінними логічними адресами ОЗП, периферійних
пристроїв і каналів введення-виведення, захист пам'яті від взаємного впливу
різних програм також можливість запуску одним процесором іншого, складність
апаратної реалізації БПОК стає ясною повною мірою.
Непрості
задачі виникають і при організації обчислювального процесу в БПОК, тобто при
побудові ОС, що є основним засобом організації всіх процесів обробки інформації
в комплексі. Крім звичайних функцій, виконуваних ОС при мультипрограмній
обробці інформації, виникають такі задачі, як розподіл ресурсів і завдань між
процесорами, синхронізація процесів при рішенні декількома процесорами однієї
задачі, планування з урахуванням оптимізації завантаження всіх процесорів. При
цьому треба мати на увазі, що в процесі роботи в комплексі виникає велике число
конфліктних ситуацій, що повинні оброблятися ОС. Ці й ряд інших обставин і
факторів, зв'язаних із забезпеченням високої надійності, роблять ОС БПОК
надзвичайно складною.
Однак, незважаючи на всіх
труднощів, зв'язані з апаратною й програмною реалізацією, БПОК одержують усе
більше поширення, тому що володіють рядом переваг: - висока надійність і
готовність за рахунок резервування й можливості реконфігурації, висока
продуктивність за рахунок можливості гнучкої організації паралельної обробки
інформації й більш повного завантаження всього встаткування, висока економічна
ефективність за рахунок підвищення коефіцієнта використання встаткування
комплексу.
Рішення задач аналізу й синтезу за
допомогою
БПОК диктує необхідність опису властивостей
обчислювальних процесів, що породжуються
алгоритмами множин розв’язків задач. Алгоритми характеризуються
трудомісткістю - складністю обчислень, обумовленою сукупністю різних дій, що
виконуються в процесі обчислень. У зв’язку з тим що обчислювальні процеси мають
ймовірнісний характер через випадковий характер моментів надходження даних,
їхніх значень й інших факторів, тоді їх доцільно представляти у вигляді
моделей, що несуть у собі інформацію про властивості обчислювальних процесів.
У загальному випадку трудомісткість
алгоритму характеризується наступними параметрами [2]:
Qn - середнє число процесорних операцій, що виконуються за
одну реалізацію алгоритму, яка характеризує трудомісткість обробки даних;
N1, ... , NH - середня кількість звертань до файлів F1, ... , FH відповідно за один прогін алгоритму;
q1, ... , qH -
середнє число байт даних, що передаються за одне звертання до файлів F1, ... , FH відповідно;
Значення Ni (i=1,H)
і qi (i=1,H) характеризують трудомісткість процесів
введення-виведення інформації. До моделей обчислювальних процесів, що
дозволяють аналізувати й оцінювати трудомісткість алгоритмів, пред'являються
наступні вимоги:
1)
Модель повинна визначати порядок
породження алгоритмів запитів на кожний із видів обслуговування - обробка
(рахунок) і введення-виведення даних, що зберігаються у файлах запам'ятовуючих
пристроїв;
2)
Модель повинна визначати трудомісткість
обслуговування запитів (число операцій обробки й кількість байт інформації, що
вводиться й виводиться );
3)
Модель повинна відображати
обчислювальний процес як реалізацію випадкового процесу, тобто формувати запити
на обробку у випадкові моменти часу й характеризувати їхню трудомісткість
випадковими величинами;
4)
Розроблювальні моделі повинні
максимально відповідати реальним процесам із точністю до збігу математичних
очікувань їхніх однойменних характеристик.
З урахуванням вищенаведених вимог
обчислювальні процеси, реалізовані системою, будемо розглядати як послідовність
станів (етапів) обчислення і введення-виведення інформації при звертанні до
файлів F1,...,FH.
Діаграма такого процесу може бути
представлена у вигляді рис. 2:
Рис. 2. Діаграма обчислювального
процесу
де: S0 -
стан обчислювального процесу, що відповідає етапу обробки (рахунку);
S1,..., SH - стани звертання до файлів F1,...,FH.
Закінчення обчислювального процесу
відповідає переходу в стан SH+1.
В такий спосіб у даних позначеннях
обчислювальний процес системи представляється послідовністю станів St0, St1,..., St, які відповідають моментам часу t0,
t1,..., t. Елемент
послідовності Sti є елементом безлічі станів приведеного графа, тобто Sti Î { S0, ..., SH}, а завершальним обчислювальним процесом стану є StМ= SH+1. З кожним станом пов'язаний визначений обсяг роботи, що має
випадковий характер.
Література:
1.
Ларионов А.М.,
Майоров С.А., Новиков Г.И. Вычислительные комплексы, системы и сети.-Л.:
Энергоатомиздат, 1987.-288 с
2.
Вильям
Столлингс. Копьютерные системы передачи данных.
М.: Издательский дом «Вильямс», 2004.-1024 с.