Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Проектування комп'ютерних систем із заданими параметрами

КурсоваДопомога в написанніДізнатися вартістьмоєї роботи

Рис. 8.1 — Графік залежності часу очікування від швидкодії процесора для 18 заявки для всіх дисциплін обслуговування На рисунку 8.2 наведено графік залежності часу очікування від завантаження потоком 18 заявки для всіх дисциплін обслуговування. На рисунку 8.3 наведено графік залежності часу очікування від пріоритету заявок для всіх дисциплін обслуговування при оптимальній швидкодії процесора… Читати ще >

Проектування комп'ютерних систем із заданими параметрами (реферат, курсова, диплом, контрольна)

Затверджую зав. кафедрою КІ

_______ Святний В.А.

«10"лютого 2012 року.

ТЕХНІЧНЕ ЗАВДАННЯ до курсової роботи з дисципліни

«Комп'ютерні системи»

тема роботи:

«Проектування комп’ютерних систем з заданими параметрами»

студента групи СП-08а Варича М.В.

Термін здачі роботи на перевірку — 14 тиждень Термін захисту роботи — 14 тиждень

Вихідні дані

1.Варіант: 89

2.Заявки: 5,9,18,3,10

3.Логічні схеми заявок:

№ заявки

Логічна схема заявки

Нач. 1Ax11Bx22Ex33C23Mx44D4K Кон.

Нач. x11A12Bx22C4Dx33K3Mx44 Кон.

Нач. 4Ax44Bx11C1Dx33Ex22K2M3 Кон.

Нач. Ax22B32Cx331Dx11Ex44MK4 Кон.

Нач. x11A42Bx22Cx33E3Dx44K1M Кон.

4.Ймовірності переходу (при X=1):

№ заявки

p1

p2

p3

p4

0.5

0.3

0.8

0.5

0.9

0.7

0.4

0.1

0.2

0.2

0.7

0.2

0.3

0.1

0.8

0.7

0.8

0.8

0.3

0.2

5.Кількість процесорних операцій в операторах заявок (в тисячах):

№ заявки

A

B

C

D

E

M

K

6.Вхідні дані заявок:

№ заявки

л, 1/c

н

щ, c

1.4

0.80

0.5

1.0

0.90

3.1

1.6

1.0

1.3

1.6

0.90

1.3

0.9

0.95

0.2

7.Кількість звернень заявок до файлів:

№ заявки

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

8.Характеристики файлів:

Файли

Довжина файлу, Мбайт

Середня довжина запису, Кбайт

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

9.Характеристики зовнішніх приладів:

Молодша цифра номеру варіанту

Середній час доступу до даних, с

Швидкість передачі даних, Кбайт/с

Місткість накопичувача, Мбайт

Вартісний коефіцієнт процесора, од. кошт./

тис. оп./с.

Вартість типових приладів, од.кошт.

HD

ST

HD

ST

HD

ST

HD

ST

SK

0.06

2.0

4.5

Розділи пояснювальної записки, які треба розробити:

1. Визначення середньої трудомісткості алгоритмів заявок.

2. Обчислення мінімальної швидкодії процесора.

3. Вибір дисципліни обслуговування та розрахунок характеристик комп’ютерної системи.

4. Розрахунок характеристик комп’ютерної системи з мінімальною конфігурацією.

5. Розрахунок характеристик комп’ютерної системи з заданим часом перебування.

6. Розрахунок характеристик комп’ютерної системи з заданою вартістю.

7. Моделювання комп’ютерної системи.

8. Порівняння аналітичних розрахунків і результатів моделювання.

Зміст графічної частини:

1.Заявки. Схеми програм.

2. Комп’ютерної системи мінімальної конфігурації, схема електрична структурна.

3. Комп’ютерної системи із заданим часом перебування, схема електрична структурна.

4. Комп’ютерної системи заданої вартості, схема електрична структурна.

Графік виконання курсової роботи:

1 тиждень — укладання та аналіз технічного завдання, виявлення поставленої задачі.

2 тиждень — визначення середньої трудомісткості алгоритмів заявок.

3 тиждень — обчислення мінімальної швидкодії процесора.

4,5 тижні - вибір дисципліни обслуговування та розрахунок характеристик комп’ютерної системи .

6,7 тижні - розрахунок характеристик комп’ютерної системи з мінімальною конфігурацією.

8,9 тиждень — розрахунок характеристик комп’ютерної системи з заданим часом перебування.

10,11 тиждень — розрахунок характеристик комп’ютерної системи з заданою вартістю.

12 тиждень — моделювання комп’ютерної системи, порівняння аналітичних розрахунків і результатів моделювання.

13 тиждень — оформлення пояснювальної записки та креслень.

14 тиждень — захист курсової роботи.

Дата видачі завдання — «10» лютого 2012 року.

Завдання прийняв до виконання _______ (Варич М.В.)

Керівник роботи _______ (Струнілін В.М.)

ЗМІСТ ВСТУП

1. ВИЗНАЧЕННЯ СЕРЕДНЬОЇ ТРУДОМІСТКОСТІ АЛГОРИТМІВ ЗАЯВОК

1.1 Обчислення середньої трудомісткості потоку заявок № 5

1.2 Обчислення середньої трудомісткості потоку заявок № 9

1.3 Обчислення середньої трудомісткості потоку заявок № 18

1.4 Обчислення середньої трудомісткості потоку заявок № 3

1.5 Обчислення середньої трудомісткості потоку заявок № 10

2 ОБЧИСЛЕННЯ МІНІМАЛЬНОЇ ШВИДКОДІЇ ПРОЦЕСОРА

3. ВИБІР ДИСЦИПЛІНИ ОБСЛУГОВУВАННЯ ТА РОЗРАХУНОК ХАРАКТЕРИСТИК КОМП’ЮТЕРНОЇ СИСТЕМИ (КС)

3.1 Дослідження безпріоритетної дисципліни обслуговування

3.2 Дослідження дисципліни обслуговування з відносним пріоритетом

3.3 Дослідження дисципліни обслуговування з абсолютним пріоритетом

3.4 Дослідження дисципліни обслуговування зі змішаним пріоритетом

4. РОЗРАХУНОК ХАРАКТЕРИСТИК КС МІНІМАЛЬНОЇ КОНФІГУРАЦІЇ

5. РОЗРАХУНОК ХАРАКТЕРИСТИК КС З ЗАДАНИМ ЧАСОМ ПЕРЕБУВАННЯ

6. РОЗРАХУНОК ХАРАКТЕРИСТИК КС ЗАДАНОЇ ВАРТОСТІ

7. МОДЕЛЮВАННЯ КС

8. ПОРІВНЯННЯ АНАЛІТИЧНИХ РОЗРАХУНКІВ З РЕЗУЛЬТАТАМИ МОДЕЛЮВАННЯ ВИСНОВКИ ПЕРЕЛІК ПОСИЛАНЬ Додаток А. Програма моделювання. Текст програми

ВСТУП Багато прикладних задач потребують для свого рішення обчислювальних ресурсів великої продуктивності, тобто використання комп’ютерних систем (КС). Для запуску задачі необхідно виконати достатньо велику підготовчу роботу по створенню самої цієї системи.

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

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

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

1. ВИЗНАЧЕННЯ СЕРЕДНЬОЇ ТРУДОМІСТКОСТІ АЛГОРИТМІВ ЗАЯВОК Визначення середньої трудомісткості заявок необхідне для обчислення всіх параметрів комп`ютерної системи, зокрема мінімальної швидкодії процесора. Суть обчислення базується на тому, що ймовірності переходу по умовам в схемі заявки відомі.

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

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

1.1 Обчислення середньої трудомісткості потоку заявок № 5

Логічна схема заявки: Поч. v1 ???11 ???22 ???33 ?? v2v3 ???44 ?? v4 ?? Кін.

На рисунку 1.1 приведені схема та мінімізований граф алгоритму для цього потоку заявок. Стохастична матриця приведена в таблиці 1.1.

Рисунок 1.1 — Потік заявок № 5: а) схема алгоритму, б) мінімізований граф алгоритму Таблиця 1.1 — Стохастична матриця для алгоритму потоку заявок № 5

S1

S2

S3

S4

S5

S6

S7

S0

S1

0.5

0.5

S2

0.3

0.7

S3

0.8

0.2

S4

S5

0.5

0.5

S6

S7

Система рівнянь для імовірності переходу в кожну з операторних вершин:

??0 = 1

??1 = 1 · ??0 + 0.5 · ??1

??2 = 0.5 · ??1

??3 = 0.3 · ??2

??4 = 0.8 · ??3

??5 = 0.7 · ??2 + 0.2 · ??3 + 1 · ??4

??6 = 0.5 · ??5

??7 = 0.5 · ??5 + 1 · ??6

??k = 1 · ??7

Після розв’язання системи отримано наступні імовірності:

??0 = 1.0

??1 = 2.0

??2 = 1.0

??3 = 0.3

??4 = 0.24

??5 = 1.0

??6 = 0.5

??7 = 1.0

??k = 1.0

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

(тисяч).

1.2 Обчислення середньої трудомісткості потоку заявок № 9

Логічна схема заявки: Поч. ??11 ?? v1v2 ???22 ?? v4 ???33 ?? v3 ???44 Кін.

На рисунку 1.2 приведені схема та мінімізований граф алгоритму для цього потоку заявок. Стохастична матриця приведена в таблиці 1.2.

Рисунок 1.2 — Потік заявок № 9: а) схема алгоритму, б) мінімізований граф алгоритму

Таблиця 1.2 — Стохастична матриця для алгоритму потоку заявок № 9

S1

S2

S3

S4

S5

S6

S0

0.9

0.1

S1

S2

0.3

0.7

S3

S4

0.4

0.6

S5

S6

0.9

0.1

Система рівнянь для імовірності переходу в кожну з операторних вершин:

??0 = 1

??1 = 0.9 · ??0

??2 = 0.1 · ??0 + 1 · ??1 + 0.3 · ??2

??3 = 0.7 · ??2

??4 = 1 · ??3 + 0.9 · ??6

??5 = 0.4 · ??4

??6 = 0.6 · ??4 + 1 · ??5

??k = 0.1 · ??6

Після розв’язання системи отримано наступні імовірності:

??0 = 1.0

??1 = 0.9

??2 = 1.4286

??3 = 1.0

??4 = 10.0

??5 = 4.0

??6 = 10.0

??k = 1.0

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

(тисяч).

1.3 Обчислення середньої трудомісткості потоку заявок № 18

Логічна схема заявки: Поч. v4 ???44 ???11 ?? v1 ???33 ???22 ?? v2 ?? v3 Кін.

На рисунку 1.3 приведені схема та мінімізований граф алгоритму для цього потоку заявок. Стохастична матриця приведена в таблиці 1.3.

Рисунок 1.3 — Потік заявок № 18: а) схема алгоритму, б) мінімізований граф алгоритму Таблиця 1.3 — Стохастична матриця для алгоритму потоку заявок № 18

S1

S2

S3

S4

S5

S6

S7

S0

S1

0.8

0.2

S2

0.2

0.8

S3

S4

0.7

0.3

S5

0.2

0.8

S6

S7

Система рівнянь для імовірності переходу в кожну з операторних вершин:

??0 = 1

??1 = 1 · ??0 + 0.8 · ??1

??2 = 0.2 · ??1

??3 = 0.2 · ??2

??4 = 0.8 · ??2 + 1 · ??3

??5 = 0.7 · ??4

??6 = 0.2 · ??5

??7 = 0.8 · ??5 + 1 · ??6

??k = 0.3 · ??4 + 1 · ??7

Після розв’язання системи отримано наступні імовірності:

??0 = 1.0

??1 = 5.0

??2 = 1.0

??3 = 0.2

??4 = 1.0

??5 = 0.7

??6 = 0.14

??7 = 0.7

??k= 1.0

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

(тисяч).

1.4 Обчислення середньої трудомісткості потоку заявок № 3

Логічна схема заявки: Поч. ???22 ?? v3v2 ???33v1 ???11 ???44 ??? v4 Кін.

На рисунку 1.4 приведені схема та мінімізований граф алгоритму для цього потоку заявок. Стохастична матриця приведена в таблиці 1.4.

Рисунок 1.4 — Потік заявок № 3: а) схема алгоритму, б) мінімізований граф алгоритму

Таблиця 1.4 — Стохастична матриця для алгоритму потоку заявок № 3

S1

S2

S3

S4

S5

S6

S7

S0

S1

0.1

0.9

S2

S3

0.2

0.8

S4

0.7

0.3

S5

0.7

0.3

S6

S7

Система рівнянь для імовірності переходу в кожну з операторних вершин:

??0 = 1

??1 = 1 · ??0

??2 = 0.1 · ??1

??3 = 0.9 · ??1 + 1 · ??2 + 0.2 · ??3

??4 = 0.8 · ??3 + 0.7 · ??4

??5 = 0.3 · ??4

??6 = 0.7 · ??5

??7 = 1 · ??6

??k = 0.3 · ??5 + 1 · ??7

Після розв’язання системи отримано наступні імовірності:

??0 = 1.0

??1 = 1.0

??2 = 0.1

??3 = 1.25

??4 = 3.3333

??5 = 1.0

??6 = 0.7

??7 = 0.7

??k = 1.0

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

(тисяч).

1.5 Обчислення середньої трудомісткості потоку заявок № 10

Логічна схема заявки: Поч. ??11 ?? v4v2 ???22 ???33 ?? v3 ???44 ?? v1 ?? Кін.

На рисунку 1.5 приведені схема та мінімізований граф алгоритму для цього потоку заявок. Стохастична матриця приведена в таблиці 1.5.

Рисунок 1.5 — Потік заявок № 10: а) схема алгоритму, б) мінімізований граф алгоритму Таблиця 1.5 — Стохастична матриця для алгоритму потоку заявок № 10

S1

S2

S3

S4

S5

S6

S7

S0

0.8

0.2

S1

S2

0.2

0.8

S3

0.3

0.7

S4

S5

0.8

0.2

S6

S7

Система рівнянь для імовірності переходу в кожну з операторних вершин:

??0 = 1

??1 = 0.8 · ??0

??2 = 1 · ??1 + 0.2 · ??2 + 0.8 · ??5

??3 = 0.8 · ??2

??4 = 0.3 · ??3

??5 = 0.7 · ??3 + 1 · ??4

??6 = 0.2 · ??5

??7 = 0.2 · ??0 + 1 · ??6

??k = 1 · ??7

Після розв’язання системи отримано наступні імовірності:

??0 = 1.0

??1 = 0.8

??2 = 5.0

??3 = 4.0

??4 = 1.2

??5 = 4.0

??6 = 0.8

??7 = 1.0

??k = 1.0

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

(тисяч).

2. ОБЧИСЛЕННЯ МІНІМАЛЬНОЇ ШВИДКОДІЇ ПРОЦЕСОРА Визначення мінімальної швидкодії процесора виконується на базі закону збереження часу очікування:

де i — коефіцієнт завантаження процесора з боку i-го потоку заявок;

i — середній час очікування заявок i-го потоку.

Для отримання мінімальної швидкодії використовується безпріоритетна дисципліна обслуговування. Тому має виконуватися наступна умова:

де — коефіцієнт завантаження цифрової керуючої системи (ЦКС) усіма потоками заявок;

0 — середній час очікування заявок при безпріоритетній дисципліні обслуговування.

Ураховуючи, що:

Розв’язується остання нерівність відносно швидкодії процесора B:

де:

Результати моделювання дали результат Bmin = 332 365.0 операцій в секунду. Для підвищення надійності результату мінімальна швидкодія процесора збільшується на 10 процентів Bmin = 365 602.0 операцій в секунду. Текст програми наведено у додатку А.

3. ВИБІР ДИСЦИПЛІНИ ОБСЛУГОВУВАННЯ ТА РОЗРАХУНОК ХАРАКТЕРИСТИК КОМП’ЮТЕРНОЇ СИСТЕМИ Для вибору дисципліни обслуговування (ДО) необхідно, спочатку, дослідити усі типи імовірних ДО. Такі як, безпріоритетну (БП), з відносним пріоритетом (ВП), абсолютним пріоритетом (АП) та змішаним пріоритетом (ЗП). Необхідно обрати ту дисципліну, що найбільше підходить для розв’язання задач, які надходять до комп’ютерної системі.

При виборі дисципліни обслуговування передбачається дисципліна обслуговування ЗП. Вона задається матрицею пріоритетів Q розміром nxn. Елементами даної матриці можуть бути тільки числа {0, 1, 2}. Якщо елементом є «0», то i-ий потік не має пріоритету перед j-им потоком, «1» позначає відносний пріоритет, «2» — абсолютний. Очевидно, що елементи головної діагоналі повинні бути «0».

ДО можна вважати вдалою, якщо коефіцієнт запасу по часу очікування приблизно однаковий для всіх задач. Цей параметр буде досліджуватися при моделюванні системи (додаток А).

Обчислення параметрів виконуються для різних швидкодій процесора — від мінімальної до подвоєної мінімальної з кроком 0,25* Bmin. Розрахунок ЦКС передбачає обчислення наступних характеристик:

— час розв’язання задачі на процесорі;

— коефіцієнт завантаження процесора з боку i-ого потоку заявок;

— час очікування задач i-ого потоку;

— час перебування задачі у системі;

— запас по часу очікування;

— імовірність перевищення допустимого часу очікування;

— сумарне завантаження процесора;

— сумарна інтенсивність потоку заявок на вході системи;

— довжина черги;

— штраф за втрату задач.

Моделювання буде проведене за допомогою програми, яка наведена у додатку А.

3.1 Дослідження безпріоритетної дисципліни обслуговування Матриця пріоритетів для даної ДО складається повністю з нульових елементів. Розрахунки ЦКС для цієї ДО дали результати, які приведено на рисунку 3.1.

БЕСПРИОРИТЕТНАЯ ДИСЦИПЛИНА ОБСЛУЖИВАНИЯ Матрица приоритетов

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

1.Быстродействие процессора 365 602.0000 операций в секунду

N Время обслуживания Загрузка Ср.знач.времени Запас по Вероятность ср. знач. 2 нач. мом. потока ожид. пребыв. времени пребывания

1 0.0575 0.0054 0.0805 0.8926 0.9501 -0.3926 0.5160

2 0.3789 0.2599 0.3789 0.8926 1.2715 2.2074 0.0482

3 0.1025 0.0210 0.1639 0.8926 0.9950 0.4074 0.2487

4 0.0558 0.0056 0.0893 0.8926 0.9484 0.4074 0.2487

5 0.1127 0.0242 0.1014 0.8926 1.0053 -0.6926 0.6784

Суммарная интенсивность — 6.5000

Суммарная загрузка — 0.8141

Вероятностная функция штрафа — 2.1770

Средняя длина очереди — 3.5655

3.Быстродействие процессора 548 403.0000 операций в секунду

N Время обслуживания Загрузка Ср.знач.времени Запас по Вероятность ср. знач. 2 нач. мом. потока ожид. пребыв. времени пребывания

1 0.0383 0.0024 0.0537 0.1613 0.1996 0.3387 0.1009

2 0.2526 0.1155 0.2526 0.1613 0.4139 2.9387 0.0000

3 0.0683 0.0093 0.1093 0.1613 0.2296 1.1387 0.0068

4 0.0372 0.0025 0.0596 0.1613 0.1985 1.1387 0.0068

5 0.0751 0.0107 0.0676 0.1613 0.2364 0.0387 0.2769

Рисунок 3.1, аркуш 1 — Результати обчислення ЦКС для БП ДО Суммарная интенсивность — 6.5000

Суммарная загрузка — 0.5427

Вероятностная функция штрафа — 0.4123

Средняя длина очереди — 0.6442

Рисунок 3.1, аркуш 2 — Результати обчислення ЦКС для БП ДО При швидкодії Вmin, що була обчислена раніше, та дорівнювала 365 602.0 запас у часі очікування для двох потоків є негативним. Отже потрібно збільшувати швидкодію процесора.

Як видно з результатів моделювання, починаючи зі швидкодії процесора 548 403.0 (третій крок) запас у часі очікування для всіх потоків є позитивним.

3.2 Дослідження дисципліни обслуговування з відносним пріоритетом Програма підбирає пріоритети наступним чином: більш високий пріоритет присвоюється заявкам з меншим гранично допустимим часом ждання, а якщо ці параметри співпадають для 2 заявок, то враховується трудомісткість кожної з них. Розрахунки ЦКС для цієї ДО дали результати, які приведено на рисунку 3.2.

ДИСЦИПЛИНА ОБСЛУЖИВАНИЯ С ОТНОСИТЕЛЬНЫМ ПРИОРИТЕТОМ Матрица приоритетов

0 1 1 1 0

0 0 0 0 0

0 1 0 0 0

0 1 1 0 0

1 1 1 1 0

1.Быстродействие процессора 365 602.0000 операций в секунду

N Время обслуживания Загрузка Ср.знач.времени Запас по Вероятность ср. знач. 2 нач. мом. потока ожид. пребыв. времени пребывания

1 0.0575 0.0054 0.0805 0.2257 0.2832 0.2743 0.1341

2 0.3789 0.2599 0.3789 1.5803 1.9592 1.5197 0.1649

3 0.1025 0.0210 0.1639 0.4031 0.5056 0.8969 0.0589

4 0.0558 0.0056 0.0893 0.2783 0.3341 1.0217 0.0182

5 0.1127 0.0242 0.1014 0.1846 0.2973 0.0154 0.3371

Суммарная интенсивность — 6.5000

Суммарная загрузка — 0.8141

Вероятностная функция штрафа — 0.7793

Средняя длина очереди — 3.5655

Рисунок 3.2 — Результати обчислення ЦКС для ДО з ВП Позитивний запас у часі очікування вдалося досягти при початковій швидкодії 365 602.0 операцій в секунду. Використання дисципліни обслуговування з відносними пріоритетами дало змогу зменшити функцію штрафу.

3.3 Дослідження дисципліни обслуговування з абсолютним пріоритетом АП слід назначати за тими ж правилами, що і ВП, адже результуючий час очікування тим більший, чим нижче пріоритет. Розрахунки ЦКС для цієї ДО дали результати, які приведено на рисунку 3.3.

ДИСЦИПЛИНА ОБСЛУЖИВАНИЯ С АБСОЛЮТНЫМ ПРИОРИТЕТОМ Матрица приоритетов

0 2 2 2 0

0 0 0 0 0

0 2 0 0 0

0 2 2 0 0

2 2 2 2 0

1.Быстродействие процессора 365 602.0000 операций в секунду

N Время обслуживания Загрузка Ср.знач.времени Запас по Вероятность ср. знач. 2 нач. мом. потока ожид. пребыв. времени пребывания

1 0.0575 0.0054 0.0805 0.0264 0.0839 0.4736 0.0000

2 0.3789 0.2599 0.3789 1.8723 2.2512 1.2277 0.2115

3 0.1025 0.0210 0.1639 0.1256 0.2280 1.1744 0.0002

4 0.0558 0.0056 0.0893 0.0446 0.1004 1.2554 0.0000

5 0.1127 0.0242 0.1014 0.0121 0.1248 0.1879 0.0000

Суммарная интенсивность — 6.5000

Суммарная загрузка — 0.8141

Вероятностная функция штрафа — 0.2118

Средняя длина очереди — 3.5655

Рисунок 3.3 — Результати обчислення ЦКС для ДО з АП Позитивний запас у часі очікування вдалося досягти при початковій швидкодії 365 602.0 операцій в секунду. Використання дисципліни обслуговування з абсолютними пріоритетами дало змогу ще більше зменшити функцію штрафу.

3.4 Дослідження дисципліни обслуговування зі змішаними пріоритетами Для найбільш оптимальної роботи системи використовуються ДО зі змішаним типом пріоритету. Адже при використанні ДО одного виду спостерігається значна асиметрія у розподілі процесорного часу, хоча потоки можуть мати практично рівний запас у часі очікування. Саме тому треба використовувати ДО зі ЗП. Для цього, взявши за основу ДО з АП, треба послідовно назначати потокам ВП. Якщо функція штрафу зменшиться — зміна пріоритету доречна. В результаті сформуються групи заявок з різними пріоритетами. В середині цих груп також можуть існувати пріоритети. Отже, оптимальну матрицю пріоритетів можна отримати шляхом перебору обмеженого числа варіантів. Результати моделювання для цієї ДО дали результати, які приведено на рисунку 3.4.

ДИСЦИПЛИНА ОБСЛУЖИВАНИЯ СО СМЕШАННЫМ ПРИОРИТЕТОМ Матрица приоритетов

0 2 2 2 0

0 0 0 0 0

0 2 0 0 0

0 2 1 0 0

2 2 2 2 0

1.Быстродействие процессора 365 602.0000 операций в секунду

N Время обслуживания Загрузка Ср.знач.времени Запас по Вероятность ср. знач. 2 нач. мом. потока ожид. пребыв. времени пребывания

1 0.0575 0.0054 0.0805 0.0264 0.0839 0.4736 0.0000

2 0.3789 0.2599 0.3789 1.8723 2.2512 1.2277 0.2115

3 0.1025 0.0210 0.1639 0.1102 0.2127 1.1898 0.0001

4 0.0558 0.0056 0.0893 0.0728 0.1286 1.2272 0.0000

5 0.1127 0.0242 0.1014 0.0121 0.1248 0.1879 0.0000

Суммарная интенсивность — 6.5000

Суммарная загрузка — 0.8141

Вероятностная функция штрафа — 0.2116

Средняя длина очереди — 3.5655

3.Быстродействие процессора 548 403.0000 операций в секунду

N Время обслуживания Загрузка Ср.знач.времени Запас по Вероятность ср. знач. 2 нач. мом. потока ожид. пребыв. времени пребывания

1 0.0383 0.0024 0.0537 0.0107 0.0491 0.4893 0.0000

2 0.2526 0.1155 0.2526 0.3304 0.5830 2.7696 0.0033

Рисунок 3.4, аркуш 1 — Результати обчислення ЦКС для ДО зі ЗП

3 0.0683 0.0093 0.1093 0.0369 0.1052 1.2631 0.0000

4 0.0372 0.0025 0.0596 0.0274 0.0646 1.2726 0.0000

5 0.0751 0.0107 0.0676 0.0052 0.0803 0.1948 0.0000

Суммарная интенсивность — 6.5000

Суммарная загрузка — 0.5427

Вероятностная функция штрафа — 0.0033

Средняя длина очереди — 0.6442

Рисунок 3.4, аркуш 2 — Результати обчислення ЦКС для ДО зі ЗП Як видно з рисунку, на першому кроці вдалося трохи зменшити функцію штрафу порівняно з АП. На третьому кроці функція штрафу складає 0.0033(менше 1 процента). Таким чином, швидкодія процесора 548 403.0 операцій в секунду буде використовуватись для подальших розрахунків як оптимальна.

4 РОЗРАХУНОК ХАРАКТЕРИСТИК КС МІНІМАЛЬНОЇ КОНФІГУРАЦІЇ

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

1) Інтенсивність потоку:

2) Середня трудомісткість у кількості процесорних операцій:

3) Середня кількість звертання до файлу Fj:

4) Підсумкове число звернень до файлів в процесі розв’язання середньої задачі:

5) Імовірності звернення до файлів у процесі розв’язання задачі:

6) Середня трудомісткість етапу обчислення:

7) Імовірність виходу задачі з системи:

Потім визначається мінімальна швидкодія процесора:

Однак ця швидкодія обчислена лише з урахуванням того, що процесор має встигати виконувати всю обчислювальну роботу. Але в реальній системі, де задано обмеження по часу очікування, мінімальна швидкодія повинна забезпечувати позитивний запас за часом очікування для всіх потоків та певну функцію штрафу. Тобто вона складає 548 403.0 операцій в секунду, як обчислено в главі 3.

Визначення можливості розташування файлів на різних зовнішніх запам’ятовуючих пристроях. Максимально допустимий час звернення до файлів визначається за формулою:

Файли, максимальний час доступу до яких більше 2 c, слід розташувати на стримері ST (таких файлів немає), усі інші - на жорсткому диску HD.

Визначення кількості зовнішніх запам`ятовуючих пристроїв.

1) Середня кількість звертань до жорсткого диску:

2) Середня кількість звертань до стримера:

3) Інтенсивність звертання до жорсткого диску:

4) Інтенсивність звертання до стримеру:

5) Кількість HD за коефіцієнтом завантаження:

6) Кількість HD за місткістю:

7) Кількість цих пристроїв визначається як максимум із обчислених значень:

Визначення кількості селекторних каналів.

1) Інтенсивність звернення до селекторних каналів:

2) Імовірність звернення до жорстких дисків:

3) Середня довжина запису при зверненні до HD:

4) Середній час передачі середньої задачі через селекторний канал:

5) Кількість селекторних каналів:

Час перебування заявки на процесорі:

Час перебування заявки на HD:

Час перебування заявки в селекторному каналі:

Час відповіді системи обчислюється за формулою:

Вартість СОО визначається за наступною формулою:

Результати моделювання системи оперативної обробки наведені на рисунку 4.1. Програма моделювання наведена в додатку А.

Синтез СОО минимальной конфигурации Интенсивность потока заявок на решение средней задачи Ino=6.50

Средняя трудоемкость при решении средней задачи Ro=45.79 тысяч процессорных операций Среднее число обращений к файлам F[j]:

D (1)=0.246

D (2)=0.492

D (3)=3.108

D (4)=5.138

D (5)=8.677

D (6)=6.369

D (7)=5.138

D (8)=1.785

D (9)=0.769

D (10)=0.000

Суммарное число обращений к файлам при выполнении средней задачи Do=31.723

Вероятность использования файла F[j] при решении задач:

P (1)=0.008

P (2)=0.015

P (3)=0.095

P (4)=0.157

P (5)=0.265

P (6)=0.195

P (7)=0.157

P (8)=0.055

P (9)=0.024

P (10)=0.000

Средняя трудоемкость этапа счета Rp= 1.40 тысяч операций Вероятность выхода задачи из системы Po=0.031

Быстродействие процессора, которое обеспечивает минимальную функцию штрафа Vpr=548.403 015 тысяч операций в секунду Интенсивность обращения к файлам F[j]:

Inn (1)=1.600

Inn (2)=3.200

Inn (3)=20.200

Inn (4)=33.400

Inn (5)=56.400

Inn (6)=41.400

Inn (7)=33.400

Inn (8)=11.600

Inn (9)=5.000

Inn (10)=0.000

Предельное время доступа к информации:

T (1)=0.625 необходимо размеcтить на HD

T (2)=0.312 необходимо размеcтить на HD

T (3)=0.050 необходимо размеcтить на HD

T (4)=0.030 необходимо размеcтить на HD

T (5)=0.018 необходимо размеcтить на HD

T (6)=0.024 необходимо размеcтить на HD

T (7)=0.030 необходимо размеcтить на HD

T (8)=0.086 необходимо размеcтить на HD

T (9)=0.200 необходимо размеcтить на HD

T (10)=неопределенно неопределенно Рисунок 4.1, аркуш 1 — Розрахунки СОО мінімальної конфігурації

Количество обращений к HD Dhd=31.723

Количество обращений к ST Dst=0.000

Интенсивность обращения к HD Ihd=206.200

Интенсивность обращения к ST Ist=0.000

Количество HD по коэффициенту загрузки Z1hd=12.372

Количество ST по коэффициенту загрузки Z1st=0.000

Количество HD по емкости Z2hd=7.667

Количество ST по емкости Z2st=0.375

Выбранное количество HD в проектируемой системе Zhd=13

Выбранное количество ST в проектируемой системе Zst=0

Интенсивность обращения к селекторным каналам Ick=206.200

Вероятность обращения к HD Phd=0.969

Вероятность обращения к ST Pst=0.000

Средняя длина записи при обращении к HD Lhd=6.339 Кб Средняя длина записи при обращении к ST Lst=0.000 Кб Среднее время передачи средней записи через селекторный канал Tck=0.032 c

Количество селекторных каналов Zck=7

Среднее время пребывания средней задачи на процессоре Upr= 0.183 c

Среднее время пребывания на HD Uhd=1.242 c

Среднее время пребывания на ST Ust=0.000 c

Среднее время пребывания заявки в селекторном канале Uck=0.686 c

Среднее время ответа в СОО Umin=61.334 c

Стоимость СОО Smin=4557.813 единиц стоимости Рисунок 4.1, аркуш 2 — Розрахунки СОО мінімальної конфігурації

На рисунку 4.2 наведена структурна схема СОО мінімальної конфігурації.

Рисунок 4.2 — Структурна схема СОО мінімальної конфігурації

5. РОЗРАХУНОК ХАРАКТЕРИСТИК КС З ЗАДАНИМ ЧАСОМ ПЕРЕБУВАННЯ ЗАЯВОК Оскільки в системі мінімальної конфігурації жорсткі диски дуже сильно завантажені, збільшення їх кількості на один одразу призведе до різкого зменшення часу очікування. Тому треба синтезувати СОО, в якій час очікування буде в два рази менше, ніж у системі мінімальної конфігурації.

Задача визначення швидкодії нетипових пристроїв і кількості типових визначається за допомогою методу невизначених множників Лагранжа:

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

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

де: — час перебування задачі на нетипових пристроях, якщо кількість типових пристроїв іде до безкінечності. Якщо результат виявляється негативним, при даних параметрах типових пристроїв побудувати систему із заданим часом перебування неможливо.

В результаті округлення кількості типових пристроїв виникає додаткова затримка (випередження) в обслуговуванні задачі:

У зв`язку з цим корегується швидкодія нетипових пристроїв. Формула корекції в загальному виді:

Оскільки нетиповий пристрій лише один — процесор, ця формула матиме вигляд:

Далі для перевірки результату синтезу СОО обчислюється час перебування задачі в системі за формулою:

Вартість синтезованої СОО:

Результати моделювання наведені на рисунку 5.1.

Синтез СОО с заданным временем пребывания Ограничение по времени пребывания Uz=30.667 с Количество типовых устройств N1=3

Количество нетиповых устройств N2=1

Результирующее значение Uzz=27.737 с Неопределенный коэффициент Лагранжа sqrt_q=3.237

Быстродействие при первом приближении Vprmin=558.730 тысяч операций в секунду Количество типовых устройств:

HD=15

ST=0

CK=8

Задержка в решении задачи U1=13.632 c

Скорректированное быстродействие нетипового устройства Vprmin=551.762 тысяч операций в секунду Среднее время пребывания программы U=30.667 c

Стоимость вычислительной системы S=4882.930 единиц стоимости Рисунок 5.1 — Розрахунки СОО з заданим часом перебування заявок На рисунку 5.2 наведена структурна схема СОО з заданим часом перебування заявок.

Рисунок 5.2 — Структурна схема СОО з заданим часом перебування заявок

6. РОЗРАХУНОК ХАРАКТЕРИСТИК КС ЗАДАНОЇ ВАРТОСТІ

Тут треба синтезувати СОО, яка має вартість в два рази більше, ніж система мінімальної конфігурації, при цьому має максимальну продуктивність для такої вартості.

Для синтезу СОО заданої вартості також використовується метод множників Лагранжа. Для цього вводиться допоміжна функція G:

Диференціюючи дану функцію по невідомим параметрам та дорівнюючи перші похідні 0, виводяться формули для відшукання екстремальних значень невідомих параметрів:

В отриманих формулах перший складник визначає мінімальну швидкодію нетипових пристроїв або мінімальну кількість типових пристроїв. Другий складник визначає оптимальний закон розподілу вартості СОО між пристроями для забезпечення максимальної продуктивності. Максимальною продуктивність буде в тому випадку, якщо вартість дорівнює максимально допустимій. Звідси виводяться формули для обчислення невизначеного множника q:

S" - це різниця між заданою вартістю СОО та вартістю системи, що складається з типових пристроїв з мінімальною продуктивністю і мінімального числа типових пристроїв. Якщо S"< 0, то побудувати працездатну СОО заданої вартості неможливо.

Далі визначаються кількості типових пристроїв HD, ST та СК та швидкодія нетипового пристрою — процесора.

В результаті округлення кількості типових пристроїв виникає залишкова вартість, яку необхідно врахувати при обчисленні швидкодій нетипових пристроїв:

Оскільки нетиповий пристрій лише один (процесор), усю залишкову вартість можна використати на нього:

Середній час перебування задачі в такій системі дорівнює:

Результати моделювання наведені на рисунку 6.1.

Синтез СОО заданной стоимости Предельная стоимость системы оперативной обработки Smin=9115.627 единиц стоимости

Szz=6577.001 единиц стоимости Неопределенный коэффициент 1/sqrt_q=73.241

Быстродействие процессора при первом приближении V1=782.039 тысяч операций в секунду Количество типовых устройств:

HD=40

ST=0

CK=15

Избыточная стоимость S0=1197.813 единиц стоимости Быстродействие процессора после распределения избыточной стоимости V1=814.584 тысяч операций в секунду Стоимость системы при полученных параметрах S=9115.627 единиц стоимости Рисунок 6.1 — Розрахунки СОО заданої вартості

На рисунку 6.2 наведена структурна схема СОО заданої вартості.

Рисунок 6.2 — Структурна схема СОО заданої вартості

7. МОДЕЛЮВАННЯ КОМП’ЮТЕРНОЇ СИСТЕМИ програма код швидкодія процесор Програма моделювання комп’ютерної системи написана на мові С++. Весь програмний код міститься в одному файлі kursovoi.cpp. В середовищі Borland C++ version 3.1 було створено виконуваний файл kursovoi.exe. Після виконання kursovoi. exe буде сформовано 2 файли: part1. txt та part2.txt. В перший файлі записується мінімальна швидкодія процесора, для кожної дисципліни обслуговування записуються отримані результати для 5 різних швидкодій процесора від Bmin до 2*Bmin з кроком 0,25*Bmin. В другий файл записуються характеристики розрахованих комп’ютерних систем мінімальної конфігурації, з заданим часом перебування та з заданою вартістю. Всі початкові дані для розрахунку містяться в програмі й користувачу не потрібно вводити ці дані при роботі з програмою.

Програма працює наступним чином. З основної процедури main () послідовно викликаються процедури, які виконують певну частину розрахунків. Спочатку викликається процедура processor (), яка обчислює мінімальну швидкодію процесора згідно формул в 2 розділі та збільшує її на 10% відсотків для більш надійної роботи КС. Далі 4 рази викликається процедура disciplina (int choice, float Bproc), де змінюється параметр choice: 0- це безпріоритетна дисципліна обслуговування, 1- з відносним пріоритетом, 2- з абсолютним пріоритетом, 3- зі змішаним пріоритетом. Відповідно до параметру choice формується матриця пріоритетів розміром 5×5 та виконуються обчислення згідно формул в розділі 3. Матриця для БП ДО заповнюється нулями. В матриці для ДО з відносним пріоритетом більш високий пріоритет надається потокам з меншим гранично допустимим часом очікування, тобто 1. Для потоків з однаковим гранично допустимим часом очікування більш високий пріоритет надається потокам з меншою трудомісткістю. Аналогічно виконується побудова матриці пріоритетів для ДО з АП, тільки елементами матриці будуть числа 2 та 0. Побудова матриці пріоритетів для ДО зі ЗП виконується інакше. Спочатку пріоритети призначаються аналогічно ДО з АП. Потім почергово змінюється пріоритет на відносний та перераховується функція штрафу за допомогою функції shtraf (float Bproc). Якщо функція штрафу стала меншою, то зміна пріоритету фіксується, мінімальним штрафом стає розрахований. Інакше — повертається абсолютний пріоритет. При роботі зі змішаним пріоритетом визначається оптимальна швидкодія Boptim, яка забезпечує функцію штрафу менше 0.01. Після закінчення роботи процедур disciplina (int choice, float Bproc) викликається процедура sintezKS (). Вона почергово проводить розрахунок характеристик КС мінімальної конфігурації, з заданим часом перебування та з заданою вартістю. Формули для розрахунку наведені у відповідних розділах. При цьому використовується визначена раніше оптимальна швидкодія процесора Boptim.

8. ПОРІВНЯННЯ АНАЛІТИЧНИХ РОЗРАХУНКІВ З РЕЗУЛЬТАТАМИ МОДЕЛЮВАННЯ На рисунку 8.1 наведено графік залежності часу очікування від швидкодії процесора для 18 заявки для всіх дисциплін обслуговування.

Рис. 8.1 — Графік залежності часу очікування від швидкодії процесора для 18 заявки для всіх дисциплін обслуговування На рисунку 8.2 наведено графік залежності часу очікування від завантаження потоком 18 заявки для всіх дисциплін обслуговування. На рисунку 8.3 наведено графік залежності часу очікування від пріоритету заявок для всіх дисциплін обслуговування при оптимальній швидкодії процесора 548 403 операцій в секунду. Пріоритет вказано для номера відповідної заявки в скобках.

Рис. 8.2 — Графік залежності часу очікування від завантаження потоком 18 заявки для всіх дисциплін обслуговування Рис. 8.3 — Графік залежності часу очікування від пріоритету заявок для всіх дисциплін обслуговування при оптимальній швидкодії процесора Аналітично передбачалася наступна закономірність: при безпріоритетній дисципліні обслуговування час очікування буде відносно великим. При введенні відносних пріоритетів часи очікування можуть зменшитися. Те саме при введенні абсолютних пріоритетів. Все ці закономірності відображені на графіках. Дисципліна обслуговування зі змішаним пріоритетом майже не змінила часи очікування потоків заявок, але дозволила трохи зменшити функцію штрафу. При розрахунку параметрів СОО оптимальність розподілу вартості по апаратним компонентам передбачає, що система з більшою вартістю повинна мати більшу продуктивність. Система мінімальної конфігурації при вартості 4557.813 одиниць має середній час відповіді 61.334 с. Система, яка коштує 4882.930 одиниць, має середній час відповіді 30.667 с. Отже, результати моделювання співпали з передбаченими результатами.

ВИСНОВКИ В результаті виконання курсової роботи визначена середня трудомісткість алгоритмів заявок, обчислена мінімальна швидкодія процесора, необхідна для розв’язання потоку цих заявок, обрана найбільш вдала дисципліна обслуговування та розраховані параметри системи оперативної обробки мінімальної конфігурації, із заданим часом перебування та заданою вартістю.

Побудова логічних схем заявок та визначення середньої трудомісткості алгоритмів заявок методом марківських ланцюгів відбулися без використання комп’ютера. Всі інші параметрі, які зазначені вище, були розраховані за допомогою програми, написаній на мові С++. Результати моделювання підтвердили очікувані закономірності. Спираючись на отримані результати програми, були побудовані графіки залежності часу очікування від швидкодії процесора, від завантаження потоком заявок, від пріоритету заявки для всіх дисциплін обслуговування.

ПЕРЕЛІК ПОСИЛАНЬ

1. Методичні вказівки до виконання курсової роботи з курсу «Комп'ютерні системи» / Співст.: В.М.Струнілін. — Донецьк: ДонНТУ, 2008. — 23с.

2. Методичні вказівки по оформленню курсових і дипломних проектів (робіт) / Співст.: В.М.Струнілін. — Донецьк: ДонНТУ, 2010. — 24с.

Додаток А. Програма моделювання. Текст програми

#include

#include

#include

#include

FILE *fout; //файл результата

int flag=0;//флаг оптимального быстродействия

float Bmin, dB, a, c, d; //для процессора

float Boptim=0;//оптимальное быстродействие

float sum1, sum2,sum3,sum4;//для омега

float F;//Вероятностная функция штрафа

float R, l, L;//суммарная загрузка, для длины очереди

float omega[5]; //среднее значение времени ожидания

float v[5]; //среднее значение времени пребывания

float ro[5]; //загрузка потока

float P[5]; //вероятность пребывания

float lambda[5]={ 1.4, 1.0, 1.6, 1.6, 0.9}; //интенсивности потоков

float teta[5]={ 21 020, 138 532, 37 460, 20 416, 41 200}; //трудоемкости

float nu[5]={ 0.8, 0.9, 1.0, 0.9, 0.95}; //коэффициенты вариации

float omega_z[5]={ 0.5, 3.1, 1.3, 1.3, 0.2}; //ограничение по времени ожидания

int q[5][5]={ 0,0,0,0,0, //матрица приоритетов

0,0,0,0,0,

0,0,0,0,0,

0,0,0,0,0,

0,0,0,0,0 };

void processor () //определение быстродействия процессора

{

int i;

for (i=a=c=d=0;i<5;i++)

{

a+=lambda[i]*teta[i];

c+=lambda[i]*teta[i]*teta[i]*(1+nu[i]*nu[i]);

d+=lambda[i]*teta[i]*omega_z[i];

}

Bmin=ceil (0.5*a+sqrt (0.25*a*(a+2*c/d)));

fprintf (fout," Bmin = %7.4f операций в секундуn", Bmin);

Bmin=ceil (Bmin+(Bmin/10));

fprintf (fout," Увеличиваем быстродействие процессора на 10%n");

fprintf (fout," Bmin = %7.4f операций в секундуn", Bmin);

}

double shtraf (float Bproc)

{

int i, j;

for (i=0;i<5;i++)

{

v[i]=(float)teta[i]/Bproc;

ro[i]=lambda[i]*v[i];

}

for (i=0;i<5;i++)

{

for (j=0,sum1=sum2=sum3=sum4=0;j<5;j++)

{

sum1+=q[j][i]*(q[j][i]-1)*ro[j];

sum2+=(2-q[i][j])*(1+q[i][j])*lambda[j]*teta[j]*teta[j]*(1+nu[j]*nu[j]);

sum3+=q[j][i]*(3-q[j][i])*ro[j];

sum4+=(1-q[i][j])*(2-q[i][j])*ro[j];

}

omega[i]=sum2/(Bproc*(2-sum3)*(2-sum4));

omega[i]/=Bproc;

omega[i]+=((teta[i]*sum1)/(Bproc*(2-sum1)));

for (j=0,R=0;j<5;j++)

R+=ro[j];

L=R/(1-R);

l=L*R;

P[i]=R*exp ((-R*omega_z[i])/omega[i]);

}

for (i=0,sum1=F=0;i<5;i++)

{

sum1+=lambda[i];

F+=lambda[i]*P[i];

}

return F;

}

void disciplina (int choice, float Bproc)

{

double cur_shtraf, min_shtraf;

int stb, stk, i, j;

int loop;

if (choice>3)

goto vyhod;

switch (choice)

{

case 0: for (stk=0;stk<5;stk++) //БП

for (stb=0;stb<5;stb++)

q[stk][stb]=0;

goto begin; //БП

case 1: for (stk=0;stk<5;stk++) //ОП

for (stb=0;stb<5;stb++)

if (omega_z[stk]

q[stk][stb]=1;

else

if ((omega_z[stk]==omega_z[stb])&&(stk≠stb))

{

if (teta[stk]

q[stk][stb]=1;

}

goto begin;

case 2: for (stk=0;stk<5;stk++) //АП

for (stb=0;stb<5;stb++)

if (q[stk][stb]==1)

q[stk][stb]=2;

goto begin;

case 3: min_shtraf=shtraf (Bproc); //СП

for (stk=0;stk<5;stk++)

for (stb=0;stb<5;stb++)

if ((stb≠stk)&&(q[stk][stb]==2))

{

q[stk][stb]=1;

cur_shtraf=shtraf (Bproc);

if (cur_shtraf>min_shtraf)

q[stk][stb]=2;

else min_shtraf=cur_shtraf;

}

}

begin:

fprintf (fout," nМатрица приоритетовn");

for (i=0;i<5;i++)

{

for (j=0;j<5;j++)

fprintf (fout," %d «, q[i][j]);

fprintf (fout," n");

}

dB=Bproc/4;

for (loop=0;loop<5;loop++)

{

fprintf (fout," n %u.Быстродействие процессора %7.4f операций в секунду nn", loop+1,Bproc);

fprintf (fout," N Время обслуживания Загрузка Ср.знач.времени Запас по Вероятностьn");

fprintf (fout," ср. знач. 2 нач. мом. потока ожид. пребыв. времени пребыванияn");

for (i=0;i<5;i++)

{

v[i]=(float)teta[i]/Bproc;

ro[i]=lambda[i]*v[i];

}

for (i=0;i<5;i++)

{

fprintf (fout," %3u", i+1);

fprintf (fout," %7.4f", v[i]);

fprintf (fout," %7.4f" ,(float)v[i]*v[i]*(1+nu[i]*nu[i]));

fprintf (fout," %7.4f", ro[i]);

for (j=0,sum1=sum2=sum3=sum4=0;j<5;j++)

{

sum1+=q[j][i]*(q[j][i]-1)*ro[j];

sum2+=(2-q[i][j])*(1+q[i][j])*lambda[j]*teta[j]*teta[j]*(1+nu[j]*nu[j]);

sum3+=q[j][i]*(3-q[j][i])*ro[j];

sum4+=(1-q[i][j])*(2-q[i][j])*ro[j];

}

omega[i]=sum2/(Bproc*(2-sum3)*(2-sum4));

omega[i]/=Bproc;

omega[i]+=((teta[i]*sum1)/(Bproc*(2-sum1)));

fprintf (fout," %7.4f", omega[i]);

fprintf (fout," %7.4f", v[i]+omega[i]);

fprintf (fout," %7.4f", omega_z[i]-omega[i]);

for (j=0,R=0;j<5;j++)

R+=ro[j];

L=R/(1-R);

l=L*R;

P[i]=R*exp ((-R*omega_z[i])/omega[i]);

fprintf (fout," %7.4fn", P[i]);

}

for (i=0,sum1=F=0;i<5;i++)

{

sum1+=lambda[i];

F+=lambda[i]*P[i];

}

if ((flag==0)&&(choice==3)&&(F<=0.01))

{

Boptim=Bproc;

flag=1;

}

fprintf (fout," n");

fprintf (fout," Суммарная интенсивность — %5.4fn", sum1);

fprintf (fout," Суммарная загрузка — %5.4fn", R);

fprintf (fout," Вероятностная функция штрафа — %5.4fn", F);

fprintf (fout," Средняя длина очереди — %5.4fn", l);

Bproc+=dB;

}

vyhod:

}

void sintezKS ()

{

float In[5]={1.4,1.0,1.6,1.6,0.9}; //интенсивность поступления задач

float Ino;//интенсивность потока заявок на решение средней задачи

float Ro;//средняя трудоемкость при решении средней задачи

float buf;

float Rp;//средняя трудоемкость этапа счета

float Po;// верoятность выхода задачи из системы

float Ihd, Ist;// интенсивность обращения к HD и ST

int zck;// число селекторных каналов

float Ick;//интенсивность обращения к селекторным каналам

float Phd, Pst;// вероятности обращения HD и ST

float Lhd, Lst;// средняя длина записи при обращении

float Tck;// среднее время передачи через селекторный канал

float Umin;//ср. время ответа системы

float Upr;//ср. время пребывания задачи на процессоре

float Uhd, Ust;//ср. время пребывания на HD и ST

float Uck;//ср.время пребывания задачи на СК

float Uz;//ограничение на время пребывания

float Uzz;

float Smin;//стоимость системы

float D[10]; //среднее число обращений к файлу

float Do;// суммарное число обращений к файлу при решении средней задачи

char flags[10];

float z1hd, z1st, z2hd, z2st;// количество HD и ST

int zhd, zst;

float Dhd, Dst, Dck;// количество обращений к HD, ST, CK

float R[5]={21.02,138.532,37.460,20.416,41.2};// трудоемкость процессорных операций в тысячах

int N[5][10]={ // ср. число обращений к файлам

{ 0, 0, 3, 5, 7, 9, 1, 0, 0, 0},

{ 0, 0, 0, 0, 7, 9,11, 8, 5, 0},

{ 0, 0, 6, 4, 8, 9,12, 0, 0, 0},

{ 1, 2, 4, 8,10, 0, 0, 0, 0, 0},

{ 0, 0, 0, 8,12, 6, 2, 4, 0, 0} };

float P[10]; // вероятность использования файлов

float Vpr;//минимальное быстродействие

float Inn[10]; // интенсивность обращения к файлам

float T[10]; // предельное время доступа к информации

int M[10]={5,6,7,8,9,10,9,8,7,6};//длина файла

int L[10]={10,9,8,7,6,5,6,7,8,9};//ср.длина записи

float Thd=0.06,Tst=2.0;//ср.время доступа к данным

int Vhd=190,Vst=50;//скорость передачи данных

int Mhd=9,Mst=16;//емкость накопителя

float Dp=4.5;//стоимостной коэффициент

int Shd=80,Sst=35,Sck=150;//стоимость устройств

int n1=1,n2=3; //число нетиповых (CPU) и типовых (HD, ST, CK) устройств

float sqrt_q;//неопределенный коэффициент

float Vi;//быстродействие

int z_hd, z_st, z_ck;//количество типовых устройств

float U1;// задержка в решении задачи, связанная с округлением

float U;

float S;//стоимость ВС

float U1z;//новое ограничение

float Sz;

float Szz;

float sqrt_q1;

float V1;

int z_hd1,z_st1,z_ck1;

float S0;

int i, j;

fprintf (fout," Синтез СОО минимальной конфигурацииn");

for (i=0,Ino=0;i<5;i++)

Ino+=In[i];

fprintf (fout," Интенсивность потока заявок на решение средней задачи Ino=%3.2fn", Ino);

for (i=0,buf=0;i<5;i++)

buf+=In[i]*R[i];

Ro=buf/Ino;

fprintf (fout," Средняя трудоемкость при решении средней задачи Ro=%5.2f тысяч процессорных операцийn", Ro);

fprintf (fout," Среднее число обращений к файлам F[j]: n");

for (i=0;i<10;i++)

{

for (j=0,buf=0;j<5;j++)

{

buf+=In[j]*N[j][i];

}

D[i]=(buf/Ino);

fprintf (fout," D (%u)=%5.3fn", i+1,D[i]);

}

for (i=0,Do=0;i<10;i++)

Do+=D[i];

fprintf (fout," Суммарное число обращений к файлам при выполнении средней задачи Do=%5.3fn", Do);

fprintf (fout," Вероятность использования файла F[j] при решении задач: n");

for (i=0;i<10;i++)

{

P[i]=D[i]/(Do+1);

fprintf (fout," P (%u)=%4.3fn", i+1,P[i]);

}

Rp=Ro/(Do+1);

fprintf (fout," Средняя трудоемкость этапа счета Rp=%5.2f тысяч операцийn", Rp);

Po=1/(Do+1);

fprintf (fout," Вероятность выхода задачи из системы Po=%4.3fn", Po);

Vpr=((Boptim)/1000);

fprintf (fout," Быстродействие процессора, которое обеспечивает минимальную функцию штрафа «);

fprintf (fout," Vpr=%f тысяч операций в секундуn", Vpr);

fprintf (fout," Интенсивность обращения к файлам F[j]: n");

for (i=0;i<10;i++)

{

Inn[i]=(float)Ino*D[i];

fprintf (fout," Inn (%u)=%4.3fn", i+1,Inn[i]);

}

fprintf (fout," Предельное время доступа к информации: n");

for (i=0;i<10;i++)

{

if (Inn[i]≠0)

{ T[i]=(float)1/Inn[i];

fprintf (fout," T (%u)=%4.3ft", i+1,T[i]);

}

else

{T[i]=-1;

fprintf (fout," T (%u)=неопределенноt", i+1);

}

if (T[i]≠-1)

{

if (T[i]

{

fprintf (fout," необходимо размеcтить на HDn");

flags[i]='h';

}

else

{

fprintf (fout," необходимо размеcтить на STn");

flags[i]='s';

}

}

else

{

fprintf (fout," неопределенно n");

flags[i]='u';

}

}

for (i=0,Dhd=Dst=0;i<10;i++)

{

if (flags[i]=='h')

Dhd+=D[i];

else

Dst+=D[i];

}

fprintf (fout," Количество обращений к HD Dhd=%5.3fn", Dhd);

fprintf (fout," Количество обращений к ST Dst=%5.3fn", Dst);

Ihd=Ino*Dhd;

fprintf (fout," Интенсивность обращения к HD Ihd=%5.3fn", Ihd);

Ist=Ino*Dst;

fprintf (fout," Интенсивность обращения к ST Ist=%5.3fn", Ist);

z1hd=(Ihd*Thd);

z1st=(Ist*Tst);

fprintf (fout," Количество HD по коэффициенту загрузки Z1hd=%5.3fn", z1hd);

fprintf (fout," Количество ST по коэффициенту загрузки Z1st=%5.3fn", z1st);

for (i=0,z2hd=z2st=0;i<10;i++)

{

if (flags[i]=='h')

z2hd+=M[i];

else

z2st+=M[i];

}

z2hd=(z2hd/Mhd);

z2st=(z2st/Mst);

fprintf (fout," Количество HD по емкости Z2hd=%5.3fn", z2hd);

fprintf (fout," Количество ST по емкости Z2st=%5.3fn", z2st);

if ((z1hd>0)&&(z2hd>0))

{

if (z1hd>z2hd)

zhd= ceil (z1hd);

else

zhd= ceil (z2hd);

}

else

zhd=0;

if ((z1st>0)&&(z2st>0))

{

if (z1st>z2st)

zst= ceil (z1st);

else

zst= ceil (z2st);

}

else

zst=0;

fprintf (fout," Выбранное количество HD в проектируемой системе Zhd=%un", zhd);

fprintf (fout," Выбранное количество ST в проектируемой системе Zst=%un", zst);

Ick=Ino*Do;

fprintf (fout," Интенсивность обращения к селекторным каналам Ick=%5.3fn", Ick);

for (i=0,Phd=Pst=Lhd=Lst=0;i<10;i++)

{

if (flags[i]=='h')

{

Phd+=P[i];

Lhd+=L[i]*P[i];

}

else

{

Pst+=P[i];

Lst+=L[i]*P[i];

}

}

fprintf (fout," Вероятность обращения к HD Phd=%5.3fn", Phd);

fprintf (fout," Вероятность обращения к ST Pst=%5.3fn", Pst);

Lhd=Lhd/Phd;

if (Pst>0)

Lst=Lst/Pst;

else

Lst=0;

fprintf (fout," Средняя длина записи при обращении к HD Lhd=%5.3f Кбn", Lhd);

fprintf (fout," Средняя длина записи при обращении к ST Lst=%5.3f Кбn", Lst);

Tck=Lhd*Phd/Vhd+Lst*Pst/Vst;

zck=ceil (Ick*Tck);

fprintf (fout," Среднее время передачи средней записи через селекторный канал Tck=%5.3f cn", Tck);

fprintf (fout," Количество селекторных каналов Zck=%un", zck);

Upr=Ro/(Vpr-Ino*Ro);

if (zhd>0)

Uhd=Thd/(1-Ihd*Thd/zhd);

else

Uhd=0;

if (zst>0)

Ust=Tst/(1-Ist*Tst/zst);

else

Ust=0;

if (zck>0)

Uck=Tck/(1-Ick*Tck/zck);

else

Uck=0;

Umin=Upr+Dhd*Uhd+Dst*Ust+Do*Uck;

fprintf (fout," Среднее время пребывания средней задачи на процессоре Upr=%6.3f cn", Upr);

fprintf (fout," Среднее время пребывания на HD Uhd=%5.3f cn", Uhd);

fprintf (fout," Среднее время пребывания на ST Ust=%5.3f cn", Ust);

fprintf (fout," Среднее время пребывания заявки в селекторном канале Uck=%5.3f cn", Uck);

fprintf (fout," Среднее время ответа в СОО Umin=%5.3f cn", Umin);

Smin=Dp*Vpr+zck*Sck+zhd*Shd+zst*Sst;

fprintf (fout," Стоимость СОО Smin=%5.3f единиц стоимости", Smin);

fprintf (fout," nn Синтез СОО с заданным временем пребыванияn");

Uz=0.5*Umin;

fprintf (fout," Ограничение по времени пребывания Uz=%5.3f сn", Uz);

fprintf (fout," Количество типовых устройств N1=%unКоличество нетиповых устройств N2=%un", n2, n1);

Dck=Dhd+Dst;

Uzz=Uz-(Dhd*Thd+Dst*Tst+Dck*Tck);

fprintf (fout," Результирующее значение Uzz=%5.3f сn", Uzz);

sqrt_q=(sqrt (Ro*Dp)+(Thd*sqrt (Dhd*Ihd*Shd)+Tst*sqrt (Dst*Ist*Sst)+Tck*sqrt (Dck*Ick*Sck)))/Uzz;

fprintf (fout," Неопределенный коэффициент Лагранжа sqrt_q=%5.3fn", sqrt_q);

Vi=Vpr+sqrt_q*sqrt (Ro/Dp);

fprintf (fout," Быстродействие при первом приближении Vprmin=%5.3f тысяч операций в секундуn", Vi);

z_hd=ceil (Ihd*Thd+Thd*sqrt_q*sqrt (Dhd*Ihd/Shd));

z_st=ceil (Ist*Tst+Tst*sqrt_q*sqrt (Dst*Ist/Sst));

z_ck=ceil (Ick*Tck+Tck*sqrt_q*sqrt (Dck*Ick/Sck));

fprintf (fout," Количество типовых устройств: n");

fprintf (fout," t HD=%unt ST=%unt CK=%un", z_hd, z_st, z_ck);

if (z_st>0)

{

U1=Uz-((Dhd*z_hd*Thd/(z_hd-Ihd*Thd))+(Dst*z_st*Tst/(z_st-Ist*Tst))+(Dck*z_ck*Tck/(z_ck-Ick*Tck)));

Показати весь текст
Заповнити форму поточною роботою