Я разработал алгоритм планирования, который обеспечивает вероятностные мягкие гарантии в реальном времени, но кажется слишком очевидным и простым, чтобы быть новым. Мне было трудно связать его с опубликованными алгоритмами планирования в реальном времени (EDF, спорадический сервер и т.д.). Является ли следующий алгоритм планирования известным алгоритмом реального времени?
Предположения:
- Все задачи взяты из дистрибутива, где X процент задач требует меньше, чем R cpu-seconds
- Все задачи имеют одинаковый срок. Если задача занимает больше времени, чем T секунд, то это ошибка для этой задачи.
- Прибытие к задаче разделяется известным минимальным временем междулетания, MIN_INTER_ARRIVE_T
- Планировщик имеет набор задач, который может удерживать максимум H-задач в любое время (на каждом временном шаге все задачи в наборе задач достигают равного прогресса, одинаково распределяя процессор)
- Задачи не могут влиять друг на друга
Гарантия:
- (1) Если X процентов задач требует меньше R cpu-секунд и (2) R <= T/H, (3) MIN_INTER_ARRIVE_T >= T/H, то по меньшей мере X процентов задач будет завершено в пределах T секунд
Алгоритм:
- Если задача придет и набор задач заполнен, выведите задачу, в которой используется большинство процессоров. Предположения гарантируют, что такая задача будет использовать не менее R cpu-секунд. Таким образом, единственными задачами, которые могут быть выселены, будут задачи, которые являются сбоями в любом случае. Любая задача, требующая меньше, чем R cpu-секунд, будет завершена вовремя.