Алгоритм YDS - YDS algorithm - Wikipedia
Эта статья может быть слишком техническим для большинства читателей, чтобы понять.Июль 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
YDS это алгоритм планирования за процессоры динамического масштабирования скорости что сводит к минимуму общее потребление энергии. Он был назван в честь и разработан Yao et al.[1] Существует как онлайн-версия, так и офлайн-версия алгоритма.
Автономный алгоритм
Определения:
- Есть набор из n заданий , где каждая работа есть время выпуска , срок и объем обработки .
- это определенный временной интервал.
- Также у нас есть , плотность работы в .
- И наконец набор заданий, которые необходимо обработать в , то есть вакансии с .
Затем алгоритм работает следующим образом:
Пока Определить временной интервал максимальной плотности . В обрабатывать рабочие места на скорости в соответствии с EDF Набор . Удалять от временного горизонта и соответственно обновите время выпуска и крайние сроки внеплановых заданий. end Пока
Другими словами, это рекурсивный алгоритм который будет выполнять следующие действия, пока не будут запланированы все задания:
- Рассчитайте все интенсивности для всех возможных комбинаций интервалов. Это означает, что для каждой комбинации времени начала и времени окончания рассчитывается интенсивность работы. Для этого складываются времена всех заданий, время прибытия и крайний срок которых находятся в пределах интервала, и делятся на длину интервала. Чтобы ускорить процесс, необходимо учитывать только комбинации времени прибытия и более поздних сроков, поскольку время без прибытия процесса или крайнего срока может быть сокращено до меньшего интервала с теми же процессами, что увеличивает интенсивность, а отрицательные интервалы недействительны. Затем выбирается интервал максимальной интенсивности. В случае нескольких одинаково интенсивных интервалов один может быть выбран по желанию, так как интенсивности неперекрывающихся интервалов не влияют друг на друга, и удаление части интервала не изменит интенсивность остальных, поскольку процессы удаляются пропорционально.
- Процессы внутри этого интервала планируются с использованием самого раннего крайнего срока в первую очередь, что означает, что задание внутри этого интервала, крайний срок которого наступит раньше, планируется первым и так далее. Задания выполняются с указанной выше интенсивностью, чтобы соответствовать всем заданиям в пределах интервала.
- Интервал удаляется с временной шкалы, так как здесь больше нельзя запланировать вычисления. Чтобы упростить дальнейшие вычисления, все времена прибытия и крайние сроки оставшихся заданий пересчитываются, чтобы исключить уже занятые времена. Например, предположим, что работа со временем прибытия , срок и рабочая нагрузка , и работа с , и . Предположим, что предыдущий интервал был от времени к . Чтобы опустить этот интервал, времена и нужно отрегулировать; рабочие нагрузки не затронуты, так как ни для одного из или же . остается прежним, поскольку на него не влияют последующие упущения. однако необходимо изменить на , так как . Это время работы ушел до истечения срока. Время прибытия становится , как будто это было бы внутри удаленного интервала. также становится , так как время, оставшееся после удаленного интервала, равно . Однако важно помнить фактическое время прибытия и крайний срок для более позднего составления расписания.
- Повторяйте шаги 1–3, пока не будут запланированы все задания.
- Соберите задания в окончательное расписание в соответствии с отведенными для них временными интервалами. Однако помните, что интервал может быть разделен на две части другим интервалом, вычисленным ранее.
Для любого экземпляра Job алгоритм вычисляет оптимальное расписание, сводящее к минимуму общее потребление энергии.[2]
Смотрите также
- EDF алгоритм
Рекомендации
- ^ F.F. Яо, А.Дж. Демерс и С. Шенкер. Модель планирования для сокращенного ЦПУ энергия. Proc. 36-й IEEE Симпозиум по основам информатики , 374–382, 1995.
- ^ Сюзанна Альберс, «Алгоритмы динамического масштабирования скорости»