Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Анализ производительности с помощью анализа последовательности событий ⇐ ПредыдущаяСтр 9 из 9
На этапе определения требований задается время реакции системы на внешние события. После разбиения на задачи можно предпринять первую попытку выделения временных бюджетов параллельным задачам. Для выявления задач, которые необходимо выполнить при обслуживании данного внешнего события, используется анализ последовательности событий. Чтобы показать последовательность событий и задач, активизируемых приходом внешнего события, применяется диаграмма последовательности событий, основанная на диаграмме параллельной кооперации. Следует рассмотреть внешнее событие, определить, какая задача ввода/вывода активизируется таким событием и какая ожидается цепочка внутренних событий. Для этого необходимо знать, какие задачи активизируются и какие задачи ввода/вывода генерируют отклик системы на внешнее событие. Далее нужно оценить время ЦП, потребляемое каждой задачей, и накладные расходы, состоящие из затрат на контекстное переключение, обработку прерывания и межзадачные коммуникации и синхронизацию. Надо проанализировать также другие задачи, выполняемые в тот же период времени. Суммарное время ЦП, потребляемое всеми задачами, которые участвуют в цепочке событий, и всеми дополнительными задачами, которые исполнялись в то же время, плюс накладные расходы – все вместе не должно превысить заданное время реакции системы. Если вы не знаете точно времени ЦП, потребляемого каждой задачей, принимайте оценку для худшего случая. Для анализа полного коэффициента использования ЦП необходимо рассчитать время, потребляемое каждой задачей на данном интервале. Если существует несколько путей выполнения задачи, то нужно получить оценку времени для каждого из них. Затем следует оценить частоту активизации задач. Для периодических задач это легко. Для асинхронных задач удобно рассмотреть среднюю и максимальную частоту активизации. Умножьте время ЦП для каждой задачи на ее частоту активизации, просуммируйте результаты и вычислите коэффициент использования ЦП. 102. Анализ производительности с помощью теории планирования в реальном времени и анализа последовательности событий Вместо того чтобы рассматривать задачи по отдельности, необходимо изучить все задачи, участвующие в некоторой последовательности событий. Сначала исполняется задача, активизируемая внешним событием, которая инициирует цепочку внутренних событий, а они, в свою очередь, активизируют другие задачи. Необходимо убедиться, что все задачи, вошедшие в цепочку, способны завершить исполнение вовремя. Для начала назначьте всем задачам в цепочке одинаковые приоритеты. С точки зрения теории планирования в реальном времени вместо них можно рассмотреть одну эквивалентную задачу. В качестве периода эквивалентной задачи устанавливается время в худшем случае между последовательными приходами внешнего события, активизирующего цепочку. Чтобы определить, удовлетворяет ли эквивалентная задача временным ограничениям, нужно применить теоремы из теории планирования в реальном времени – в частности, рассмотреть вытеснение высокоприоритетными задачами, блокировку низкоприоритетными задачами и время выполнения эквивалентной задачи. Пример анализа производительности с помощью анализа последовательности событий. В качестве примера рассмотрим подсистему Круиз-Контроль из системы круиз-контроля и мониторинга. Вначале проанализируем случай, когда водитель переводит ручку круиз-контроля в положение «Разгон», инициируя тем самым автоматическое ускорение машины. В требованиях к системе записано, что система должна отреагировать на это действие в течение 250 мс. Предположим, что подсистема Круиз-Контроль находится в состоянии Начальное. Имеем некоторую последовательность событий С1 – С9. Полное время, которое ЦП расходует на эти четыре задачи (Сe ), равно сумме времен выполнения каждой задачи и времени, необходимого для межзадачных коммуникаций, плюс затраты на контекстное переключение: Сe = С1 + C2 + С3 + С4 + С5 + С6 + С7 + С8 + 4Сx. Чтобы определить время реакции системы, необходимо также принять во внимание другие задачи, которые способны выполняться, пока система обрабатывает внешнее событие. Полное время ЦП не должно превышать предельное время реакции, указанное в требованиях к системе. Это полное время равно Сt = Сe + Сa Прежде чем решать приведенные уравнения, нужно оценить каждый из временных параметров. Пример: Запуск дубль гиса. Для того что бы запустить дубль гис нужно включить компьютер.Он включается и запускаются автоматические задачи, после нажимаем на дубль гис и ждем когда она загрузится. Можно анализировать по ходу как улучшить производтельность с помощью последовательности задач. При загрузке компьютера можно убрать ненужные задачи и тд. 104. Пример анализа производительности с применением теории планирования в реальном времени Проанализируем худший случай, когда от ЦП требуется больше всего времени: машина движется в режиме автоматического управления с максимальной скоростью вращения вала. Пусть период j-ой периодической задачи равен Тj, время ее выполнения Сj, а коэффициент использования ЦП Uj = Сj / Тj. Во время, потребляемое каждой периодической задачей, включены затраты на два контекстных переключения. В табл.11.3 приведены характеристики всех периодических задач. Частотно-монотонные приоритеты присваиваются задачам так, что более приоритетными оказываются задачи с меньшим периодом. Значит, самый высокий приоритет будет иметь задача Интерфейс Вала. Задача Автодатчики активна всегда, а задача Интерфейс Дросселя – только в режиме автоматического управления. Задаче Автодатчики назначен более высокий приоритет, поскольку от полученной ею входной информации (например, о нажатии тормоза) может зависеть воздействие на дроссель. Самый низкий приоритет у задачи Таймер Обслуживания, которая имеет максимальный период. Отметим, что доступ к разделяемым хранилищам данных включает одну команду чтения или одну команду записи. Это настолько мало, что временем задержки из-за блокировки одной задачи другой допустимо пренебречь. 105. Анализ производительности по теории планирования в реальном времени и анализа последовательности событий Эквивалентная апериодическая задача. Необходимо учесть влияние, которое оказывает дополнительная нагрузка, вызванная действиями водителя, на стационарную нагрузку, обусловленную периодическими задачами. Из теории планирования в реальном времени следует, что апериодическую задачу можно рассматривать как периодическую с периодом, равным минимальному интервалу между событиями. Пусть период эквивалентной апериодической задачи равен Тe. Предположим, что Тe – это еще и максимальное время реакции на действия водителя. Например, если Тe составляет 250 мс, то система должна отреагировать на нажатие тормоза или отключение круиз-контроля в течение 250 мс. Для эквивалентной периодической задачи последовательности событий будем считать, что водитель способен инициировать не более четырех внешних событий в секунду, это худший и крайне маловероятный случай. Тем не менее, если удастся доказать, что система может справиться и с такой ситуацией, уверенность в ее работоспособности многократно возрастет. Назначение других приоритетов. Сначала рассмотрим допущение о том, что всем задачам можно назначить частотно-монотонные приоритеты. Пересмотр проекта Если первоначальный проект не отвечает требованиям, предъявляемым к эффективности, то его необходимо пересмотреть. Для этого применяются критерии разбиения на задачи и критерии инверсии задач, в частности более слабые формы группировки задач (темпоральная инверсия) и другие виды инверсии: инверсия нескольких экземпляров задачи и инверсия последовательных задач. Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 1348; Нарушение авторского права страницы