Как описано в статье под названием Планирование задач в реальном времени для энергосберегающих встраиваемых систем , Swaminathan и Chakrabarty описывают проблемы планирования задач в режиме реального времени на маломощных (встроенных) устройствах с несколькими процессорами Доступны профили скорости и энергопотребления. Алгоритм планирования, который они описывают (и показано, что он на 1% хуже, чем оптимальное решение в тестах), имеет интересный способ планирования задач, которые они называют эвристическими в LEDF.
Из бумаги:
Самый ранний крайний срок с низким энергопотреблением
эвристический, или просто LEDF, является
продолжение известного раннего
алгоритм крайнего срока (EDF).
Работа LEDF выглядит следующим образом: LEDF
ведет список всех выпущенных
задачи, называемые «готовым списком». когда
задачи освобождены, задача с
ближайший срок выбран
казнены. Проверка выполняется, чтобы увидеть
если срок выполнения задачи может быть соблюден
выполняя это при более низком напряжении
(Скорость). Если срок может быть соблюден,
LEDF назначает более низкое напряжение
задача и задача начинает выполнение.
Во время выполнения задачи, другие
задачи могут войти в систему. Эти
задачи предполагается разместить
автоматически в «готовом списке».
LEDF снова выбирает задачу с помощью
Ближайший срок исполнения. Как
Пока есть задачи, ожидающие
выполнено, LEDF не сохраняет
курсор простаивает. Этот процесс повторяется
пока все задачи не были
планируется.
И в псевдокоде:
Repeat forever {
if tasks are waiting to be scheduled {
Sort deadlines in ascending order
Schedule task with earliest deadline
Check if deadline can be met at lower speed (voltage)
If deadline can be met,
schedule task to execute at lower voltage (speed)
If deadline cannot be met,
check if deadline can be met at higher speed (voltage)
If deadline can be met,
schedule task to execute at higher voltage (speed)
If deadline cannot be met,
task cannot be scheduled: run the exception handler!
}
}
Кажется, что планирование в реальном времени является интересной и развивающейся проблемой, поскольку небольшие маломощные устройства становятся все более распространенными. Я думаю, что это область, в которой мы увидим множество дальнейших исследований, и я с нетерпением жду возможности быть в курсе!