Скачиваний:
44
Добавлен:
01.05.2014
Размер:
105.98 Кб
Скачать

9. Планирование задач (scheduling)

Пример

Пропуск deadline Задача A t

I

da

 

Задача B

t

 

db

Задача A

Deadline не нарушен

t

II

da

 

Задача B

t

db

9. Планирование задач.

1

2002 v.0.2.

 

Планирование задач, определения

Алгоритм планирования (scheduling algorithm) - правило,

определяющее порядок выполнения задач

Статическое планирование (off-line) – условия

активизации задач определяются до начала работы системы

Динамическое планирование (on-line) – условия

активизации определяются в процессе работы системы на основе текущих условий

Приоритетное планирование (статическое

/динамическое) – в качестве параметра, определяющего порядок активизации задач, выступает приоритет задачи

Предсказуемость (predictability) - для всех действий

определимы временные границы их завершения

9. Планирование задач.

2

2002 v.0.2.

 

Циклический исполнитель (Round Robin)

Статический график

 

 

 

Таблица

Процедуры обработки

 

 

 

обработчиков

 

 

 

активизации событий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

событий

 

Обработка 1

 

 

 

 

 

 

 

 

 

 

 

 

 

t

N

 

 

 

N1

pt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

N2

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t2

N2

 

 

 

pt2

 

Обработка 2

 

 

 

 

 

 

 

 

. . . .

 

 

 

 

Nn

 

 

. . . .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

N

n

 

 

 

 

pt

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

n

 

Обработка n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таймер

 

 

 

 

 

 

t

Обработка

1

2

n

1

2

n

t

t1

t2

tn

t1

t2

tn

 

 

 

 

 

p

 

 

 

 

9. Планирование задач.

3

2002 v.0.2.

 

Циклический исполнитель (2)

Достоинство – простота реализации

Недостаток – при большом количестве задач «off-line» планирование может вызвать трудности

Проблема – планирование обработки асинхронных событий

Возможное решение – каждому асинхронному событию i ставится в соответствие момент времени ti, индекс Ni и Обработчик i. Если событие i происходит раньше момента ti, то запоминается факт его возникновения, а обработка активизируется в момент ti; если позже, то активизация осуществляется на следующем цикле

Недостаток решения – большие latency

9. Планирование задач.

4

2002 v.0.2.

 

Приоритетное планирование

Статические алгоритмы – приоритеты задач определяются на этапе проектирования (off-line) и не изменяются в процессе работы системы

Динамические алгоритмы – приоритеты задач изменяются в процессе работы (on-line) в зависимости от текущих условий

НОВЫЕ ЗАДАЧИ

РАЗБЛОКИРОВАННЫЕ

ПЛАНИРОВЩИК

ДИСПЕТЧЕР

ЗАДАЧИ

 

 

)

F = f(

 

RQ

ОЧЕРЕДЬ ГОТОВЫХ

F – приоритет задачи, - параметры задачи, состояние системы

9. Планирование задач.

5

2002 v.0.2.

 

Сi / pi

Rate monotonic планирование

Rate monotonic (RM) – правило статического (off-line)

назначения приоритетов:

Пусть имеется n независимых периодических задач реального времени (pi - период i-й задачи, Сi – время выполнения в наихудшем случае), у каждой из которых которых значение deadline совпадает с периодом активизации pi

Суммарная загрузка системы в этом случае определяется как

I = n

R =

I = 1

Тогда, если приоритеты задач будут назначены обратно пропорционально их pi , и будет выполнено условие

R <= n * (2 1/n - 1)

то выполнение задач будет проходить без нарушения их deadline (1973 год, Liu)

9. Планирование задач.

6

2002 v.0.2.

 

Rate monotonic планирование (2)

C1

Задача 1

 

 

 

 

 

t Высший приоритет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C2 p1

Задача 2 t

p2 Cn

Задача n

 

 

 

 

 

 

 

t Низший приоритет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pn

I = n

Сi / pi <= n * (2 1/n - 1)

I = 1

9. Планирование задач.

7

2002 v.0.2.

 

Тест Rate Monotonic

1/n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n * (2

- 1)1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,95

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,85

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,75

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.69

 

0,65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,55

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

1

3

5

7

9

11

13

15

17

19

21

23

25

27

29

31

33

35

37

9. Планирование задач.

 

 

 

 

 

 

 

 

 

 

 

8

2002 v.0.2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тест Rate Monotonic (2)

Набор из n периодических задач будет «шедулируемым» (выполнимым) если приоритеты назначены в соответствии с RM и выполняется условие:

I = n

R = Сi / pi < = 0.69 (*)

I = 1

• Зависимость (*) представляет нижнюю границу значения R

В случае, когда частоты активизации задач находятся в гармонической зависимости, R = 1

(Гармоническая зависимость – частота активизации любой задачи приложения кратна частоте каждой задачи с меньшей частотой; например - 1Hz, 5Hz, 10Hz, 20Hz)

• В большинстве практических случаев R < 0.88

9. Планирование задач.

9

2002 v.0.2.

 

Особенности Rate Monotonic

Rate Monotonic называют «устойчивым» (stable)

алгоритмом подмножество задач, которое удовлетворяет

тесту, всегда будет выполняться без нарушения deadline

Rate Monotonic называют «оптимальным»

алгоритмом в том смысле, что если набор задач

выполним при любой другой дисциплине планирования, то он выполним и при RM планировании

9. Планирование задач.

10

2002 v.0.2.

 

Соседние файлы в папке Конспект в презентациях