RUS | UKR | ENG || ДонНТУ > Портал магистров ДонНТУ
Магистр ДонНТУ Иваненко Иван Иванович

Иванов Юрий Александрович

Факультет вычислительной техники и информатики
Специальность: Системное программирование

Тема выпускной работы:

Исследование и разработка алгоритмов планирования процессов реального времени моделирования сложных динамических систем

Научный руководитель: Святный Владимир Андреевич


Материалы по теме выпускной работы: Об авторе | Библиотека | Ссылки | Отчет о поиске | | Индивидуальный раздел

Реферат по теме выпускной работы

ВВЕДЕНИЕ

Прогресс современных отраслей техники, технологий и биотехнологий, технологий окружающей среды, зависит от уровня теории и практической реализации методов проектирования автоматизированных технических объектов, технологических установок и линий, которые определяются как сложные динамические системы (СДС).  В перечне факторов безусловного решения проблемы гарантирования новизны и качества проектных решений главное место занимают методы и средства моделирования динамических систем, которые могут использоваться на всех этапах проекта СДС - от формулировки технико-экономических требований, разработки ТЗ и системного проектирования, к испытаниям и началу  опытной эксплуатации [1]. Однако, сложность таких систем может быть высокой (миллионы дифференциальных уравнений), а вследствие этого моделирование потребует значительных аппаратных ресурсов, которые будут использоваться при решении. Однако стоит заметить, что производители аппаратных средств не стоят на месте и с каждым годом рынок высокопроизводительных вычислительных систем пополняется новыми системами и архитектурами.


АКТУАЛЬНОСТЬ

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


ЦЕЛЬ, ЗАДАЧИ, ОБЪЕКТ ИССЛЕДОВАНИЯ

       Целью работы является разработка средства моделирования, с помощью которого возможно исследование моделей сложных динамических систем. В основные задачи входит разработка алгоритма планирования, выбор сложной динамической системы, создание ее модели, исследование процесса моделирования дано модели посредством разработанной системы. Объектом разработки является алгоритм планирования, а предметом средство моделирования.


НАУЧНАЯ НОВИЗНА

Научная новизна состоит в разработке нового средства моделирования, основой которого является разработанный алгоритм планирования.


ОБЗОР ЛИТЕРАТУРЫ

Основные понятия планирования процессов. Планирование - обеспечение поочередного доступа процессов к одному процессору [3]. Планировщик - отвечающая за это часть операционной системы. Алгоритм планирования - используемый алгоритм для планирования. Алгоритм планирования без переключений (неприоритетный) - не требует прерывание по аппаратному таймеру, процесс останавливается только когда блокируется или завершает работу. Алгоритм планирования с переключениями (приоритетный) - требует прерывание по аппаратному таймеру, процесс работает только отведенный период времени, после этого он приостанавливается по таймеру, чтобы передать управление   планировщику. Необходимость алгоритма планирования зависит от задач, для которых будет использоваться операционная система. Основные три системы: системы пакетной обработки - могут использовать неприоритетный и приоритетный алгоритм (например: для расчетных программ); интерактивные системы - могут использовать только приоритетный алгоритм, нельзя допустить чтобы один процесс занял надолго процессор (например: сервер общего доступа или персональный компьютер); системы реального времени - могут использовать неприоритетный и приоритетный алгоритм (например: система управления автомобилем). В работе рассматриваются как раз системы реального времени. Стандартные алгоритмы планирования [4]:

Процессы ставятся в очередь по мере поступления.

Преимущества:

Недостатки:

Преимущества:

Недостатки:

Аналог предыдущего, но если приходит новый процесс, его полное время выполнения сравнивается с оставшимся временем выполнения текущего процесса.

Планировщик доступа выбирает задачи оптимальным образом (например: процессы, ограниченные процессором и вводом/выводом).

Если процессов в памяти слишком много, планировщик памяти выгружает и загружает некоторые процессы на диск. Количество процессов находящихся в памяти, называется степенью многозадачности.

Самый простой алгоритм планирования и часто используемый.

Каждому процессу предоставляется квант времени процессора. Когда квант заканчивается процесс переводится планировщиком в конец очереди. При блокировке процессор выпадает из очереди.

Преимущества:

Недостатки:

Каждому процессу присваивается приоритет, и управление передается процессу с самым высоким приоритетом.

Приоритет может быть динамический и статический.

Динамический приоритет может устанавливаться так:

П=1/Т, где Т- часть использованного в последний раз кванта

Если использовано 1/50 кванта, то приоритет 50.

Если использован весь квант, то приоритет 1.

Т.е. процессы, ограниченные вводом/вывода, будут иметь приоритет над процессами ограниченными процессором.

Часто процессы объединяют по приоритетам в группы, и используют приоритетное планирование среди групп, но внутри группы используют циклическое планирование.

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

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

В системе с n-процессами, каждому процессу будет предоставлено 1/n времени процессора.

 

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

Процессорное время распределяется среди пользователей, а не процессов. Это справедливо если у одного пользователя несколько процессов, а у другого один.

Системы реального времени делятся на:

Внешние события, на которые система должна реагировать, делятся:

Что бы систему реального времени можно было планировать, нужно чтобы выполнялось условие:

                                                   


m - число периодических событий

i - номер события

P(i) - период поступления события

T(i) - время, которое уходит на обработку события

Т.е. перегруженная система реального времени является не планируемой. 

В качестве однородных процессов можно рассмотреть видео сервер с несколькими видео потоками (несколько пользователей смотрят фильм).

Т.к. все процессы важны, можно использовать циклическое планирование.

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

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

Планировщик должен знать:

Рассмотрим пример из трех процессов.

Процесс А запускается каждые 30мс, обработка кадра 10мс

Процесс В частота 25 кадров, т.е. каждые 40мс, обработка кадра 15мс

Процесс С частота 20 кадров, т.е. каждые 50мс, обработка кадра 5мс

Рис. 1 - Три периодических процесса

Проверяем, можно ли планировать эти процессы.

10/30+15/40+5/50=0.808<1

Условие выполняется, планировать можно.

Будем планировать эти процессы статическим (приоритет заранее назначается каждому процессу) и динамическим методами.

Процессы должны удовлетворять условиям:

Приоритет в этом алгоритме пропорционален частоте.

Процессу А он равен 33 (частота кадров)

Процессу В он равен 25

Процессу С он равен 20

Процессы выполняются по приоритету.

 

Рис. 2 - Статический алгоритм планирования RMS (Rate Monotonic Scheduling) 

Наибольший приоритет выставляется процессу, у которого осталось наименьшее время выполнения.

При больших загрузках системы EDF имеет преимущества.

Рассмотрим пример, когда процессу А требуется для обработки кадра - 15мс.

Проверяем, можно ли планировать эти процессы.

15/30+15/40+5/50=0.975<1

Загрузка системы 97.5%

Рис. 3 - Динамический алгоритм планирования EDF (Earliest Deadline First)

(анимация: объем - 51077 байт; размер - 309х195; состоит из 13 кадров; задержка между кадрами - 75 мс; задержка между последним и первым кадрами - 0 мс; количество циклов повторения - 5)


ЗАКЛЮЧЕНИЕ 

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


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Святний В.А. Стан та перспективи розробок паралельних моделюючих середовищ для складних динамічних систем з розподіленими та зосередженими параметрами / В.А Святний, О.В. Молдованова, А.М. Чут // «Паралельне моделювання 2008».

2. Huang W. A parallel computing framework for dynamic power balancing in adaptive mesh refinement applications proceedings of Parallel Computational Fluid Dynamics / W. Huang, D.K. Tafti. Wiiliamsburg.: VA, 1999. 670 p.

3. Таненбаум Э. Современные операционные системы. 2-е изд / Э. Танненбаум. СПб.: Питер, 2002. 1040 с.: ил.

4. Олифер В.Г. Сетевые операционные системы / В.Г. Олифер, Н.А. Олифер. СПб.: Питер, 2002. 504 с.: ил.

5. Информационно аналитический центр о параллельных вычислениях и суперЭВМ [Электронный ресурс] http://parallel.ru

6. Таненбаум Э. Распределенные системы. Принципы и парадигмы / Э. Таненбаум, М. ван Стеен. СПб.: Питер, 2003. 887 с.: ил.

7. Бовет Д. Ядро Linux / Д. Бовет, М. Чезати. СПб.: БХВ-Петербург, 2007. 1104 с.: ил.

8.  Martello S. Knapsack Problems / S. Martello, P. Toth NY.: Wilies, 2006. 275 p.

9. Pochet Y. Production Planning by Mixed Integer Programming / Y. Pochet, Laurence A. Wolsey NY.: Springer, 2000. 260 p.

10. Курс лекций о теории планирования [Электронный ресурс] http://www.intuit.ru/department/os/osintro/3/



ДонНТУ > Портал магистров ДонНТУ || Об авторе | Библиотека | Ссылки | Отчет о поиске | | Индивидуальный раздел