[ieee 2013 ieee 8th international conference on industrial and information systems (iciis) -...

6
DynamicVoltage and Frequency Scaling Scheduling Algorithm for Mixed Task Set Mayuri Digalwar Sudeept Mohan Biju K. Raveendran Abstract—Dynamic voltage and frequency scaling (DVFS) is one of the popular energy conservation techniques for battery operated real-time and embedded systems. This paper presents EEDVFS, an energy efficient DVFS scheduling algorithm for mixed task set. EEDVFS is a variant of Earliest Deadline First (EDF) based Deferrable Server (DS). Experimental results show that EEDVFS reduces energy consumption without compromising on periodic task deadlines and aperiodic task responsiveness. The results of EEDVFS are compared with non-DVFS EDF version of DS upon various performance metrics such as energy consumption, average response time, latency, preemption count and number of decision points. EEDVFS offers 54% energy saving in comparison with the non-DVFS EDF based DS algorithm. Keywords— Dynamic Voltage and Frequency Scaling, Energy Efficient Scheduling, Mixed task set Scheduling, Real- time Scheduling. I. INTRODUCTION Energy consumption is one of the most important factors affecting the performance of real time embedded systems due to limited battery life. Many researchers have addressed this issue at different abstraction levels such as hardware level, architectural level, operating systems level, compiler level and application level. At the operating systems level, energy consumption problem can be addressed through process scheduling techniques. Many scheduling techniques such as DVFS were proposed in the past to reduce processor energy consumption. DVFS scheduling techniques for periodic task set is a well addressed research area. There exists some work in literature where DVFS is applied to mixed task set consisting of periodic and aperiodic tasks [1,2,3,4,5]. Scheduling mixed task set has to ensure the hard deadline of all the periodic tasks along with better response time of aperiodic tasks. DVFS algorithms are based on the usage and distribution of available slack time. Practically, actual execution time (aet) of any task is always less than or equal to its worst case execution time (wcet). Thus there exist slack at run time which can be utilized for slowing down the speed of execution. This speed reduction results in reducing frequency and voltage dynamically. The authors are with Department of Computer Science and Information Systems, Birla Institute of Technology and Science, Pilani, Rajasthan - 333031, India. Email: {mayuri, sudeeptm}@pilani.bits-pilani.ac.in, Email: [email protected]. In this paper, an energy aware real-time scheduling algorithm - Energy Efficient Dynamic Voltage and Frequency Scaling (EEDVFS) – is proposed for mixed task set. EEDVFS reduces energy consumption without compromising on periodic task deadline and aperiodic task responsiveness. Energy consumption is calculated as follows [6]: ܧ ܥ ሺ1ሻ where, C ef is effective switch capacitance, f is the clock frequency, V dd is the supply voltage and E is energy consumption per unit time. In DVFS based algorithms, energy consumption depends on variable frequencies at which jobs are executing. Supply voltage differs with frequency. This is an extension of our previous work which talks about initial idea of this algorithm [7]. In section II, existing DVFS scheduling algorithms are explored. The proposed algorithm is discussed with the help of an example in section III. Comparative analysis of EEDVFS with non-DVFS EDF with DS is done on various performance metrics in section IV. Sections V and VI discuss experimental setup and results respectively. Section VII concludes the work. II. RELATED WORK The two broad categories of DVFS algorithms [8] based on how they use slack time are Intra-DVS and Inter-DVS. Intra-DVS algorithms apply DVFS technique by utilizing the available slack time within the task boundary. Inter- DVS algorithms adjust voltage/frequency between the tasks by utilizing the slack time from the current task for the tasks following it. EEDVFS scheduling algorithm falls under the latter category. Inter-DVS algorithms consist of two parts [8]: slack estimation and slack distribution. Slack estimation identifies the maximum available slack times from the tasks while slack distribution distributes the identified slack times uniformly among the tasks so that the speed is uniformly reduced during the schedule. Many inter-DVS algorithms use greedy approach for slack distribution where all the available slack time is given to the next ready task. It is widely used because of its simplicity. EEDVFS follows this approach. There exist various slack estimation based inter- DVS algorithms like low power priority scheduling Rate Monotonic (lppsRM) [9], low power priority scheduling Earliest Deadline First (lppsEDF) [9], Dynamic 2013 IEEE 8th International Conference on Industrial and Information Systems, ICIIS 2013, Aug. 18-20, 2013, Sri Lanka 643 978-1-4799-0910-0/13/$31.00 ©2013 IEEE

Upload: biju-k

Post on 06-Apr-2017

215 views

Category:

Documents


2 download

TRANSCRIPT

DynamicVoltage and Frequency Scaling Scheduling Algorithm for Mixed Task Set

Mayuri Digalwar Sudeept Mohan Biju K. Raveendran

Abstract—Dynamic voltage and frequency scaling (DVFS)

is one of the popular energy conservation techniques for battery operated real-time and embedded systems. This paper presents EEDVFS, an energy efficient DVFS scheduling algorithm for mixed task set. EEDVFS is a variant of Earliest Deadline First (EDF) based Deferrable Server (DS). Experimental results show that EEDVFS reduces energy consumption without compromising on periodic task deadlines and aperiodic task responsiveness. The results of EEDVFS are compared with non-DVFS EDF version of DS upon various performance metrics such as energy consumption, average response time, latency, preemption count and number of decision points. EEDVFS offers 54% energy saving in comparison with the non-DVFS EDF based DS algorithm.

Keywords— Dynamic Voltage and Frequency Scaling, Energy Efficient Scheduling, Mixed task set Scheduling, Real-time Scheduling.

I. INTRODUCTION Energy consumption is one of the most important factors

affecting the performance of real time embedded systems due to limited battery life. Many researchers have addressed this issue at different abstraction levels such as hardware level, architectural level, operating systems level, compiler level and application level. At the operating systems level, energy consumption problem can be addressed through process scheduling techniques. Many scheduling techniques such as DVFS were proposed in the past to reduce processor energy consumption.

DVFS scheduling techniques for periodic task set is a well addressed research area. There exists some work in literature where DVFS is applied to mixed task set consisting of periodic and aperiodic tasks [1,2,3,4,5]. Scheduling mixed task set has to ensure the hard deadline of all the periodic tasks along with better response time of aperiodic tasks. DVFS algorithms are based on the usage and distribution of available slack time. Practically, actual execution time (aet) of any task is always less than or equal to its worst case execution time (wcet). Thus there exist slack at run time which can be utilized for slowing down the speed of execution. This speed reduction results in reducing frequency and voltage dynamically.

The authors are with Department of Computer Science and Information

Systems, Birla Institute of Technology and Science, Pilani, Rajasthan - 333031, India. Email: {mayuri, sudeeptm}@pilani.bits-pilani.ac.in, Email: [email protected].

In this paper, an energy aware real-time scheduling algorithm - Energy Efficient Dynamic Voltage and Frequency Scaling (EEDVFS) – is proposed for mixed task set. EEDVFS reduces energy consumption without compromising on periodic task deadline and aperiodic task responsiveness. Energy consumption is calculated as follows [6]:

1 where, Cef is effective switch capacitance, f is the clock

frequency, Vdd is the supply voltage and E is energy consumption per unit time. In DVFS based algorithms, energy consumption depends on variable frequencies at which jobs are executing. Supply voltage differs with frequency.

This is an extension of our previous work which talks about initial idea of this algorithm [7].

In section II, existing DVFS scheduling algorithms are explored. The proposed algorithm is discussed with the help of an example in section III. Comparative analysis of EEDVFS with non-DVFS EDF with DS is done on various performance metrics in section IV. Sections V and VI discuss experimental setup and results respectively. Section VII concludes the work.

II. RELATED WORK The two broad categories of DVFS algorithms [8] based

on how they use slack time are Intra-DVS and Inter-DVS. Intra-DVS algorithms apply DVFS technique by utilizing the available slack time within the task boundary. Inter-DVS algorithms adjust voltage/frequency between the tasks by utilizing the slack time from the current task for the tasks following it. EEDVFS scheduling algorithm falls under the latter category.

Inter-DVS algorithms consist of two parts [8]: slack estimation and slack distribution. Slack estimation identifies the maximum available slack times from the tasks while slack distribution distributes the identified slack times uniformly among the tasks so that the speed is uniformly reduced during the schedule. Many inter-DVS algorithms use greedy approach for slack distribution where all the available slack time is given to the next ready task. It is widely used because of its simplicity. EEDVFS follows this approach. There exist various slack estimation based inter-DVS algorithms like low power priority scheduling Rate Monotonic (lppsRM) [9], low power priority scheduling Earliest Deadline First (lppsEDF) [9], Dynamic

2013 IEEE 8th International Conference on Industrial and Information Systems, ICIIS 2013, Aug. 18-20, 2013, Sri Lanka

643978-1-4799-0910-0/13/$31.00 ©2013 IEEE

Reclamation Algorithm (DRA) [10], cycle conserving Earliest Deadline First (ccEDF) [11] etc for periodic task set.

DVFS algorithms working with mixed task set includes Modified-low power priority scheduling Rate Monotonic (M-lppsRM) [10], Basic Reclamation Scheme (BRS) [12], Mutual Reclamation Scheme (MRS) [12], Bandwidth Sharing Scheme (BSS) [12] , Greedy Reclamation of Unused Bandwidth - Power Aware (GRUB-PA) [13]. In slack estimation based inter-DVS algorithms, there exist two sources of slack times [8]: static slack times and dynamic slack times. Static slack times are the extra times available for the next task that can be statically identified. Dynamic slack times are the ones identified at run time during task execution.

The slack estimation and slack distribution methods are different for periodic and mixed task systems. For periodic task system, maximum constant speed [8] is a static slack estimation method in which lowest possible clock speed that feasibly schedules the task set is calculated statically. If the processor utilization U is less than 1.0 at maximum frequency fmax, then it lowers to a frequency U*fmax when scheduled with EDF. This method cannot identify dynamic slack time which can be identified using dynamic slack estimation methods. There are three dynamic slack estimation methods for scheduling periodic task set [9]: Stretching to Next Task Arrival (NTA), Priority Based Slack Stealing (PBSS) and Utilization Updating (UU).

Stretching to NTA estimates slack time of the current task using next task arrival time. Algorithms lppsEDF [9] and lppsRM [9] are based on this approach. In PBSS, the slack of the higher priority task because of its early completion can be used by the following lower priority task [9]. Algorithms DRA [10] and Aggressive (AGR) [14] are based on PBSS. In UU, the total processor utilization is recalculated using aet of the completed task at each scheduling point so that frequency/voltage can be scaled accordingly. Algorithm ccEDF [11] is based on this scheme.

DVFS algorithms for periodic task systems can be directly applied to mixed task systems only if aperiodic tasks execute at full frequency/voltage as slack time of aperiodic task is not known. In order to estimate slack times and execute aperiodic tasks, use bandwidth preserving servers like DS, Sporadic Server (SS), Total Bandwidth Server (TBS) and Constant Bandwidth Server (CBS) [15]. Since these servers limit aperiodic task to execute within the available bandwidth, these algorithms can estimate slack times by using characteristics of bandwidth preserving servers. Along with slack estimation, these servers have to ensure energy efficiency as well as responsiveness of aperiodic task.

Stretching to Next Replenishment Time (SNRT) is a modified NTA scheme which stretches NTA further and is applied on DS [1] and SS [2]. While executing aperiodic

task if there is no periodic task in the ready queue then currently executing aperiodic task can be stretched to min(NTA,R) where R is replenishment time of aperiodic task. If there is only one periodic task in ready queue and the server budget (qs) of aperiodic task is 0, then the periodic task can be stretched to min(NTA,R). SS/lpps-RM-S [2] is lpps-RM algorithm based on SNRT scheme with SS for mixed task set.

SNRT gives poor energy performance if aperiodic workload is small. This is because of the constraint that periodic task cannot be stretched if qs> 0 which is true most of the time when aperiodic workload is very low. In order to overcome this limitation, Bandwidth Based Slack Stealing (BBSS) is proposed in [2]. BBSS handles this case by computing slack time as the amount of time available between current time and NTA of the periodic task excluding remaining execution budget in qs. SS/lppsRM-B [2] algorithm is based on BBSS. SS/lppsRM-B is lppsRM based on BBSS with SS for mixed task set. Periodic Only Slack Distribution (POSD) scheme is simpler than SNRT and BBSS schemes and offers higher performance[ 2]. In SNRT and BBSS schemes both periodic and aperiodic tasks use slack time to scale down the frequency but in POSD scheme, the entire slack time is utilized by periodic tasks only and aperiodic tasks are always executed at full speed. In POSD, the slack time is estimated using BBSS. This scheme gives better response time with slight degradation in energy savings. lppsEDF-P [2] algorithm is based on POSD scheme. Workload Based Slack Estimation (WSE) scheme is applied on CBS. Since CBS does not have fixed intervals, stretching rules of SNRT, BBSS and POSD cannot be applied on aperiodic task. Here slack time is identified when workload of CBS is less then server utilization. CBS/DRA-W [2] algorithm is based on WSE scheme.

There are few other algorithms like Greedy Reclamation of Unused Bandwidth - Power Aware (GRUB – PA) [13], Deadline Based Frequency Scaling Algorithm (DFSA) [5], On-Line DVS algorithm (OLDVS) [16] which follows different methods other than the methods mention above.

All of the above algorithm are applied on uniprocessor platform. There is some work done on energy aware real time scheduling on multi-processors and multi-core processors in recent years. Off-line and on-line DVFS based real time scheduling algorithms are proposed in [17] for dual core processor. Partitioned scheduling approach where jobs cannot be migrated between cores is proposed in [18]. J. Lu and Y. Guo in [19] proposed DVFS based scheduling algorithm for periodic tasks on multi-core processors.

The proposed algorithm follows EDF scheduling decisions with DS and the slack estimation method used is UU. Detailed description of the algorithm is presented in next section.

2013 IEEE 8th International Conference on Industrial and Information Systems, ICIIS 2013, Aug. 18-20, 2013, Sri Lanka

644

III. PROPOSED ALGORITHM AND EXAMPLE TASK SET

A. Proposed Algorithm The proposed algorithm– EEDVFS– is an EDF based

DVFS scheduling algorithm. It is designed to produce an energy efficient schedule of mixed task set which includes both periodic and aperiodic tasks. It follows EDF decisions at each decision point. The scheduling of aperiodic tasks is handled by DS and are executed at maximum frequency to guarantee low response time. The slack estimation method used is UU.

The scheduler selects the next job to run either from periodic or from aperiodic ready queue. It also finds the most appropriate frequency and voltage for the job to execute. Figure1 describes the EEDVFS scheduling algorithm and figure 2 describes the select_frequency function which decides the frequency and voltage of the processor to run the selected job. The algorithm is described below.

B. Notations used: Periodic task set T = {T0, .....,Tn-1} represents n periodic

tasks. Each Ti is represented by {Φi, Pi, Ci, Di} where Φ, P, C and D represents phase, period, wcet and deadline respectively of the periodic task i. Ei represents aet of periodic task. Aperiodic task set A = {A0,.....,Am-1} represents m aperiodic tasks. Each Ai is represented by {Ai, Ci} where A, C represents arrival time and wcet respectively of the aperiodic task i. Tds = {Pds, Cds} represents DS with period Pds and execution budget Cds. PRQ, ARQ represents periodic and aperiodic ready queue respectively. Both PRQ and ARQ are initialized as NULL. t represents time and is initialized to 0. Ui, Uds and UT represent utilization of periodic job, utilization of aperiodic job and total utilization respectively. T<i,j> denote jth job of ith task in the task set.

fmax and vmax represents maximum frequency and voltage respectively, fopt and vopt represent optimum frequency and voltage respectively. fopt is computed using algorithm in fig. 2. n_d_p is next decision point, RET is Remaining Execution Time, CT is Completion Time, Anp and Ana represent arrival time of next periodic and aperiodic job respectively. Jhp and Jha represent job at head of PRQ and ARQ respectively. tj represents number of jobs in PRQ at time t.

C. Assumptions: All periodic tasks are assumed to have arrived at time

zero. Period and wcet of each periodic task are known in prior. Deadline is equal to period for all periodic tasks. Frequency ranges and corresponding voltage ranges are known.

D. Input: T, A, Tds, PRQ, ARQ and t

E. Output: Next job to run in CPU with clock frequency f and supply

voltage v or ERROR if a periodic job misses its deadline.

Fig. 1. EEDVFS Scheduler

Fig. 2. Algorithm for Frequency Scaling

F. Example Task Set Table I shows the details of periodic task set which

includes task number, period, wcet, deadline, number of jobs and aet of each job. It also shows the details of deferrable server. Table II shows the aperiodic task set with its arrival time and execution time. Hyper-period of the task set is 50. Table III and IV shows the resulting schedule of EEDVFS and DS for the example task set.

TABLE I. PERIODIC TASK SET

Task No Period wcet Deadline No. of Jobs

aet for each job

Tds 10 3 10 - -

T0 25 7 25 2 3, 4

T1 50 15 50 1 8

Select_Frequency (Jk) // Jkis periodic job Begin if (Jk Released) then set Uk ← Ck/Pk where 0 ≤ k < p else if (Jk Completed) then set Uk ← Ek/Pk where 0 ≤ k < p if(ARQ(!empty)) then set Ud s ← Cds/Pds else set Uds← 0 tj UT ← ∑Ui + Uds i=0 select freq fopt∈{f1, f2,..fmax | f1 < f2 <...< fmax} such that UT ≤ fopt/fmax return fopt End

EEDVFS_scheduler(T,A,PRQ,ARQ,t) Begin Join all pending periodic jobs till t to PRQ Join all pending aperiodic jobs till t to ARQ if (ARQ(!empty) and (Cds>0)) then n_d_p ← t + min (Cds, RET(Jha)) execute Jha till n_d_p at fmax and vmax Cds← n_d_p - (min(Cds, CT(Jha)) + t ) t ← n_d_p else if(PRQ (!empty)) then n_d_p ← min(t + RET(Jhp), Ana, Rp, Anp) execute Jhp till n_d_p at fopt and vopt

t ← n_d_p else if((ARQ(empty) or Cds = 0) and PRQ(empty)) then CPU is idle till any other periodic or aperiodic job arrives or server replenishes the execution budget End

2013 IEEE 8th International Conference on Industrial and Information Systems, ICIIS 2013, Aug. 18-20, 2013, Sri Lanka

645

TABLE II. APERIODIC TASK SET

Aperiodic Task No Arrival Time Aet Ap0 5 5

Ap1 10 5

Table III and Table IV explain resulting schedule of

EEDVFS and DS respectively for the example task set shown in table I and II. Schedule in row-1 of table III shows that J<0,0> and J<1,0> are released and no job is completed or preempted at time 0. Optimal frequency is selected as 0.75 since total utilization upon release is computed as 0.58. Execution time of J<0,0> is 4 units at fopt. At time 0, J<0,0> executes for 4 units of time. Utilization upon completion of J<0,0> is computed as 0.42, so fopt is selected as 0.5 as shown in row-2. J<1,0> starts execution at time 4 and is preempted at time 5 due to arrival of Ap0. In row-3, RET of J<1,0> is 7.5, Ap0 starts execution at time 5 and is preempted at time 8 due to exhaustion of budget. In this way it further proceeds. Similarly table IV describes schedule by DS for the same example task set. It is observed from table III and IV that DS leaves CPU idle for 6 units of time where as EEDVFS does not leave CPU idle. EEDVFS scales down the frequency of executing periodic jobs there by reducing voltage and energy consumption. Assuming idle time consumes lowest energy level available with the processor, normalized energy consumed by EEDVFS and DS are computed as 9.32 and 15.5 respectively. This shows that EEDVFS optimizes energy over DS algorithm.

TABLE III. EEDVFS SCHEDULE

R-Release, C-Completion, P(RET) - Preemption (Remaining Execution Time of preempted job at fmax), U(R/C) - Total Utilization upon release or upon completion, fopt - Optimal Frequency, aet - Actual execution time of executing job.

TABLE IV. DS SCHEDULE

IV. COMPARATIVE ANALYSIS The performance metrics used for comparison are energy

consumption, average response time, average latency, preemption count, number of decision points and scheduling complexity. EEDVFS optimizes energy consumption by scaling down the frequency. Since energy is directly proportional to the cube of frequency, scaling down frequency results in reduced energy consumption. Energy consumption is normalized over hyper period. In order to ensure better response time of aperiodic jobs, average response time of periodic as well as aperiodic tasks in a task set is computed for both EEDFVS and DS. Latency of a job is defined as difference between finish time and start time of that job. Average latency is computed per task set for EEDVFS and DS. EEDVFS saves energy as compared to DS with slight increase in response time and latency. Number of decision points is the sum of number of completion points and preemption points per task set. Preemption points are caused due to arrival of higher priority job and server budget exhaustion. We normalize it over number of tasks in task set. Number of decision points and preemption points of EEDVFS increases slightly as compared to DS because of increase in execution time. Number of decision points are particularly important while calculating scheduling complexity.

The worst case scheduling complexity is calculated on the basis of number of decision points and time required to make scheduling decision at each decision point. Initially, upon arrival of the jobs at time 0, scheduling decision is made on EDF basis. Later scheduling decisions are made at completion and preemption points. Number of completion points and number of preemption points are denoted by NCP and NPP respectively. Number of preemptions caused due to arrival of higher priority jobs are denoted as NPPA

Time Release Completion Preemption(RET) aet

0 J<0,0>,J<1,0> - - J<0,0> = 3

3 - J<0,0> - J<1,0>=8

5 Ap0 - J<1,0>(6) Ap0 = 5

8 - - Ap0 (2) J<1,0>=6

10 Ap1 - J<1,0>(4) Ap0 = 2

12 - Ap0 - Ap1= 5

13 - - Ap1(4) J<1,0>= 4

17 - J<1,0> - Idle Time

20 - - - Ap1= 4

23 - - Ap1(1) Idle Time

25 J<0,1> - - J<0,1> = 4

29 - J<0,1> - Idle Time

30 - - - Ap1 = 1

31 - Ap1 - -

Time R C P (RET) U(R/C) fopt aet

0 J<0,0>,J<1,0> - - 0.58 0.75 J<0,0> = 4

4 - J<0,0> - 0.42 0.5 J<1,0> = 16

5 Ap0 - J<1,0> (7.5) - 1 Ap0 = 5

8 - - Ap0 (2) - 0.5 J<1,0> = 15

10 Ap1 - J<1,0> (6.5) - 1 Ap0 = 2

12 - Ap0 - - 1 Ap1 = 5

13 - - Ap1 (4) - 0.5 J<1,0> = 13

20 - - J<1,0> (3) - 1 Ap1 = 4

23 - - Ap1 (1) - 0.5 J<1,0> = 6

25 J<0,1> - - 0.88 1 J<1,0> = 2

27 - J<1,0> - 0.74 0.75 J<0,1> = 5.33

30 - - J<0,1> (1.75) - 1 Ap1 = 1

31 - Ap1 - 0.75 J<0,1> = 2.33

33.33 - J<0,1> - - - -

2013 IEEE 8th International Conference on Industrial and Information Systems, ICIIS 2013, Aug. 18-20, 2013, Sri Lanka

646

and due to server budget exhaustion are denoted as NPPBE. Time complexity of the proposed algorithm is product of number of decision points (NDP) and time taken per decision (Td). Td is equal to the sum of time taken to compute total utilization at that decision point (Tu), time to select frequency (Tf) and time to select job for execution (Te). Let at a decision point, n be the total number of jobs in PRQ and ARQ , m be the number of jobs whose execution is completed before deadline. Let k be the number of frequency ranges. Following equation (2) shows time complexity of the proposed algorithm:

1 2 2 where, 1 ,

∑ P ∑ P , 1

Time complexity of non-DVFS DS does not include time to calculate utilization at any decision point and time to select frequency. This is the extra time required by the EEDVFS scheduler.

V. EXPERIMENTAL SETUP We have implemented EEDVFS and EDF based DS for

mixed task set in C language and tested them on synthetic test data. Test data generation program is also implemented in C language. The program generated data randomly under certain conditions: Each test suite contains 100 different periodic task sets with hyper period ranging from 900 to 30000 and fixed number of tasks in a task set are ranging from 2 to 20, the number of aperiodic tasks in a task set can be 2, 3 or 5. The task sets are also generated on a wide range of utilization (from 50% to 100%).

In case EEDVFS, for each periodic task, aet is generated for the number of instances till its hyper period using random distribution. These aet are ranging from 30% of wcet to 100% of wcet. The frequency ranges used are 0.5,0.75,1.0 and corresponding voltage ranges are 3.0, 4.0 and 5.0. The results obtained are averaged over hundred task sets. The entire test data ensures almost all possible test cases.

VI. EXPERIMENTAL RESULTS Comparison of EEDVFS is done with EDF based DS on

performance metrics such as energy consumption, average response time, average latency, number of decision points and number of preemptions. Total utilization of mixed task set is fixed to 70%. Fig. 3 shows energy consumption by EEDVFS and DS normalized over hyper period. It shows 54% energy saving by EEDVFS. Simulations are done on

aet. Fig. 4 and fig.5 shows average response time and average latency per task set by EEDVFS and DS normalized over execution time respectively. Trend shows slight increase in both metrics in EEDVFS. This is due to DVFS. Fig. 6 and fig. 7 shows number of decision points and preemption points normalized over total number of tasks per task set. There is slight increase in decision points as well as preemption points in EEDVFS due to reduced frequency.

Fig. 3. Normalized Energy Consumption

Fig. 4. Normalized Response Time

Fig. 5. Normalized Latency

Fig. 6. Number of Decision Points

2013 IEEE 8th International Conference on Industrial and Information Systems, ICIIS 2013, Aug. 18-20, 2013, Sri Lanka

647

Fig. 7. Number of Preemption Points

VII. CONCLUSION Energy efficient DVFS based real time scheduling

algorithm EEDVFS is proposed and simulated for mixed task set. EEDVFS is compared with non-DVFS EDF based DS on the basis of performance metrics like energy consumption, response time, latency, number of decision points and preemption counts. Simulation results show that proposed algorithm saves 54% energy with slight increase in response time, latency and preemption points. This work can be extended with multi-core processors. EEDVFS can be applied on multi-core platform where other issues related to multi-core processors are required to be handled.

REFERENCES

[1] D. Shin and J. Kim, “Dynamic voltage scaling of periodic and

aperiodic tasks in priority-driven systems,” in Proc. Asia and South Pacific Design Automation Conf., Yokohama, Japan, pp. 653–658, 2004.

[2] D. Shin and J. Kim, “Dynamic Voltage Scaling of Mixed Task set in Priority Driven Systems,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 25, No. 3, March 2006.

[3] W. Yuan and K. Nahrstedt, “Integration of dynamic voltage scaling and soft real-time scheduling for open mobile systems,” in Proc. Int. Workshop Network and Operating Systems Support Digital Audio and Video, Miami Beach, FL, pp. 105–114, 2002.

[4] H. Aydin and Q. Yang, “Energy-responsiveness tradeoffs for real-time systems with mixed workload,” in Proc. 10th IEEE Real-time and Embedded Technology and Applications Symp., Toronto, Canada, pp. 74–83, 2004.

[5] Nasro Min-Allah, Asad-Raza Kazmi, Ishtiaq Ali, Xing Jian-Sheng, Wang Yong-Ji, “Minimizing Response Time Implication in DVS Scheduling for Low Power Embedded Systems, ” 4th International Conference on Innovations in Information Technology, 2007.

[6] Thomas D. Burd and Robert W. Brodersen, "Energy Efficient CMOS Microprocessor Design", in Proc. of the 28th Annual Hawaii International Conference on System Sciences, Wailea, HI, 288 - 297 vol.1, 1995. [7] Mayuri Digalwar, Sudeept Mohan and Biju K. Raveendran, "Energy

Aware Real Time Scheduling Algorithm for Mixed Task Set", International Conference on Advanced Electronic Systems (ICAES) 2013, in press.

[8] Woonseok Kim, Dongkun Shin, Han-Saem Yun, Jihong Kim and Sang Lyul Min, "Performance Comparison of Dynamic Voltage Scaling Algorithms for Hard Real-Time Systems" , published in Eighth IEEE Real Time and Embedded Technology and Application Symposium, 2002.

[9] Y. Shin, K. Choi, and T. Sakurai, " Power Optimization of Real-Time Embedded Systems on Variable Speed Processors", In Proceedings of

the International Conference on Computer-Aided Design, pages 365–368, November 2000.

[10] H. Aydin, R. Melhem, D. Mosse, and P. Meja-Alvarez, “Power-Aware Scheduling for Periodic Real-Time Tasks,” IEEE Trans. Computers, vol. 53, no. 5, pp. 584-600, May 2004.

[11] P. Pillai and K.G. Shin, “Real-Time Dynamic Voltage Scaling for Low-Power Embedded Operating Systems,” Proc. 18th ACM Symp. Operating Systems Principles, 2001.

[12] H. Aydin and Q. Yang, “Energy-responsiveness tradeoffs for real-time systems with mixed workload,” in Proc. 10th IEEE Real-time and Embedded Technology and Applications Symp., Toronto, Canada, pp. 74–83, 2004.

[13] Claudio Scordino, Giuseppe Lipari, "A Resource Reservation Algorithm for Power-Aware Scheduling of Periodic and Aperiodic Real Time Tasks", IEEE Transaction on Computers, Vol 55, No. 12, Dec 2006.

[14] H. Aydin, R. Melhem, D. Mosse, and P. M. Alvarez, "Dynamic and Aggressive Scheduling Techniques for Power- Aware Real-Time Systems", In Proceedings of IEEE Real- Time Systems Symposium, December 2001.

[15] Jane W. S. Liu. "Real-Time Systems", Pearson Education, Inc and Dorling Kindersley Publishing Inc, 2008.

[16] C.-H. Lee and K.G. Shin, “On-Line Dynamic Voltage Scaling for Hard Real-Time Systems Using the EDF Algorithm,” Proc. IEEE Int’l Real-Time Systems Symp., pp. 319-327, 2004.

[17] Wann-Yun Shieh and Bo-Wei Chen, "Energy-Efficient Tasks scheduling Algorithm for Dual-core Real-time Systems," Proc. IEEE, Computer Synposium (ICS) 2010 International, Taiwan, pp.568-575, 2010.

[18] Karthik Lakshmanan, Ragunathan (Raj) Rajkumar, and John P. Lehoczky, "Partitioned Fixed-Priority Preemptive Scheduling for Multi-core Processors," Proc. of 21st Euromicro Conference on Real-Time Systems, Dublin, pp. 239 - 248, 2009.

[19] Junyang Lu, Yao Guo," Energy-Aware Fixed-Priority Multi-core Scheduling for Real-Time Systems," Proc. of 17th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, Toyama, pp. 277 - 281, 2011.

2013 IEEE 8th International Conference on Industrial and Information Systems, ICIIS 2013, Aug. 18-20, 2013, Sri Lanka

648