- •9. Планирование задач (scheduling)
- •Планирование задач, определения
- •Циклический исполнитель (Round Robin)
- •Циклический исполнитель (2)
- •Приоритетное планирование
- •Rate monotonic планирование
- •Rate monotonic планирование (2)
- •Тест Rate Monotonic
- •Тест Rate Monotonic (2)
- •Особенности Rate Monotonic
- •Приоритетное планирование, динамические алгоритмы
- •Приоритетное планирование, динамические алгоритмы (2)
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. |
|
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. |
|