# Energy-Aware Online Non-Clairvoyant Scheduling Using Speed Scaling with Arbitrary Power Function
## 5 Illustrative Example  
To examine the performance of HSIF, a set of seven jobs and the traditional power model is considered, where \(Power\ =\ speed^{\alpha}\) and \(2\leq\alpha\leq 3\). The jobs arrived along with their importance but the size of jobs was only known at their completion. The jobs are executed by using algorithms HSIF and NC (the best known to date [11]); their executions are simulated. To demonstrate the effectiveness of proposed scheduling, a simulator is used which is developed using Linux kernel. Simulator facilitates to segregate the scheduling algorithm and decisively do not include the effects of other activity present in a real kernel implementation. The jobs are considered as independent. The proposed algorithm is for the identical homogeneous machines. To evaluate the performance of the algorithm the (average) turnaround time and (average) response time is considered. The lesser value of average response time reflects the prompt response of a request of jobs, which helps in avoiding starvation condition. The least value of the turnaround time gives the indication that the algorithm is capable to fulfil the resource requirement of all jobs in minimum time, which is a parameter of better resource utilization. The hardware specifications are mentioned in the Table 2.  
The details of jobs and results computed are shown in the Table 3 and Figures 1-4. \begin{table}
\begin{tabular}{c c} \hline \hline
**Simulation Parameters** & **Values** \\ \hline
**CPU** & Intel(R) Core(TM) i5-4210U CPU @ 1.70 GHz \\
**RAM** & 4.00 GB RAM \\
**Hard Drive** & 1.0 TB \\
**Operating System** & Red Hat Linux 6.1 \\
**Kernel** & Linux kernel version 2.2.12 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Hardware specifications. \begin{table}
\begin{tabular}{c c c c c c c c c c} \hline \hline \multirow{2}{*}{**Job**} & \multirow{2}{*}{**Arrival Time**} & \multirow{2}{*}{**Importance**} & \multirow{2}{*}{**Size**} & \multicolumn{3}{c}{**Completion Time**} & \multicolumn{2}{c}{**Turnaround Time**} & \multicolumn{2}{c}{**Response Time**} \\ \cline{4-10}  & & & & & **HSIF** & **NC** & **HSIF** & **NC** & **HSIF** & **NC** \\ \hline J1 & 1 & 6 & 17.19 & 7 & 9 & 6 & 8 & 0 & 0 \\ J2 & 5 & 4 & 25.06 & 16 & 20 & 11 & 15 & 3 & 5 \\ J3 & 10 & 2 & 7.55 & 57 & 26 & 47 & 16 & 45 & 11 \\ J4 & 13 & 5 & 42.67 & 26 & 40 & 13 & 27 & 4 & 14 \\ J5 & 18 & 7 & 63.72 & 37 & 57 & 19 & 39 & 9 & 23 \\ J6 & 22 & 1 & 13.51 & 68 & 65 & 46 & 43 & 36 & 36 \\ J7 & 32 & 3 & 56.22 & 54 & 81 & 22 & 49 & 6 & 34 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Job details and execution information using HSIF and NC. After observing the graphs of Figure 1a,b, it is clear that the HSIF adjusts the sum of the importance of active jobs frequently (count of maxima), but the change in the values is small (difference in the consecutive maxima). This shows that HSIF is maintaining the consistency in the performance. The speed of a processor depends on the sum of importance; therefore, the speed of a processor is having the same reflection. This frequent but less change in the speed makes the HSIF consistent in performance. In NC, the frequency of change in the sum of the importance of active jobs is lesser, but the difference in the change is very high. The speed of a processor using NC depends on the sum of executed size of active jobs; therefore, the speed of a processor variates highly. This high variation makes the NC less consistent in performance. In Figure 1c, the number of high speed change (local minima) is six when processor is executing jobs by using NC, which is due to the completion and start of execution of the jobs. There is a big change in the speed of processor when the executing job is changed. There is no affect on the new job's arrival (accumulation of importance based flow) on the execution speed of executing job.