Пример анализа производительности с применением теории планирования в реальном времени
Из табл. 17.3 видно, что полный коэффициент использования ЦП, рассчитанный для 10 задач, равен 0,48, что намного ниже теоретически предельного значения 0,69, которое дает теорема о верхней границе коэффициента использования. Следовательно, если приоритеты назначать согласно алгоритму монотонных частот, то все задачи успеют завершиться в срок. В этом разделе мы опишем теорию планирования… Читать ещё >
Пример анализа производительности с применением теории планирования в реальном времени (реферат, курсовая, диплом, контрольная)
В этом разделе мы опишем теорию планирования в реальном времени применительно к системе круиз-контроля и мониторинга. Сначала речь пойдет только о периодических задачах. А затем в полученные данные будут внесены поправки с учетом апериодических задач, активизируемых действиями водителя.
Проанализируем худший случай, когда от ЦП требуется больше всего времени: машина движется в режиме автоматического управления с максимальной скоростью вращения вала. Пусть период j-ой периодической задачи равен Тj, время ее выполнения Сj, а коэффициент использования ЦП Uj = Сj / Тj. Во время, потребляемое каждой периодической задачей, включены затраты на два контекстных переключения. В табл.11.3 приведены характеристики всех периодических задач.
Таблица 3.
Планирование в реальном времени для системы круиз-контроля и мониторинга: параметры периодических задач.
Задача. | Время ЦП Сi. | Период Тi. | Коэффициент использования Ui. | Приоритет. |
Интерфейс Вала. | 0,20. | |||
Автодатчики. | 0,06. | |||
Путь и Скорость. | 0,04. | |||
Калибровка. | 0,01. | |||
Корректировка Скорости. | 0,60. | |||
Интерфейс Дросселя. | 0,06. | |||
Интерфейс Кнопки Сброса. | 0,01. | |||
Таймер Средних Показателей. | 0,02. | |||
Интерфейс Кнопки Сброса Обслуживания. | 0,01. | |||
Таймер Обслуживания. | 0,01. |
Полный коэффициент использования Un равен 0,48.
Рассмотрим названные периодические задачи:
- — Интерфейс Вала. Предполагается, что эта задача периодическая. На самом деле она апериодическая, так как активизируется прерыванием от вала. Однако прерывания поступают регулярно, при каждом обороте вала, так что задача ведет себя как периодическая. Планируется худший случай, когда вал вращается со скоростью 6000 об/мин, то есть прерывания возникают каждые 10 мс, что составляет минимальный период эквивалентной периодической задачи. Поскольку период данной задачи самый короткий, то ей назначен наивысший приоритет. Время выполнения составляет 2 мс с учетом затрат на два контекстных переключения по 0,5 мс каждое;
- — Автодатчики. Период данной задачи равен 100 мс, а время выполнения с учетом контекстных переключений составляет 6 мс;
- — Путь и Скорость. Период этой задачи 250 мс, а время выполнения — 11 мс;
- — Калибровка. Период равен 500 мс, время выполнения — 5 мс;
- — Корректировка Скорости. При активизации в режиме автоматического управления задача выполняется каждые 250 мс и вычисляет значение дросселя, на что уходит 15 мс;
- — Интерфейс Дросселя. При активизации в режиме автоматического управления задача выполняется каждые 1000 мс и выводит новое положение дроссельной заслонки, на что уходит 6 мс;
- — Интерфейс Кнопок Сброса Средних Показателей. Период равен 500 мс, время выполнения — 4 мс;
- — Таймер Средних Показателей. Эта задача выполняется сравнительно редко, ее период составляет 1 с, а время ЦП — 20 мс. Она некритична по времени;
- — Интерфейс Кнопки Сброса Обслуживания. Период равен 1с, время выполнения — 6 мс;
- — Таймер Обслуживания. Эта задача выполняется еще реже, период равен 2 с, а время выполнения — 15 мс. Она также некритична по времени.
Частотно-монотонные приоритеты присваиваются задачам так, что более приоритетными оказываются задачи с меньшим периодом. Значит, самый высокий приоритет будет иметь задача Интерфейс Вала с периодом 10 мс. У двух задач — Интерфейс Дросселя и Автодатчики — период равен 100 мс. Задача Автодатчики активна всегда, а задача Интерфейс Дросселя — только в режиме автоматического управления. Задаче Автодатчики назначен более высокий приоритет, поскольку от полученной ею входной информации (например, о нажатии тормоза) может зависеть воздействие на дроссель. Две задачи имеют период 250 мс, больший приоритет назначен задаче Путь и Скорость, поскольку она вычисляет значение текущей скорости, используемой задачей Корректировка Скорости, если последняя активна. Самый низкий приоритет у задачи Таймер Обслуживания, которая имеет максимальный период.
Из табл. 17.3 видно, что полный коэффициент использования ЦП, рассчитанный для 10 задач, равен 0,48, что намного ниже теоретически предельного значения 0,69, которое дает теорема о верхней границе коэффициента использования. Следовательно, если приоритеты назначать согласно алгоритму монотонных частот, то все задачи успеют завершиться в срок.
Отметим, что доступ к разделяемым хранилищам данных включает одну команду чтения или одну команду записи. Это настолько мало, что временем задержки из-за блокировки одной задачи другой допустимо пренебречь.