Огневий О.В.

Хмельницький національний університет

МОДЕЛЮВАННЯ СИСТЕМНОГО ЗАВАНТАЖЕННЯ ЗАДАЧ У МУЛЬТИПРОЦЕСОРНИХ СИСТЕМАХ

 

 Основою мультипроцесорних комп’ютерних систем являється  багатопроцесорний обчислювальний комплекс (БПОК). БПОК - це комплекс, що включає в себе два або більше процесорів, що мають загальну оперативну пам'ять, загальні периферійні пристрої і працюють під керуванням єдиної операційної системи (ОС), що, у свою чергу, здійснює загальне керування технічними і програмними засобами комплексу [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}, а завершальним обчислювальним процесом стану є S= SH+1. З кожним станом пов'язаний визначений обсяг роботи, що має випадковий характер.

Література:

1.   Ларионов А.М., Майоров С.А., Новиков Г.И. Вычислительные комплексы, системы и сети.-Л.: Энергоатомиздат, 1987.-288 с

2.   Вильям Столлингс. Копьютерные системы передачи данных. М.: Издательский дом «Вильямс», 2004.-1024 с.