Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

YDS algorithm

From Wikipedia, the free encyclopedia
This articlemay be too technical for most readers to understand. Pleasehelp improve it tomake it understandable to non-experts, without removing the technical details.(July 2013) (Learn how and when to remove this message)

YDS is ascheduling algorithm fordynamic speed scaling processors which minimizes the total energy consumption. It was named after and developed by Yao et al.[1] There is both an online and an offline version of the algorithm.

Offline Algorithm

[edit]

Definitions:

The algorithm then works as follows:

WhileJ{}{\displaystyle J\neq \{\}}  Determine the time intervalI{\displaystyle I} of maximum densityΔI{\displaystyle \Delta _{I}}.  InI{\displaystyle I} process the jobs ofSI{\displaystyle S_{I}} at speedΔI{\displaystyle \Delta _{I}} according toEDF  SetJ:=JSI{\displaystyle J:=J\setminus S_{I}}.   RemoveI{\displaystyle I} from the time horizon and update the release times and deadlines of unscheduled jobs accordingly.end While

In other terms it's arecursive algorithm that will follow these steps until all jobs are scheduled:

  1. Calculate all intensities for all possible combinations of intervals. This means that for every start time and end time combination the intensity of work is calculated. For this the times of all jobs whose arrival time and deadline lie inside the interval are added and divided by the interval length. To speed up the process, only combinations of arrival times and later deadlines need to be considered, as times without arrival of a process or deadline can be shrunk to a smaller interval with the same processes, thus increasing intensity, and negative intervals are invalid. Then the maximum intensity interval is selected. In case of multiple equally intense intervals, one can be chosen at will, as intensities of non-overlapping intervals do not influence each other, and removing a part of an interval will not change the intensity of the rest, as processes are removed proportionally.
  2. The processes inside this interval are scheduled using Earliest Deadline First, meaning that the job inside this interval whose deadline will arrive soonest is scheduled first, and so on. The jobs are executed at the above calculated intensity to fit all jobs inside the interval.
  3. The interval is removed from the timeline, as no more calculations can be scheduled here. To simplify further calculations, all arrival times and deadlines of remaining jobs are recalculated to omit already occupied times. For example, assume a jobA{\displaystyle A} with arrival timeaA=0{\displaystyle a_{A}=0}, deadlinedA=10{\displaystyle d_{A}=10} and a workloadwA=5{\displaystyle w_{A}=5}, and a jobB{\displaystyle B} withaB=5{\displaystyle a_{B}=5},dB=10{\displaystyle d_{B}=10} andwB=4{\displaystyle w_{B}=4}. Assume the previous interval was from time3{\displaystyle 3} to8{\displaystyle 8}. To omit this interval the times ofA{\displaystyle A} andB{\displaystyle B} need to be adjusted; workloads are unaffected, as no work has been done for eitherA{\displaystyle A} orB{\displaystyle B}.aA{\displaystyle a_{A}} stays the same, as it's unaffected by later omissions.dA{\displaystyle d_{A}}, however, needs to be changed to5{\displaystyle 5}, as10(83)=5{\displaystyle 10-(8-3)=5}. This is the time jobA{\displaystyle A} has left before its deadline. The arrival timeaB{\displaystyle a_{B}} becomes3{\displaystyle 3}, as it would have been inside the removed interval.dB{\displaystyle d_{B}} also becomes5{\displaystyle 5}, as the time left after the removed interval is2{\displaystyle 2}. It is important, however, to remember the actual arrival and deadline times for later assembly of the scheduling.
  4. Repeat steps 1-3 until all jobs have been scheduled.
  5. Assemble jobs into final scheduling according to their allotted time intervals. Remember, though, that an interval may be split in two by another interval calculated earlier.

For any Job instance, the algorithm computes an optimal schedule minimizing the total energy consumption.[2]

See also

[edit]

References

[edit]
  1. ^F.F. Yao, A.J. Demers and S. Shenker. A scheduling model for reducedCPU energy. Proc. 36th IEEESymposium on Foundations of Computer Science, 374–382, 1995.
  2. ^Susanne Albers,"Algorithms for Dynamic Speed Scaling"
Algorithms
Linux
Other
Retrieved from "https://en.wikipedia.org/w/index.php?title=YDS_algorithm&oldid=1200651494"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp