Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Itogi_Shpory

.pdf
Скачиваний:
41
Добавлен:
18.03.2015
Размер:
2.33 Mб
Скачать

104.Пример анализа производительности с применением теории планирования в реальном времени

На примере круиз-контроля проанализируем худший случай, когда от ЦП требуется больше всего времени: машина движется в режиме автоматического управления с максимальной скоростью вращения вала. Пусть период j-ой периодической

задачи равен Тj, время ее выполнения Сj, а коэффициент использования ЦП Uj = Сj / Тj. Во время, потребляемое каждой периодической задачей, включены затраты на два контекстных переключения.

К примеру, пусть в системе круиз-контроля Интерфейс Вала имеет наименьший период 10 мс. Значит, ему будет присвоен наибольший период. И пусть будут две задачи

Интерфейс Дросселя и Автодатчики – с одинаковыми периодами по 100 мс. Задача Автодатчики активна всегда, а задача Интерфейс Дросселя – только в режиме автоматического управления. Задаче Автодатчики назначен более высокий приоритет, поскольку от полученной ею входной информации (например, о нажатии тормоза) может зависеть воздействие на дроссель. Самый низкий приоритет у задачи, которая имеет максимальный период.

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

105.Анализ производительности по теории планирования в реальном времени и анализа последовательности событий

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

эквивалентной апериодической задачи равен Тe. Предположим, что Тe – это еще и максимальное время реакции на действия водителя. Например, если Тe составляет 250 мс, то система должна отреагировать на нажатие тормоза или отключение круиз-контроля в течение 250 мс. Для эквивалентной периодической задачи последовательности событий будем считать, что водитель способен инициировать не более четырех внешних событий в секунду, это худший и крайне маловероятный случай. Тем не менее, если удастся доказать, что система может справиться и с такой ситуацией, уверенность в ее работоспособности многократно возрастет.

106. Пересмотр проекта

Если первоначальный проект не отвечает требованиям, предъявляемым к эффективности, то его необходимо пересмотреть. Для этого применяются критерии разбиения на задачи и критерии инверсии задач, в частности более слабые формы группировки задач (темпоральная инверсия) и другие виды инверсии: инверсия нескольких экземпляров задачи и инверсия последовательных задач.

Если бы в примере системы круиз-контроля были проблемы с производительностью, то прежде всего стоило бы подумать об инверсии последовательных задач. Например, в ситуации, когда необходимо скорректировать скорость автомобиля, задача Круиз-Контроль посылает команду задаче Корректировка Скорости, которая, в свою очередь, отправляет сообщения задаче Интерфейс Дросселя. Эти три задачи можно объединить, применив инверсию последовательных задач, то есть заменив их одной задачей Круиз-Контроль с пассивными объектами Корректировка Скорости и Интерфейс Дросселя. Таким образом можно устранить накладные расходы на межзадачные коммуникации и контекстное переключение.

107. Оценка и измерение параметров производительности

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

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

Ниже приведены параметры, которые нужно оценить для каждой задачи:

период задачи Тi, то есть частота ее выполнения. Для периодических задач период фиксирован. Для апериодических задач берется худший случай: минимальное время между последовательными внешними событиями, которые ее активизируют;

время выполнения Сi, то есть потребляемое задачей время процессора. На этапе проектирования можно лишь приблизительно охарактеризовать эту величину. Оцените число строк исходного текста задачи и число команд в откомпилированном коде. Воспользуйтесь контрольными примерами, написанными на выбранном языке для работы на выбранном оборудовании под управлением выбранной операционной системы. Сравните результаты контрольного примера с его размером, чтобы получить оценку времени выполнения откомпилированного кода.

Следующие три показателя необходимо определить, выполняя измерения для контрольного примера, работающего в тех же условиях:

затраты на контекстное переключение. Время, которое операционная система расходует на передачу ЦП от одной задачи к другой;

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

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

Эти параметры включаются в расчет времени ЦП, потребляемого задачей, как было показано в примерах выше.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]