22
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ «КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ» Цибаєв Євгеній Ігорович УДК 004.051:004.272 МЕТОДИ І ЗАСОБИ ПРОГНОЗУВАННЯ ЧАСУ ВИКОНАННЯ ПРОГРАМ В СПЕЦІАЛІЗОВАНИХ КОМПЮТЕРНИХ СИСТЕМАХ Спеціальність 05.13.05 – Компютерні системи та компоненти АВТОРЕФЕРАТ дисертації на здобуття наукового ступеня кандидата технічних наук Київ – 2015

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ

«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»

Цибаєв Євгеній Ігорович

УДК 004.051:004.272

МЕТОДИ І ЗАСОБИ ПРОГНОЗУВАННЯ ЧАСУ ВИКОНАННЯ ПРОГРАМ

В СПЕЦІАЛІЗОВАНИХ КОМП’ЮТЕРНИХ СИСТЕМАХ

Спеціальність 05.13.05 – Комп’ютерні системи та компоненти

АВТОРЕФЕРАТ дисертації на здобуття наукового ступеня

кандидата технічних наук

Київ – 2015

Page 2: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

Дисертацією є рукопис. Робота виконана на кафедрі системного програмування і спеціалізованих

комп’ютерних систем в Національному технічному університеті України «Ки-ївський політехнічний інститут» Міністерства освіти і науки України.

Науковий керівник: кандидат технічних наук, доцент кафедри системного програмування і спеціалізованих комп’ютерних систем Плахотний Микола Вікторович, Національний технічний університет України «Київський політехнічний інститут» , доцент.

Офіційні опоненти: доктор технічних наук, професор Опанасенко Володимир Миколайович, Інститут кібернетики ім. В.М. Глушкова НАН України, провідний науковий співробітник, доктор технічних наук, професор Пономаренко Леонід Анатолійович, Міжнародний науково-навчальний центр інформацій-них технологій і систем НАН України та МОН України, головний науковий співробітник.

Захист відбудеться «08» червня 2015 р. о 14.30 годині на засіданні спеціа-

лізованої вченої ради Д 26.002.02 у Національному технічному університеті України «Київський політехнічний інститут» (м. Київ, пр. Перемоги, 37, корп. 18, ауд. 516). Відгуки на автореферат у двох примірниках, завірені печаткою установи, просимо надсилати на адресу: 03056, м. Київ, пр. Перемоги, 37, вченому секре-тарю Національного технічного університету України «Київський політехніч-ний інститут».

З дисертацією можна ознайомитися у бібліотеці Національного технічного університету України «Київський політехнічний інститут» за адресою: 03056, м. Київ, пр. Перемоги, 37.

Автореферат розісланий «05» травня 2015 р.

Вчений секретар спеціалізованої вченої ради Д 6.002.02 кандидат технічних наук, доцент

Орлова М.М.

Page 3: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

1

ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ

Актуальність теми. Для спеціалізованих комп’ютерних систем (СКС) ха-рактерна чітка визначеність переліку функцій до початку проектування. Конк-ретні технічні вимоги та перелік задач залишається незмінним на всіх етапах життєвого циклу системи: від розробки до завершення експлуатації. Значна кі-лькість СКС базується на обчислювальних системах реального часу (СРЧ). СРЧ - це системи, для яких специфіковані вимоги до часу вирішення задач. В залеж-ності від цих вимог розрізняють м’які та жорсткі СРЧ.

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

У зв’язку з необхідністю вирішення проблеми планування задач у СРЧ за-пропоновані та набули розвитку два підходи - використання статичних алгори-тмів планування Rate Monotonic Sсheduling (RMS) та динамічні алгоритми пла-нування Earliest Deadline First (EDF). В свою чергу, планувальники можуть бути засновані на принципах витискання задач, або таких, що не витискають задачі.

Алгоритми планування, що витискають задачі, забезпечують більшу ефек-тивність планування і тому в ОС СРЧ набагато частіше використовуються. Кла-сичні алгоритми призначення пріоритетів задачам використовують тільки уні-кальні пріоритети для кожної задачі. Однак, дуже часто виникає необхідність в призначенні ряду задач одного пріоритету. В такому випадку рекомендовано найбільш простий та ефективний метод розв’язання протиріч між задачами од-ного пріоритету - виконання у порядку надходження (алгоритм FIFO). Тобто, загальний алгоритм обслуговування вимог на використання задач можна відно-сити до класу Multilevel Queue Scheduling (MQS), а алгоритм обслуговування вимог кожної з пріоритетних черг-складових - до типу FIFO.

Незалежно від того, за яким принципом обрано планування задач, обов’язково слід визначити, чи піддається плануванню створювана СРЧ. Тобто, чи буде вона у кожному конкретному випадку потенційно працездатною.

До складу задач СРЧ, як правило, входять: періодичні задачі (входять у стан виконання періодично) та спорадичні задачі (виконуються при виникненні пев-них ситуацій). В загальному випадку можливо існування декількох періодичних потоків задач одночасно. Може статися так, що система іноді не буде в змозі опрацювати всі вимоги задач на виконання і вкластися у наперед визначений період часу. Такі обставини обов’язково мають бути з’ясовані як можна раніше, на ранніх стадіях розробки програмного забезпечення (ПЗ). Якщо це з’ясується тільки на стадії комплексного налагодження ПЗ або впровадження, це може призвести до повної повторної переробки проекту або, навіть, до виникнення аварійних ситуацій на об’єкті впровадження СРЧ. Тому у процесі розробки ПЗ декілька разів вдаються до відповідної перевірки шляхом обчислення так зва-

Page 4: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

2

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

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

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

Слід зазначити, що всі запропоновані на даний час моделі СМО, базуються на використанні нескінчених джерел вимог. При певних умовах вимоги можуть отримати відмову на обслуговування, а це входить у протиріччя з особливостя-ми функціонування СКС. Кожна з задач СКС, що виставила вимогу на вико-нання, обов’язково має бути виконана. Це означає, що для запобігання похибки, методи прогнозу повинні базуватись на аналізі моделей СМО зі скінченними джерелами запитів. На теперішній час практично відсутні розробки комплекс-них методів та інструментальних засобів, які б дозволили виконувати прогнозу-вання часу виконання програм на всіх стадіях розробки ПЗ СКС - від прогнозу-вання часу виконання окремої програми в автономному режимі до визначення часу її виконання у відповідній програмній системі, що включає затримки від перебування у черзі та витискання більш пріоритетними задачами. Тому теоре-тичне обґрунтування та експериментальне доведення методів і засобів прогно-зування часу виконання програм у СРЧ є своєчасним і актуальним.

Теоретичним підґрунтям для досліджень, що виконані у дисертаційній ро-боті, були роботи вчених України та зарубіжжя: С. Вагнера, Е.І. Ватутіна, Б.В. Гнеденка, М.В. Данилова, Н. Джейсуола, В.Г. Зайцева, А.П. Капітонової, В.М. Караулова, І.М. Коваленка, Є.В. Ларкіна, В.В. Ліпаєва, Л.А. Овчарова, В.М. Опанасенка, Л.А. Пономаренка, І.В. Романовського, В.П. Широчина та ряду інших авторів.

Зв'язок роботи з науковими програмами, планами, темами. Дисертаційна робота виконувалась відповідно до планів науково-дослідних

робіт кафедри системного програмування і спеціалізованих комп’ютерних сис-тем (СП і СКС) факультету прикладної математики (ФПМ) Національного тех-нічного університету України «КПІ» у рамках держбюджетних тем:

- № 2230-п - «Grid-орієнтовані засоби забезпечення інформаційної стійкості прогресивних освітніх комп’ютерних технологій» (державний реєстраційний номер - 0109U000527);

- № 2300-ф - «Методи організації високоефективних спеціалізованих схо-вищ даних науково-освітнього призначення на основі кластерних обчислюваль- них технологій» (державний реєстраційний номер 0210U000261);

Page 5: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

3

- № 2600-ф - «Методи організації інтелектуального програмного забезпе-чення розподіленого навчального інформаційного середовища освіти для ста-лого розвитку» (державний реєстраційний номер 0113U000715).

У наведених роботах автором запропоновано методи оцінки часових харак-теристик розроблених алгоритмів і програм.

Мета і задачі дослідження. Метою роботи є теоретичне обґрунтування та експериментальне доведення можливості створення методів та засобів прогно-зування часу виконання програм в спеціалізованих комп’ютерних системах ре-ального часу. Реалізація поставленої мети передбачає вирішення таких науково-технічних задач:

- дослідження та обґрунтування методів прогнозування часу виконання програм та її лінійних блоків за текстом програми мовою високого рівня;

- теоретичне обґрунтування та експериментальне доведення методів про-гнозування часу виконання складних розгалужених програм, що складаються з функціональних блоків, час виконання яких наперед відомий;

- теоретичне обґрунтування та експериментальне доведення методу про-гнозування загального часу виконання програм у програмному комплексі СРЧ, що використовує алгоритми планування, засновані на пріоритетах задач;

- створення прикладного програмного забезпечення (інструментарію), яке реалізує запропоновані методи прогнозування часу виконання програм СКС.

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

Предметом дослідження є методи та засоби прогнозування часу виконання програм у програмних комплексах СКС реального часу.

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

Наукова новизна одержаних результатів полягає в теоретичному обґрун-туванні комплексного підходу до створення нових додаткових методів прогно-зування часу виконання програм, що дозволяє виконувати перевірку критерію здійсненності під час розробки проекту ПЗ СКС реального часу і сприяє своє-часному виявленню та запобіганню помилок.

Конкретні наукові результати полягають у наступному: - вперше запропоновано новий метод прогнозування часу виконання склад-

них розгалужених програм, що складаються з функціональних блоків, який ба-зується на представленні моделі виконання програми випадковим марківським процесом з дискретним часом, і відрізняється від подібних методів тим, що при обчисленні часових характеристик вперше використовує рівняння Колмогоро-ва-Чепмена, що суттєво спрощує процедуру обчислення та знімає обмеження на загальну кількість функціональних блоків програми, що досліджується;

- вперше запропоновано новий метод прогнозування повного часу виконан- ня програм СРЧ, який відрізняється тим, що базується на використанні замкне- ної моделі СМО та враховує пріоритети задач;

Page 6: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

4

- вперше запропоновано новий метод прогнозування часових характеристик задач СРЧ, який відрізняється від існуючих тим, що дозволяє визначити часові характеристики виконання задач j-го пріоритету шляхом аналізу взаємодії двох моделей СМО: об’єднаної моделі задач, пріоритет яких менше j, та моделі задач j-го пріоритету; метод дозволяє суттєво зменшити обчислювальну складність і виконувати аналіз проектних рішень в режимі безпосереднього діалогу.

Практичне значення одержаних результатів полягає в створенні теорети-чних засад для розробки нових та удосконалених алгоритмів і інструментарію, які дозволяють застосовувати запропоновані методи для прогнозування часу виконання програм у ПЗ СКС СРЧ. Це дозволило оперативно виконувати обчи-слення критеріїв здійсненності, підвищити якість та скоротити час розробки ПЗ. При необхідності оперативної реконфігурації програмних комплексів за-пропоновані методи та ПЗ можуть бути використані як основа для створення системи оперативного аналізу варіантів реконфігурації.

Матеріали дисертації використовуються при виконанні науково-дослідних робіт кафедри СП і СКС факультету прикладної математики НТУУ «КПІ» та впровадженні в лекції і лабораторному практикумі учбових дисциплін: «Про-грамне забезпечення спеціалізованих комп’ютерних систем», «Операційні сис-теми».

Особистий внесок здобувача. Дисертація є самостійно виконаною науко-вою роботою автора, яка була проведена на кафедрі СП і СКС ФПМ НТУУ «КПІ». Основні результати дисертаційної роботи отримані автором самостійно.

У публікаціях, написаних у співавторстві, здобувачу належать: [4, 6, 9, 13] - методи та алгоритми прогнозування часу виконання складних розгалужених програм, що складаються з окремих блоків; [3, 8, 10, 12] - методи та алгоритми прогнозування часу виконання програм у програмних комплексах СРЧ, що за-сновані на пріоритетах задач; [7, 11, 14] - способи підвищення ефективності ме-тодів прогнозування часу виконання програм в автономному режимі виконан-ня; [1, 2, 5] - алгоритми та програмне забезпечення для прогнозування часових характеристик програм.

Апробація роботи. Основні положення дисертації та отримані наукові і практичні результати доповідалися, обговорювалися і отримали позитивні оці-нки на наступних науково-практичних конференціях:

- п’ята наукова конференція магістрантів та аспірантів «Прикладна мате-матика та комп’ютінг ПМК 2013», 10 - 12 квітня 2013 р., м. Київ (Національний технічний університет України «Київський політехнічний інститут»);

- 15-а Міжнародна науково-технічна конференція SAIT 2013 «System analy-sis and information technologies», 27 - 31 травня 2013 р., м. Київ;

- VI Міжнародна науково-технічна конференція «Комп’ютерні та мережні технології» (CSNT - 2013), 11 - 13 червня 2013 р., м. Київ;

- 6-а Міжнародна науково-технічна конференція «Advanced Computer Sys- tems and Networks: Design and Application», 16 - 18 вересня 2013 р., м. Львів, Україна;

Page 7: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

5

- 6-а Міжнародна конференція DESSERT 2014 «Гарантоздатні системи, сервіси та технології», 12 - 14 травня 2014 р., м. Київ;

- четверта Міжнародна науково-технічна конференція «Інформаційні тех-нології та комп’ютерна інженерія», 28 - 30 травня 2014 р., м. Вінниця, Україна.

Публікації. За результатами наукових досліджень опубліковано 14 науко-вих робіт, з яких 6 статей у науково-технічних періодичних фахових виданнях (з яких 4 статті реферуються науково-метричними базами даних: «BASE», «Google Scholar» та «Index Copernicus» (Польща)), та 8 публікацій у збірниках тез доповідей науково-технічних конференцій.

Структура і обсяг роботи. Дисертаційна робота складається з вступу, чо-тирьох розділів з висновками до кожного розділу, висновків, списку використа-них літературних джерел (88 найменувань) та 2 додатків. Загальний обсяг робо-ти складає 133 сторінки, 40 рисунків та 16 таблиць.

ОСНОВНИЙ ЗМІСТ ДИСЕРТАЦІЇ

У вступі дисертаційної роботи обґрунтовано актуальність напряму дослі-дження, сформульовано мету, основні завдання та положення, що визначають наукову новизну та практичну цінність виконаних досліджень. Вказано на зв'я-зок досліджень з науковими програмами і планами науково-дослідних робіт Міністерства освіти і науки України та Національного технічного університету України «Київський політехнічний інститут». Наведено відомості про апроба-цію та публікації автора, а також особистий внесок здобувача.

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

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

Доведено, що при прогнозуванні часу відгуку програми, яка представлена мовою високого рівня, доцільно розробити методи, що базуються на викорис-танні WinAPI-функцій: QueryPerformenceFrequency( ) та QueryPerformence-Counter( ) (Windows).

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

З'ясовано, що визначення цих характеристик виконується за допомогою моделі роботи програми у вигляді випадкового процесу з дискретними станами та дискретним часом. Для таких процесів переходи системи (процесу) S зі ста-

Page 8: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

6

ну в стан можливі тільки у певні наперед визначені моменти часу. У проміжках між такими переходами система S зберігає свій попередній стан. Якщо система S може перебувати в станах 1 2 ,, , , nS S S… то переходи можливі тільки у ви-значені моменти часу 1 2 ., , , kt t t… Ці моменти називають кроками процесу і

розглядають процес ( )S k як функцію цілочисельного аргументу: 1, 2, , k… (k - номер кроку). Якщо випадковий процес S має таку властивість, коли для кож-ного моменту часу 0t ймовірність будь-якого з можливих станів системи у на-ступному (при 1 0t t> ) залежить тільки від її стану при 0t t= та не залежить від

того, як і коли система S потрапила у цей стан, цей процес називають марків-ським.

Для будь-якого кроку такого процесу існують ймовірності переходу з будь-якого стану в інший стан. Такі ймовірності називають перехідними ймовірнос-

тями марківського ланцюга. Якщо позначити Pij - ймовірність переходу за один

крок зі стану Si в стан Sj, а Pii - ймовірність затримки у стані i на певному кро-ці, ці ймовірності можна представити у вигляді матриці P порядку :n

11 12 1

21 22 2

1 2

, , ... ,

, , ... ,

.........................

, ... , ,

n

n

nnn n

P P P

P P PP

P P P

=

. (1)

Оскільки система S у довільний момент часу t може перебувати тільки в од-

ному зі станів Si(k), =1, ,i n то при кожному k (k=1, 2, … , ) події S1(k), … , Sn(k) є несумісними і утворюють повну групу подій. Отже, сума ймовірностей у ко-жному рядку матриці дорівнює 1, тобто

1j

ijP =∑ .

Для кожного k стан процесу S характеризується вектором ймовірностей станів 1 2( ) ( ), ( ), ... , ( )nP k P k P k P k− , при цьому

( ) 1ii

P k =∑

для будь-якого кроку k. Згідно матриці (1), процес S(k) може бути представлений графом переходів

,G де вершинам відповідають стани випадкового процесу S, а орієнтованим ре-

брам - ймовірності переходу Pij . На рис. 1 наведено приклад такого графу пере-ходів. Якщо на графі G існують тупикові вершини, з яких немає переходів, такі вершини називають поглинаючими, а сам процес - поглинаючим марківським ланцюгом. Потрапляючи у поглинаючий стан, процес S припиняється. Напри-клад, на рис. 1 вершина S7 - поглинаюча.

Page 9: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

7

Рис. 1. Граф переходів програми

Модель поглинаючого марківського ланцюга добре узгоджується з моделлю виконання програми, якщо станам процесу S співставити функціональні блоки програми, а ймовірностям переходу - переходи між блоками. При цьому почат-ку програми ставлять у відповідність початковий стан процесу S при 0t t= , а за-вершенню програми - поглинаючий стан. Якщо наперед відомі час виконання кожного з блоків програми iτ та матриця ймовірності переходу P , можна ство-

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

Проаналізовано декілька відомих методів визначення вказаних часових ха-рактеристик виконання програм. Серед них: метод «фундаментальної матриці» та статистичного моделювання поглинаючого марківського ланцюга.

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

Обґрунтована необхідність розробки більш досконалого методу обчислення часових характеристик, заснованого на рівнянні Колмогорова-Чепмена.

Проаналізовано особливості існуючих моделей функціонування комплексу програм СКС з метою визначення повного часу виконання програми, врахову-ючи час очікування в чергах, що використовують або не використовують пріо-ритети задач. Ці черги можуть обслуговуватись як у порядку надходження, так і з урахуванням пріоритету. Слід визначити, який час вимога на виконання про-грами проводить у черзі і яким буде загальний час обслуговування вимоги (або відгуку задачі).

Проаналізовано відомі моделі СМО, які використовують для визначення ча-сових характеристик виконання програм. За результатами проведеного аналізу обрано напрямки подальших досліджень. Зроблено висновок: моделі СМО, які відповідають особливостям функціонування комплексу задач СКС, мають бути замкненими. На даний час не відомі методи використання такого класу моделей СМО для прогнозування часових характеристик комплексу програм.

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

Page 10: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

8

що представлені мовою високого рівня. Метод базується на використанні Win-API-функцій: QueryPerformanceCounter( ) та QueryPerformanceFrequency( ). Фу-нкція QueryPerformanceCounter( ) отримує поточне значення високочастотного лічильника, а за допомогою функції QueryPerformanceFrequency( ) переводять значення лічильника в одиниці часу. Для більшої релевантності замірів викону-ється прив’язка поточного потоку до одного з ядер процесора та встановлюєть-ся для поточного процесу найвищий пріоритет.

Всю логіку замірів винесено в окремий клас TimeMeasure. При конструю-ванні класу визначено параметри, які передбачають не тільки вимір часу вико-нання задачі, як певної одиниці, але можуть бути застосовані і при вимірі пев-ної кількості функціональних блоків - складових задачі: TimeMeasure tm(N, M, TimeModifier) де N - кількість блоків, M - максимальна кількість замірів часу виконання кожного блоку, якщо він зустрічається декілька разів при вирішенні задачі. TimeModifier використано для можливості зміни одиниці виміру (1- секунди, 1000 - мілісекунди, 1000000 - мікросекунди, тощо).

У класі TimeMeasure передбачено дві функції Start та Save. Функція Start( ) розпочинає відлік часу виконання, а функція Save( ) фіксує час виконання бло-ку. Бібліотека TimeMeasure створена вперше та дозволяє ефективно прогнозу-вати час виконання як цілої програми, так і її окремих функціональних блоків. Нижче наведено фрагмент лістингу програми алгоритму Шелла після додаван-ня класу TimeMeasure:

#include <iostream> #include <cstdlib> #include "time_measure.h" #define SIZE 10000 void shell_sort(double* a) { TimeMeasure tm(6, 10, 1000); /*block 0*/ tm.Start(); double tmp; int d = SIZE / 2; bool b1_cond = d > 0; tm.Save(0); /*block 0 end*/ while (b1_cond) { ……………. /*block 5*/ tm.Start(); d /= 2; b1_cond = d > 0; tm.Save(5); /*block 5 end*/ }

Виклики функцій Start( ) та Save( ) вставлені в тіло програми як маркери, що відокремлюють блоки, час виконання яких досліджується, а для передачі пара-

Page 11: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

9

метрів об’єкту класу TimeMeasure використовується TimeMeasure tm(N, M, TimeModifier).

У дисертації лістинг програми наведено повністю як приклад застосування методу.

На рис. 2 наведено граф переходів програми, де у вершинах графу простав-лені номери відповідних блоків програми цифрами, а номери операторів пере-ходу - літерою С з індексом.

Рис. 2. Граф переходів програми

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

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

1, ) (nP k при k→ → ∞ . Оскільки k → ∞ є математичною абстракцією, критерієм завершення про-

цедури можна обрати, наприклад, 0,( 9999) 9nP k ≈ . Як доведено у першому розділі дисертації, для визначення вектора-рядка

станів, при переході від кроку 1k − до кроку ,k слід взяти добуток ( ) ( 1) ,P k P k= − P

де P - матриця перехідних ймовірностей.

Page 12: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

10

Тобто, якщо процес потрапляє у поглинаючий стан за K кроків, то відповідно до рівняння Комогорова-Чепмена ( ) (0) ,КP К P= P де (0)P - вектор-рядок у початковий момент дискретного часу 0t , тобто 1 2(0) ( (0), (0), ... , (0))nP P P P= .

Визначимо середню величину проміжку часу ( )kT між сусідніми кроками ( 1)k − , k . Ця величина дорівнює

1

( ) ( 1) i

n

ii

T k P k τ=

= −∑ .

В дисертації доведено, що середній час виконання K кроків до поглинання (завершення програми) T можна обчислити як:

1 1

( 1) ii

K n

j iT P j τ

=== −∑ ∑ .

В середньому, на кожному кроці j система знаходиться у стані iS час it або

( 1)i i it P j τ= − , тоді за K кроків час знаходження у стані iT :

1

( 1)K

i i ij

T P j τ=

= −∑ .

В середньому, кількість разів потрапляння системи у стан iS - iK буде станови-

ти: /i i iK T τ=

або 1

( 1)i ij

KP jK

== −∑ ,

де 1

n

i iK K

==∑ .

В дисертації наведено приклади розрахунку величин , , iT K K . Доведено, що

при використанні запропонованого методу знімаються обмеження на загальну кількість блоків програми, яка досліджується.

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

Запропоновано для прогнозування часових характеристик комплексу про-грам СКС, що не використовують пріоритети задач, обрати відому класичну модель СМО, яка має назву моделі СМО про «простій верстатів». У цьому ви-падку, часові характеристики виконання комплексу програм досить просто мо-жуть бути обчислені за відомими формулами, коли ця модель - марківська. Проаналізовано особливості використання основних видів пріоритетних дисци-плін у сфері керування програмами. Встановлено, що серед відомих алгоритмів планування, які найчастіше використовують ОС СРЧ, є алгоритм MQS, а алго-ритм кожної черги-складової - FIFO. Модель СМО за алгоритмом FIFO у дисе-ртації дістала назву базової. Досліджено та проаналізовано процес визначення

Page 13: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

11

часових характеристик базової моделі, граф випадкового процесу якої можна представити, як на рис. 3.

µ µ µ µ

nλ ( 1)n λ− 2λ λ

Рис. 3. Граф випадкового процесу S

Стани випадкового процесу перенумеровані від 0 до n, де n - кількість задач у системі, λ - середня щільність потоку задач, µ - середня щільність потоку вирішення задач; 1 /µ ν= , ν - середній час вирішення однієї задачі.

Граничні ймовірності станів iP , за якими можуть бути визначені часові ха-

рактеристики виконання програм, обчислюються за наведеними в дисертації формулами через значення величини 0P - граничної ймовірності незайнятості обслуговуючого пристрою:

02 3 1((1 ( 1) ( 1)( 2) ... ( 1) ...1 )nP n n n n n n n nρ ρ ρ ρ −= + + − + − − + + − , (2)

де ρ - приведена інтенсивність, /ρ λ µ= . Проаналізовано метод та запропоновано спосіб об’єднання базових моде-

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

моделі СМО є те, що в залежності від стану системи змінюється кількість ви-мог, що можуть виставити задачі. Тому слід визначити, чому дорівнює матема-тичне очікування потоку вимог λ , яке може виставити одна задача. Якщо за математичне очікування обрати середньоарифметичне, то для пулу задач базо-вої моделі λ може бути обчислена як:

1

1 n

iin

λ λ=

= ∑ ,

де iλ - середня інтенсивність i-ї задачі пулу задач базової моделі, n- кількість

задач у пулі. Відповідно, за математичне очікування часу обслуговування задач візьмемо

середньоарифметичне ν :

1

1 1, = ,

n

iin

ν ν µν=

= ∑

де iν - середній час вирішення i-ї задачі.

В дисертації доведено, що параметри об’єднаної базової моделі декількох пулів задач можна визначити наступним чином. Якщо позначити номери пріо-ритетів пулів задач від 1 до j −1, а параметри базових моделей кожного пулу як

, , i i inλ µ , тоді параметри об’єднаної базової моделі визначаться як:

1 2 1... jn n n n −= + + + , (3)

Page 14: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

12

1 1 2 2 1 1

1 2 1

...

...j j

j

n n n

n n n

λ λ λλ − −

+ + +=

+ + + , (4)

1 1 2 2 1 1

1 2 1

...1

...j j

j

n n n

n n n

ν ν νν

µ− −

+ + += =

+ + + . (5)

В дисертації доведено, що в результаті аналізу запропонованої базової мо-делі СМО можна прогнозувати такі характеристики: середній час обслугову-вання вимог - ;T середню пропускну спроможність вирішення задач - A (кіль-кість задач в одиницю часу); середній час очікування у черзі - очT ; середній час вирішення задачі, включаючи час перебування у черзі - pT ; середню кількість

задач, що вимагають обслуговування ω . Обчислення слід виконати за форму-лами:

01 Pnω

ρ−

= − , (6)

011( )

PT n

µ ρ−

= − , (7)

00

1(1 )

PA P µ

ν−

= − = , (8)

,рT rν ν= + (9)

де r - кількість вимог, що знаходяться у черзі; 0P - гранична ймовірність незай-нятості обслуговуючого пристрою, що обчислюється за формулою (2). 0(1 )r Pω= − − ; (10) 0рT Pνω ν= + ; (11)

0рT T Pν= + ; (12)

рочT T ν= − . (13)

Аналіз виразів (6 - 13) доводить, що всі часові характеристики базових мо-делей СМО залежать тільки від величини 0P - граничної ймовірності незайня-тості обслуговуючого пристрою. У зв’язку з цим досліджено, за яких умов (граничних значень параметрів базової моделі) модель СМО може вважатись марківською. Для цього виконано порівняння величин характеристики 0P для марківської та немарківської (з постійним часом обслуговування) моделей, як функції від приведеної інтенсивності ρ при однаковій кількості задач n.

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

Доведено, що для визначення граничних ймовірностей станів слід вирішити систему рівнянь:

Page 15: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

13

0

1

11

0, 1;; j

j ij ijn i

i

nP k P k P j n+

+=

−− == + −Σ

0=1

n

ii

P=Σ

безпосередньо або за допомогою рекурентної формули:

1 10 0 1

1

11 ( ) ,j

jn j n n

j ii

j j iP kk P k P P−+

−+

=

−−−

− −

=

Σ

де ( ) C (1 ) e ; = .j j ii

jijk e ρρ λρ

µ− −−−=

В результаті експериментального дослідження встановлено, що при величи-нах параметру приведеної інтенсивності ρ від 0,001 до 0,2 відповідна модель може вважатись марківською для 100n ≤ .

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

Доведено, що з урахуванням особливостей базових моделей СМО з k рів-нями абсолютних пріоритетів, які наведено у першому розділі дисертації, для визначення стаціонарних часових характеристик виконання задач j-го пріорите-ту слід зробити наступні припущення: обидві базові моделі є марківськими, об-слуговування в обох моделях відбувається в порядку надходження вимог; па-раметри об’єднаної базової моделі визначаються відповідно до рівнянь (3 - 5); середній час обслуговування вимог j-го пріоритету не залежить від наявності вимог, пріоритет яких ;i j> фактична середня інтенсивність обслуговування вимог j-го пріоритету залежить від наявності вимог, пріоритет яких ,i j< тобто від наявності вимог об’єднаної базової моделі; потоки вимог всіх рівнів пріори-тету взаємонезалежні.

Якщо позначити базові моделі кожного рівня пріоритету через ;iX 1, i m= ,

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

пріоритету j залежить від обслуговування сумісної черги вимог, пріоритети яких i j< ( і не залежить від вимог, пріоритет яких i j> ). Тобто, вимоги 1-го рівня пріоритету не залежать від вимог, пріоритет яких 1i > , а вимоги 2-го рів-ня пріоритету обираються на обслуговування тільки тоді, коли відсутні вимоги 1-го рівня пріоритету.

Рис. 4. Загальна схема взаємодії моделей

Page 16: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

14

Позначимо граничну ймовірність відсутності вимог 1-го рівня пріоритету через (1)

0P , сумісної базової моделі 1-го та 2-го рівнів - (1,2)0 ,P середню інтенсив-

ність обслуговування вимог другого рівня пріоритету без урахування впливу вимог першого рівня пріоритету через 2µ , а через *

2µ - фактичну середню інтен-сивність обслуговування вимог другого рівня пріоритету, яка буде дорівнювати

*2 2µ µ= з ймовірністю (1)

0P і нулю з ймовірністю (1)0(1 )P− . Тобто,

* (1) (1) (1)2 0 2 0 2 0( )0 1 .P P Pµ µ µ= − + =

Вимоги 3-го рівня пріоритету обираються на обслуговування тільки при ві-дсутності вимог першого та другого рівнів пріоритету, тобто

(1,2)*3 0 3Pµ µ= .

Загалом,

1,2,0( ... , -1) * j

j jPµ µ= .

Відповідно, всі характеристики вимог j-го пріоритету обчислюються згідно рівнянь (6 - 13) при зміні параметрів відповідної базової моделі:

(1, 2, ... , -1)

0 *

*

;

;

= / ,

j

jj j

j j

n n

Pµ µ µ

ρ λ µ

=

= =

де 0P обчислюється за формулою (2). Резюме: алгоритм обчислення часових характеристик вирішення задач j-го

пріоритету виконується в три етапи: обчислюються параметри об’єднаної базо-

вої моделі 1 ( 1)j÷ − пріоритетів; обчислюється ймовірність (1 )0

, 2, ... , -1jP базової моделі; визначаються часові характеристики виконання вимог (задач) j-го пріо-ритету.

Четвертий розділ дисертації присвячено розробці інструментальних засо-бів виконання програм у ПЗ СКС реального часу.

До складу інструментарію входять такі програми: засоби прогнозування ча-су виконання програм та окремих її складових (функціональних блоків) у авто-номному режимі виконання (програма TimeMeasure); засоби прогнозування ча-су виконання складних розгалужених програм шляхом математичного моделю-вання випадкового процесу дискретним марківським ланцюгом з поглинаючим станом (програма TimeExecution); засоби порівняння граничних ймовірностей відсутності вимог марківської та немарківської моделей СМО (програма Comparison); засоби прогнозування часових характеристик програм у ПЗ СКС реального часу, що засновані на пріоритетах задач за алгоритмами планування MQS та FIFO (програма Prioritet).

Інструментарій має графічний інтерфейс та дозволяє проводити досліджен-ня у діалоговому режимі.

В додатку А наведено акт про впровадження результатів дисертаційного дослідження, в додатку Б наведені приклади розрахунків критерію здійсненно-сті планування комплексу задач СРЧ.

Page 17: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

15

ВИСНОВКИ

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

Отримані наступні наукові та практичні результати: 1. Удосконалено метод прогнозування часу виконання програм, представле-

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

2. Вперше теоретично обґрунтовано, експериментально доведено та розроб-лено новий метод прогнозування часу виконання складних розгалужених про-грам, що складаються з функціональних блоків, час виконання яких наперед відомий, який базується на представленні моделі виконання програми випадко-вим марківським процесом з дискретними станами та дискретним часом і відрі-зняється від подібних методів тим, що при обчисленні часових характеристик вперше використано рівняння Колмогорова-Чепмена. Це суттєво спрощує об-числення і знімає обмеження на загальну кількість блоків програми, що дослі-джується.

3. Вперше теоретично обґрунтована та експериментально доведена модель СМО для прогнозування повного часу виконання програм у ПЗ СКС реального часу. З’ясовано умови, за яких запропонована модель СМО - марківська; вико-нання цих умов дає можливість суттєво спростити дослідження часових харак-теристик моделі.

4. Проаналізовано особливості використання основних видів пріоритетних дисциплін у ПЗ СКС реального часу. Встановлено, що стосовно таких ПЗ СКС абсолютний пріоритет з дообслуговуванням та абсолютний пріоритет з обслу-говуванням заново є домінуючими.

5. Вперше теоретично обґрунтовано, експериментально доведено та розроб-лено новий метод прогнозування часових характеристик задач кожного з k пріоритетів, який базується на прогнозуванні часових характеристик задач j-го пріоритету через результат взаємодії двох моделей СМО: об’єднаної базової моделі задач, пріоритети яких менше j, та базової моделі j-го пріоритету. У по-рівнянні з існуючими методами, це дозволяє суттєво спростити аналіз проект-них рішень і, завдяки зменшенню кількості обчислень, аналізувати варіанти проектних рішень у режимі безпосереднього діалогу.

6. Вперше створено інструментарій, що реалізує запропоновані методи про-гнозування часу виконання програм СРЧ, який дозволяє аналізувати проектні рішення, засновані на алгоритмі планування MQS у програмних комплексах СКС реального часу за рахунок оперативної багаторазової перевірки критеріїв. Інструментарій має графічний інтерфейс та дозволяє проводити дослідження у діалоговому режимі.

Page 18: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

16

СПИСОК ОПУБЛІКОВАНИХ ПРАЦЬ ЗА ТЕМОЮ ДИСЕРТАЦІЇ

1. Зайцев В.Г. Проектування і впровадження системи автоматичної класи-фікації документів для кінцевої множини мов / В.Г. Зайцев, Лан Чуньлинь, Є.І. Цибаєв // Вісник університету «Україна». Серія «Інформатика, обчислювальна техніка та кібернетика». – Київ: Університет «Україна». – 2010. – № 8. – С. 137-140. Здобувачу належить метод прогнозування часу виконання програми кла-сифікації документів.

2. Зайцев В.Г. Система контролю доступу на паркувальний майданчик / В.Г. Зайцев, М.В. Плахотний, Є.І. Цибаєв. // Вісник університету «Україна». Серія Інформатика, обчислювальна техніка та кібернетика. – Київ: Університет «Україна». – 2011. – № 2. – С. 208-211. Здобувачу належить розробка програм-ної системи та прогнозування часу виконання програми, що складається з фу-нкціональних блоків.

3. Зайцев В.Г. Алгоритм дослідження характеристик багатопріоритетних моделей програм / В.Г. Зайцев, М.В. Плахотний, Є.І. Цибаєв // Управління роз-витком складних систем. – Київ: КНУБА – 2013. – № 14. – С. 132-136. (Входить до наукометричних баз «BASE», «Google Sсholar» та Index Copernicus). Здобу-вачу належить доведення та обґрунтування методу прогнозування часових ха-рактеристик програмних комплексів, що використовують пріоритети задач.

4. Зайцев В.Г. Математична модель для оцінки часу виконання програм / В.Г. Зайцев, М.В. Плахотний, Є.І. Цибаєв // Управління розвитком складних систем. – Київ: КНУБА – 2013. – №15. – С.126-129. (Входить до наукометрич-них баз «BASE», «Google Sсholar» та Index Copernicus). Здобувачу належить метод прогнозування часових характеристик програм, що складаються з окремих функціональних блоків.

5. Зайцев В.Г. Інструментарій дослідження характеристик багатопріорите-тних моделей програм / В.Г. Зайцев, Є.І. Цибаєв, В.В. Погорелов // Управління розвитком складних систем. – Київ: КНУБА – 2013. – № 16. – С. 144-147. (Вхо-дить до наукометричних баз «BASE», «Google Sсholar» та Index Copernicus). Здобувачу належать алгоритми та програми прогнозування часових характе-ристик СРЧ.

6. Цибаєв Є.І. Оцінка часу виконання програм / Є.І. Цибаєв, В.Г. Зайцев, М.В. Плахотний // Радіоелектронні і комп’ютерні системи. – Харків: «ХАІ» – 2014. – № 6. – С. 39-42. (Входить до наукометричних баз даних наукової елект-ронної бібліотеки eLIBRARY.RU, Index Copernicus, INSPEC (Institution of Engi-neering and Technology), Великобританія, «Google Sсholar»). Здобувачу нале-жить метод і алгоритм прогнозування часових характеристик програм, що складаються з окремих функціональних блоків, час виконання яких наперед ві-домий.

7. Зайцев В.Г. Математична модель для оцінки часу виконання програм / В.Г. Зайцев, М.В. Плахотний, Є.І. Цибаєв // Збірник тез доповідей П’ятої науко-вої конференції магістрантів та аспірантів «Прикладна математика та

Page 19: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

17

комп’ютінг», 10-12 квітня. – К. : Просвіта, 2013. – С. 121-126. Здобувачу нале-жить розробка математичної моделі прогнозування часу виконання програм.

8. Зайцев В.Г. Алгоритм дослідження характеристик багатопріоритетних моделей програм / В.Г. Зайцев, М.В. Плахотний, Є.І. Цибаєв // Збірник тез до-повідей П’ятої наукової конференції магістрантів та аспірантів «Прикладна ма-тематика та комп’ютінг», 10-12 квітня. – К. : Просвіта, 2013. – С. 127-133. Здо-бувачу належить доведення та обґрунтування методу прогнозування часових характеристик програм.

9. Зайцев В.Г. Математична модель для оцінки часу виконання програм / В.Г. Зайцев, Є.І. Цибаєв // Матеріали 15-ї Міжнародної науково-технічної кон-ференції «Системний аналіз та інформаційні технології» SAIT 2013, Київ, 27-31 травня 2013. – К: ННК «ІПСА» НТУУ «КПІ». – 2013. – С. 433-434. Здобувачу належить доведення та обґрунтування методу прогнозування часових харак-теристик програм, що складаються з функціональних блоків.

10. Зайцев В.Г. Алгоритм оцінки часу виконання програм в багатопріори-тетних системах / В.Г. Зайцев, М.В. Плахотний, Є.І. Цибаєв // Збірник тез VI Міжнародної науково-технічної конференції «Комп’ютерні системи та мережні технології» (CSNT-2013), 11-13 червня. – К. : НАУ, 2013. – С. 46-50. Здобувачу належить доведення методу та алгоритм прогнозування часових характеристик комплексу програм, що використовує пріоритети задач.

11. Зайцев В.Г. Моделювання дискретного марківського ланцюга як метод оцінки часу виконання програм / В.Г. Зайцев, М.В. Плахотний, Є.І. Цибаєв // Збірник тез VI Міжнародної науково-технічної конференції «Комп’ютерні сис-теми та мережні технології» (CSNT-2013), 11-13 червня. – К. : НАУ, 2013. – С. 51-56. Здобувачу належить метод прогнозування часу виконання програм у мо-нопольному режимі виконання.

12. Zaytsev V.G. The research algorithm of the characteristics of multi-priority program models / V.G. Zaytsev, M.V. Plahotnyi, E.I. Tsybaiev // Proceedings of the 6-th International Conference ACSN-2013, Advanced Computer Systems and Net-works: Design and Application, September 16-18. – Львів : Львівська політехніка, 2013. – C. 136-139. Здобувачу належить доведення та обґрунтування методу прогнозування часових характеристик програмних комплексів, що використо-вують пріоритети задач.

13. Zaytsev V.G. Mathematical model for determination of program execution time / V.G. Zaytsev, M.V. Plahotnyi, E.I. Tsybaiev // Proceedings of the 6-th Interna-tional Conference ACSN-2013, Advanced Computer Systems and Networks: Design and Application, September 16-18. – Львів : Львівська політехніка, 2013. – C. 132-135. Здобувачу належить обґрунтування методу прогнозування часових харак-теристик програм, що складаються з окремих функціональних блоків.

14. Зайцев В.Г. Оцінка часу виконання програм / В.Г. Зайцев, М.В. Плахо-тний, Є.І. Цибаєв // Тези доповідей Четвертої міжнародної науково-технічної конференції «Інформаційні технології та комп’ютерна інженерія», 28-30 травня. – Вінниця : ВНТУ, 2014. – С. 271-274. Здобувачу належить метод прогнозу-вання часу виконання програм.

Page 20: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

18

АНОТАЦІЯ

Цибаєв Є.І. Методи і засоби прогнозування часу виконання програм у спеціалізованих комп’ютерних системах. - Рукопис.

Дисертація на здобуття наукового ступеня кандидата технічних наук за спе-ціальністю 05.13.05 – Комп’ютерні системи та компоненти. - Національний те-хнічний університет України «Київський політехнічний інститут», Київ, 2015.

У роботі досліджені методи та засоби прогнозування часу виконання про-грам у програмних комплексах спеціалізованих комп’ютерних систем (СКС) реального часу.

Запропоновано новий метод прогнозування часу виконання програм, що складаються з окремих функціональних блоків, час виконання яких наперед ві-домий. Метод базується на представленні моделі виконання задачі у вигляді випадкового процесу з дискретними станами та дискретним часом і використо-вує рівняння Колмогорова-Чепмена для прогнозування часу виконання програ-ми.

Запропоновано метод обчислення часових характеристик виконання про-грам у програмних комплексах СКС, що використовують пріоритети задач. Ме-тод відрізняється від існуючих тим, що базується на аналізі взаємодії двох мо-делей систем масового обслуговування (СМО): об’єднаної моделі СМО пулу задач вищих пріоритетів та задач пріоритету, що досліджується.

Створено інструментарій, що реалізує запропоновані методи та дозволяє аналізувати варіанти проектів ПЗ у режимі безпосереднього діалогу.

Ключові слова: час виконання програми, марківський процес, взаємодія мо-делей СМО, моделі функціонування програм.

АННОТАЦИЯ

Цибаев Е.И. Методы и средства прогнозирования времени выполнения программ в специализированных компьютерных системах. - Рукопись.

Диссертация на соискание учёной степени кандидата технических наук по специальности 05.13.05 – Компьютерные системы и компоненты. - Националь-ный технический университет Украины «Киевский политехнический инсти-тут», Киев, 2015.

В диссертационной работе исследованы методы и средства прогнозирова-ния времени выполнения программ в программных комплексах специализиро-ванных компьютерных систем (СКС), которые используют алгоритмы, осно-ванные на приоритетах задач.

Проведен анализ существующих методов измерения времени выполнения программ и их отдельных составляющих (функциональных блоков), которые выполняются в монопольном режиме.

Доказано, что измерение времени выполнения программ, которые записаны на языке высокого уровня, следует рассматривать как прогнозирование време-ни, а сам процесс измерения целесообразно выполнять с использованием Win-API-функций: QueryPerformanceCounter( ) и QueryPerformanceFrequency( ).

Page 21: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

19

Метод измерения усовершенствован путём создания специальной библиотеки TimeMeasure, что позволило упростить прогнозирование за счёт использования режима непосредственного диалога. Экспериментально доказано, что при про-гнозировании предложенным методом имеется возможность оперативно изме-нять серии испытаний, масштабируя время и количество измерений как про-граммы в целом, так и её отдельных функциональных блоков.

Предложена и проанализирована модель выполнения программы, которая состоит из определённого числа функциональных блоков. Доказано, что такая модель может быть представлена случайным процессом с дискретными состоя-ниями и дискретным временем в виде марковской цепи с поглощающим состо-янием.

Установлено, что использование существующих методов исследования та-ких моделей с целью определения временных характеристик программ связано с рядом трудностей вычислительного характера, которые накладывают суще-ственные ограничения на общее количество блоков, из которых состоит про-грамма.

Предложен новый метод прогнозирования времени выполнения программы на таких моделях, который отличается тем, что при определении временных характеристик программы впервые использовано уравнение Колмогорова-Чепмена. Использование предложенного метода существенно упрощает вычис-ления и снимает ограничения на общее число функциональных блоков иссле-дуемой программы.

Доказано, что для прогнозирования полного времени выполнения програм-мы (включая время пребывания в очереди) в программной системе, которая не использует приоритеты задач, целесообразно использовать модель замкнутой системы массового обслуживания (СМО). Эта модель в работе названа базовой.

Проведено исследование и установлено, при каких граничных значениях параметров эта модель может считаться марковской. Исследованы особенности использования основных видов приоритетных дисциплин при управлении зада-чами в программном обеспечении специализированных компьютерных систем реального времени.

Установлено, что доминирующими дисциплинами являются абсолютный приоритет с дообслуживанием и абсолютный приоритет с обслуживанием за-ново. Доказано, что в случае марковских моделей СМО и использования абсо-лютных приоритетов, общее среднее время обслуживания неприоритетного требования с дообслуживанием равно общему среднему времени с обслужива-нием заново.

Установлено, что в случае использования абсолютного приоритета обслу-живаются только приоритетные требования до тех пор, пока они существуют. Наличие неприоритетных требований (или требований, приоритет которых ни-же) никак не влияет на обслуживание требований, приоритет которых выше.

Проведен анализ взаимодействия базовых моделей пулов задач нескольких приоритетов.

Page 22: МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ... · 2015-05-27 · Київ – 2015. ... Конк-ретні технічні вимоги та перелік

20

Доказано, что для определения стационарных временных характеристик пу-ла задач j-го приоритета необходимо рассматривать две базовые модели СМО: объединённую базовую модель СМО задач 1 ( 1)j÷ − приоритетов и базовую модель СМО j-го приоритета, с учётом зависимости последней по каналу «ги-бель» от объединённой базовой модели.

Впервые предложен новый метод определения временных характеристик пула задач каждого из k приоритетов, который основан на определении времен-ных характеристик выполнения задач j-го приоритета через использование ре-зультата взаимодействия двух моделей СМО: объединённой базовой модели задач, приоритеты которых меньше j и базовой модели j-го приоритета. По сравнению с существующими методами, это позволяет существенно упростить анализ проектных решений и, благодаря уменьшению объёма вычислений, ана-лизировать варианты в режиме непосредственного диалога.

Впервые создан инструментарий (пакет прикладных программ), который реализует предложенные методы прогнозирования времени выполнения про-грамм в программных комплексах СКС реального времени. Инструментарий имеет графический интерфейс и позволяет проводить исследования в диалого-вом режиме.

Ключевые слова: время выполнения программы, марковский процесс, взаи-модействие моделей СМО, модели функционирования программ.

ABSTRACT

I.I. Tsybaiev. Methods and means of the program execution time prediction in the specialized computer systems. - Manuscript.

Thesis for a candidate’s degree in technical science, specialty 05.13.05. - Com-puter systems and components. - National Technical University of Ukraine "Kyiv Polytechnic Institute", Kyiv, 2015.

This research work studies the predicting of program execution time of real-time multi-priority bundle software for the specialized computer systems (SCS). The pro-posed method for predicting the execution time of programs which is based on indi-vidual functional blocks with known times of its execution. The method is based on the task’s model representation as a random process with discrete states and discrete time. It is also used the Kolmogorov-Chapman’s equation to predict the programs execution time.

The method for calculating the stationary time characteristics of multi-priority bundle software complexes (SCS) has also been submitted. It differs from the exist-ing ones in being based on the analysis of the interaction of two queuing system models (QS): the unified model of the QS task pool of higher priority and priority problems, which are under study.

The toolkit has been created that implements the proposed methods and allows of analyzing the options for software projects in the mode of a direct dialogue.

Keywords: run-time, Markov process, the QS model interaction, the program op-eration models.