Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все лекции по системам реального времени.pdf
Скачиваний:
251
Добавлен:
02.05.2014
Размер:
8.11 Mб
Скачать

 

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

 

281

 

 

 

 

 

Продолжение табл. 11.2

 

1

2

3

4

 

 

Затраты на Контекст-

0,5

 

 

 

 

ное Переключение

 

 

 

 

 

(Сx)

 

 

 

 

 

Автодатчики (С10)

5

6

 

 

 

Интерфейс Вала (С11)

1

2

 

 

 

Путь и Скорость (С12) 10

11

 

 

Полное время, потраченное ЦП на все задачи, которые участву- ют в обработке последовательности событий, равно 35 мс.

Подстановка данных из табл.11.2 в уравнение 1 дает оценку Сe = 35 мс. Подстановка в уравнение 2 дает Сa = 79 мс. Следователь- но, из уравнения 3 получаем оценку полного времени ЦП: Сt == 114 мс. Это намного меньше, чем 250 мс.

Можно поэкспериментировать с другими значениями парамет- ров, чтобы проверить, насколько оценка времени реакции чувстви- тельна к ошибкам. Например, если окажется, что на контекстное пе- реключение уходит 1 мс, а не 0,5 мс, то Сe возрастет до 37 мс, а Сa до 108 мс. В результате полное время ЦП составит 145 мс, что на 31 мс больше первоначальной оценки, но все же далеко до предельных

250 мс.

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

В этом разделе мы опишем теорию планирования в реальном времени применительно к системе круиз-контроля и мониторинга. Сначала речь пойдет только о периодических задачах. А затем в по-

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

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

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

282

риодической задачей, включены затраты на два контекстных пере- ключения. В табл.11.3 приведены характеристики всех периодиче- ских задач.

Таблица 11.3 Планирование в реальном времени для системы круиз-контроля и мониторинга: параметры периодических задач

Задача

Вре-

Период Тi

Коэффициент

Приори-

 

мя

 

использования

тет

Интерфейс Вала

2

10

0,20

1

Автодатчики

6

100

0,06

2

Путь и Скорость

11

250

0,04

4

Калибровка

5

500

0,01

6

Корректировка Ско-

15

250

0,60

5

рости

 

 

 

 

Интерфейс Дросселя 6

100

0,06

3

Интерфейс Кнопки

4

500

0,01

7

Сброса

 

 

 

 

Таймер Средних

20

1000

0,02

9

Показателей

 

 

 

 

Интерфейс Кнопки

6

1000

0,01

8

Сброса Обслужива-

 

 

 

 

ния

 

 

 

 

Таймер Обслужива-

15

2000

0,01

10

ния

 

 

 

 

Полный коэффициент использования Un равен 0,48.

Рассмотрим названные периодические задачи:

Интерфейс Вала. Предполагается, что эта задача периодиче- ская. На самом деле она апериодическая, так как активизируется пре- рыванием от вала. Однако прерывания поступают регулярно, при ка- ждом обороте вала, так что задача ведет себя как периодическая. Планируется худший случай, когда вал вращается со скоростью 6000 об/мин, то есть прерывания возникают каждые 10 мс, что составляет минимальный период эквивалентной периодической задачи. По-

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

283

скольку период данной задачи самый короткий, то ей назначен наи- высший приоритет. Время выполнения составляет 2 мс с учетом за- трат на два контекстных переключения по 0,5 мс каждое;

Автодатчики. Период данной задачи равен 100 мс, а время выполнения с учетом контекстных переключений составляет 6 мс;

Путь и Скорость. Период этой задачи 250 мс, а время выпол- нения – 11 мс;

Калибровка. Период равен 500 мс, время выполнения – 5 мс;

Корректировка Скорости. При активизации в режиме автома- тического управления задача выполняется каждые 250 мс и вычисля- ет значение дросселя, на что уходит 15 мс;

Интерфейс Дросселя. При активизации в режиме автоматиче- ского управления задача выполняется каждые 1000 мс и выводит но- вое положение дроссельной заслонки, на что уходит 6 мс;

Интерфейс Кнопок Сброса Средних Показателей. Период ра-

вен 500 мс, время выполнения – 4 мс;

Таймер Средних Показателей. Эта задача выполняется срав-

нительно редко, ее период составляет 1 с, а время ЦП – 20 мс. Она некритична по времени;

Интерфейс Кнопки Сброса Обслуживания. Период равен 1с,

время выполнения – 6 мс;

Таймер Обслуживания. Эта задача выполняется еще реже, пе- риод равен 2 с, а время выполнения – 15 мс. Она также некритична по времени.

Частотно-монотонные приоритеты присваиваются задачам так, что более приоритетными оказываются задачи с меньшим периодом. Значит, самый высокий приоритет будет иметь задача Интерфейс Вала с периодом 10 мс. У двух задач Интерфейс Дросселя и Авто-

датчики период равен 100 мс. Задача Автодатчики активна всегда,

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

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

284

Из табл. 17.3 видно, что полный коэффициент использования ЦП, рассчитанный для 10 задач, равен 0,48, что намного ниже теоре- тически предельного значения 0,69, которое дает теорема о верхней границе коэффициента использования. Следовательно, если приори- теты назначать согласно алгоритму монотонных частот, то все задачи успеют завершиться в срок.

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

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

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

первом решении мы заменим четыре задачи из последовательности событий на эквивалентную апериодическую задачу.

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

тировка Скорости и Интерфейс Дросселя не работают, и нагрузка на процессор меньше.

Рассмотрим, что происходит, когда водитель переводит ручку круиз-контроля в новое положение. При анализе последовательности событий и на соответствующей диаграмме показано, что в обработке события участвуют задачи Интерфейс Ручки Круиз-Контроля, Круиз- Контроль, Корректировка Скорости и Интерфейс Дросселя. Время ЦП, необходимое для обработки, задано уравнением 1 (см. раздел 11.5). Хотя в цепочку событий вовлечены четыре задачи, они должны выполняться в строго определенной последовательности, так как ка- ждая следующая активизируется сообщением от предыдущей. По- этому в первом приближении можно считать, что перечисленные за- дачи эквивалентны одной апериодической задаче, на выполнение ко-

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

285

торой уходит время Ce. Ce это сумма времен выполнения четырех отдельных задач плюс затраты на межзадачные коммуникации и кон- текстное переключение. Эквивалентная апериодическая задача назы-

вается задачей последовательности событий.

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

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

Интерфейс Вала, Интерфейс Дросселя и Автодатчики более корот-

кие периоды, поэтому их частотно-монотонные приоритеты будут выше, чем у задачи последовательности событий. Параметры алго- ритма планирования для данного случая, а также назначенные зада- чам приоритеты показаны в табл.11. 4 (случай 1).

После подстановки оценок времени ЦП из табл.11.2 в уравнение 1 (см. раздел 11.5) получаем, что время Ce выполнения эквивалент- ной задачи последовательности событий равно 35 мс. Учитывая, что ее период Te составляет 250 мс, коэффициент использования ЦП ока- зывается равным 0,14. Так как полный коэффициент использования ЦП периодическими задачами равен 0,48, то в сумме получаем коэф- фициент 0,62, что меньше предельного значения 0,69. Следовательно, задача последовательности событий удовлетворяет временным огра- ничениям; то же можно сказать обо всех периодических задачах.

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

286

Таблица 11.4 Планирование в реальном времени для системы круиз-контроля и мониторинга: параметры периодических задач и задачи последовательности событий

Задача

Вре-

Пери-

Коэффи-

Приори-

Приори-

 

мя

од Ti

ци-ент ис-

тет (слу-

тет (слу-

 

ЦП Ci

 

поль-

чай 1)

чай 2)

 

 

 

зования Ui

 

 

Интерфейс вала

2

10

0,20

1

1

Автодатчики

6

100

0,06

3

3

Путь и Скорость

11

250

0,04

5

5

Калибровка

5

500

0,01

7

7

Корректировка

15

250

0,06

6

6

Скорости

 

 

 

 

 

Интерфейс Дрос-

6

100

0,06

3

4

селя

 

 

 

 

 

Интерфейс Кноп-

4

500

0,01

8

8

ки Сброса

 

 

 

 

 

Таймер Средних

20

1000

0,02

10

10

Показателей

 

 

 

 

 

Интерфейс

6

1000

0,01

9

9

Кнопки Сброса

 

 

 

 

 

Обслуживания

 

 

 

 

 

Таймер Обслу-

15

2000

0,01

11

11

живания

 

 

 

 

 

Задача Последо-

35

250

0,14

4

2

вательности Со-

 

 

 

 

 

бытий

 

 

 

 

 

Полный коэффициент использования Un=0,62 Назначение приоритетов:

Случай 1 – частотно-монотонные; Случай 2 – не частотно-монотонные.

Отметим, что нажатие тормоза допустимо проанализировать так же, как и изменение положения ручки круиз-контроля. В обработке события от педали тормоза участвуют задачи Автодатчики, Круиз-

Контроль, Корректировка Скорости и Интерфейс Дросселя, причем

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

287

последние три задействованы и в обработке события от ручки круиз- контроля. Из табл.11.2 видно, что оценка времени выполнения задачи

Автодатчики (5 мс) такая же, как для задачи Интерфейс Ручки Кру-

из-Контроля. Поэтому на обработку нажатия тормоза ЦП тратит столько же времени, сколько на обработку события от ручки круиз- контроля. Хотя период задачи Автодатчики равен 100 мс, мы пред- полагаем, что водитель не в состоянии генерировать события с часто- той больше чем четыре раза в секунду, будь то нажатия на педаль тормоза или манипулирование ручкой круиз-контроля. Значит, часто- та запуска задачи Автодатчики вполне достаточна для того, чтобы не пропустить ни одного события.

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

11.7.2. Назначение других приоритетов. В первом решении бы-

ло сделано одно допущение и одно приближение. Сначала рассмот- рим допущение о том, что всем задачам можно назначить частотно- монотонные приоритеты. В таком случае имеется вероятность, что

задача последовательности событий пропустит прерывание от ручки круиз-контроля, если будет дожидаться завершения задач Интерфейс Вала, Интерфейс Дросселя и Автодатчики. С другой стороны, если назначить задаче последовательности событий наивысший приори- тет, то задача Интерфейс Вала не успеет отработать, так как ее пери- од равен 10 мс, а время выполнения задачи последовательности со- бытий – 35 мс.

Чтобы избежать этого, мы присвоим задаче последовательности событий приоритет ниже, чем задаче Интерфейс Вала, но выше, чем у задач Интерфейс Дросселя и Автодатчики. Таким образом, при-

оритет задачи последовательности событий будет отличаться от час- тотно-монотонного; это показано в табл.11.4 (случай 2). Следова- тельно, нужно явно проверить, что каждая задача удовлетворяет сво- им временным ограничениям.

У двух задач с наивысшими приоритетами Интерфейс Вала и задача последовательности событий суммарный коэффициент ис- пользования ЦП равен 0,34, так что они без труда укладываются в срок. Но уже две следующие задачи Интерфейс Дросселя и Авто- датчики могут быть задержаны задачей последовательности собы-

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

288

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

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

фейс Дросселя и Автодатчики. Задача Интерфейс Вала потребляет

10 × 2 = 20 мс. Четыре задачи, задействованные в обработке последо- вательности событий, требуют 35 мс. Для каждой из задач Интер- фейс Дросселя и Автодатчики нужно еще по 6 мс. Всего ЦП затрачи- вает 67 мс, то есть меньше, чем период задач Интерфейс Дросселя и Автодатчики (100 мс). Таким образом, все задачи успевают завер- шиться в срок.

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

тремя стационарными задачами и одной задачей последовательности событий равен 0,67, а значит, при этом все еще будут выполняться низкоприоритетные задачи. Если в течение данного интервала акти- визируется еще и задача Путь и Скорость, то коэффициент исполь- зования поднимется до 0,78. Но алгоритм планирования в реальном времени гарантирует, что все задачи будут удовлетворять временным ограничениям при любых кратковременных всплесках активности.

11.7.3. Детальный анализ апериодических задач. Для более пол-

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

Таблица 11.5 Планирование в реальном времени для системы круиз-контроля и мониторинга: параметры периодических и апериодических задач

www.pdffactory.com

 

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

 

 

289

 

 

 

 

 

 

 

 

 

 

 

Задача

Вре-

Период Тi

Коэффициент

Приори-

 

 

мя

 

использования

тет

 

 

ЦП Сi

 

Ui

 

 

 

 

Интерфейс Вала

2

10

0,20

1

 

 

 

Автодатчики

6

100

0,06

3

 

 

 

Путь и Скорость

11

250

0,04

7

 

 

 

Калибровка

5

500

0,01

8

 

 

 

Корректировка Ско-

16

250

0,06

6

 

 

 

рости*

6

100

0,06

4

 

 

 

Интерфейс Дроссе-

 

 

 

ля*

 

 

 

 

 

 

 

Интерфейс Кнопки

4

500

0,01

9

 

 

 

Сброса

20

1000

0,02

11

 

 

 

Таймер Средних

 

 

 

Показателей

 

 

 

 

 

 

 

Интерфейс Кнопки

6

1000

0,01

10

 

 

 

Сброса Обслужива-

 

 

 

 

 

 

 

ния

 

 

 

 

 

 

 

Таймер Обслужива-

15

2000

0,01

12

 

 

 

ния

6

250

0,02

2

 

 

 

Интерфейс Ручки

 

 

 

Круиз-Контроля*

 

 

 

 

 

 

 

Круиз-Контроль*

7

250

0,03

5

 

 

* Задачи, участвующие в обработке последовательности собы-

тий.

Кроме того, время ЦП для задачи Интерфейс Ручки Круиз- Контроля равно С1 + С2. Все задачи, принимающие участие в обра- ботке события, считаются периодическими с периодом, равным ми- нимальному времени между событиями (250 мс). Единственное ис- ключение задача Интерфейс Дросселя, которая, кроме того, еще и выполняется каждые 100 мс.

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

Интерфейс Ручки Круиз-Контроля получает приоритет, выше ко-

торого стоит лишь задача Интерфейс Вала. Поскольку этот при-

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

290

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

одинаковым периодом по 250 мс назначаются следующие два при- оритета.

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

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

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

время выполнения задач, участвующих в обработке события. Полное время выполнения всех четырех задач Сe = 35 мс, а Тt = 250 мс. Коэффициент использования ЦП равен 0,14;

время вытеснения более приоритетными задачами с периода- ми, меньшими 250 мс. Таких задач три. Задача Интерфейс Вала с пе- риодом 10 мс может вытеснить любую задачу не более 25 раз и по-

требит 25 × 2 = 50 мс. Задачи Интерфейс Дросселя и Автодатчики с

периодом 100 мс в состоянии вытеснить любую из остальных низко- приоритетных задач до трех раз и будут исполняться не дольше 3 (6 +

6)= 36 мс;

общее время вытеснения составляет 50 + 36 == 86; суммарный коэффициент использования за счет вытеснения ра-

вен 0,2 + 0,06+0,06=0,32;

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

291

вытеснение более приоритетными задачами с большими пе- риодами. Таких задач нет;

время блокировки задачами с более низким приоритетом. Та- ких задач нет.

Теперь мы можем определить общее затраченное время и пол- ный коэффициент использования ЦП:

Общее затраченное время = общее время вытеснения + общее время выполнения = 86 + 35 - 121 <250.

Полный коэффициент использования = коэффициент использо- вания за счет вытеснения + коэффициент использования за счет вы-

полнения = 0,32 + 0,14 = 0,46 < 0,69.

Полный коэффициент использования 0,46 меньше предельного значения 0,69, которое дает теорема о верхней границе коэффициента использования, поэтому все четыре задачи удовлетворяют времен- ным ограничениям.

Чтобы выяснить, верно ли сказанное в отношении двух задач с периодом 100 мс, необходимо рассмотреть вытеснение и время вы- полнения на интервале протяженностью 100 мс:

время выполнения обеих задач. Они рассматриваются вместе, так как имеют одинаковый период. Полное время выполнения со- ставляет 6 + 6 = 12 мс. Коэффициент использования ЦП равен 0,06 + 0,06 =0,12;

время вытеснения более приоритетными задачами с периода- ми, меньшими 100 мс. Есть только одна такая задача Интерфейс Вала, которая может вытеснить остальные задачи не более 10 раз на 100-миллисекундном интервале и потребит при этом 10 × 2 = 20 мс? Коэффициент использования за счет вытеснения равен 0,06;

вытеснение более приоритетными задачами с большими пе- риодами. Единственная такая задача Интерфейс Ручки Круиз-

Контроля способна вытеснить любую из двух задач только один раз

изанять 6 мс. Коэффициент использования равен 0,06;

время блокировки задачами с более низким приоритетом. Та- ких задач нет.

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

292

Рис. 11.3. Система круиз-контроля и мониторинга

Сделаем вывод.

www.pdffactory.com