Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции - Часть 11.doc
Скачиваний:
59
Добавлен:
02.05.2014
Размер:
2.12 Mб
Скачать

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

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

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

Сv = С4 + C6 + C8 (уравнение 4)

Время, необходимое для выполнения двух задач в новой последовательности обработки события Сee равно

Cee = C1 + C2 + Cv + Cm + 2Сx (уравнение 5)

Интересно сравнить уравнение 5 (в последовательности только две задачи) с уравнением 1 из раздела 17.5 (в последовательности четыре задачи); накладные расходы на обмен сообщениями уменьшились с 3Сm до Сm , а на контекстное пере­ключение – с 4Сx до 2Сx . Воспользовавшись оценками времени из табл. 17.2, уви­дим, что полное время выполнения сократилось с 35 до 32 мс. Если бы накладные расходы были выше, экономия оказалась бы более существенной. Например, при Сm = 3 мс и Сx = 2 мс общее время выполнения апериодических задач уменьшится с 47 до 37 мс.

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

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

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

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

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

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

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

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

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

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

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

289