set and ;
 Compute ;
 When a job is activated, set ;
 When a job is completed or preempted, UpdateLoadInfo ;
 When a job is scheduled for execution
   ;          //get additional slack time
   if   and   then  has the lowest priority in readyQ(t);
    ClacSlackTime( );     //get slack time
  set the clock frequency as ;
   max ;
  Set the voltage accordingly;
Algorithm 1: IpWDA (PRA with ). Compute the available execution time and set the voltage/clock speed for .