^{1}

^{2}

^{1}

^{2}

Power-aware scheduling reduces CPU energy consumption in hard real-time systems through dynamic voltage scaling (DVS). In this paper, we deal with pinwheel task model which is known as static and predictable task model and could be applied to various embedded or ubiquitous systems. In pinwheel task model, each task’s priority is static and its execution sequence could be predetermined. There have been many static approaches to power-aware scheduling in pinwheel task model. But, in this paper, we will show that the dynamic priority scheduling results in power-aware scheduling could be applied to pinwheel task model. This method is more effective than adopting the previous static priority scheduling methods in saving energy consumption and, for the system being still static, it is more tractable and applicable to small sized embedded or ubiquitous computing. Also, we introduce a novel power-aware scheduling algorithm which exploits all slacks under preemptive earliest-deadline first scheduling which is optimal in uniprocessor system. The dynamic priority method presented in this paper could be applied directly to static systems of pinwheel task model. The simulation results show that the proposed algorithm with the algorithmic complexity of

Energy consumption issues are becoming more important for mobile or battery-operated systems. These mobile or portable embedded systems could be stand-alone or wireless networked. In the case of wireless networked system, much research effort was done on managing energy consumption of overall network [

Since the energy consumption of CMOS circuits, adopted in various microprocessors which are generally used in mobile or portable systems, has a quadratic dependency on the operating voltage (

DVS algorithm depends on scheduling policy, task model, and processor architecture. Scheduling policy depends on the priorities of tasks which could be static or dynamic. Generally, static priority system is more manageable in embedded or ubiquitous systems, but more complicated or limited in the aspect of power-saving [

Among the dynamic priority scheduling policies, we consider earliest-deadline-first (EDF) scheduling policy [

The rest of this paper is organized as follows. In Section

In this section, we present the system model and introduce the result of related work.

Pinwheel task model was introduced in [

In a distance-constrained task set

Based on the work done in [

As stated in [

Now, we can introduce periodic or sporadic task system because pinwheel task model could be considered as a special form of periodic task system. Each task of the system we considered is mutually independent. The target processor is DVS enabled uniprocessor and its supply voltage and frequency are varied continuously between [

If an instance or job of a task

The previous work on power-aware scheduling for pinwheel task model is based on offline algorithm [

EDF, an optimal dynamic priority scheduling policy, has been extensively investigated in the area of real-time and power-aware scheduling [

Mei et al. [

CC-EDF schedule and its available slack.

In this section, we investigate the property of pinwheel task model and its behavior of scheduling result. As stated in Section

Let

Suppose a distance-constrained task system consists of five tasks with distance constraints

A scheduling result of pinwheel task model.

It is known that if total utilization of a task system after pinwheel transformation is lower than or equal to 1, then the task system is schedulable [

If

If we execute the same task at processor speed

By Theorem

There is no difference between the scheduling results of rate-monotonic scheduling and EDF in case of pinwheel task model.

Only at the beginning (or the end) of smallest period can start a pinwheel task and also can exist the deadline of each task in pinwheel task model because periods of all tasks are harmonic.

The priority of rate-monotonic scheduling is determined by the length of task’s period and is static. That of EDF scheduling is determined by shorter deadline and is dynamic. Now, consider when a task preempts another task. Both rate-monotonic scheduling and EDF preempt lower priority task when a higher priority task arrives and execute the new arrived higher priority task. But the preemption of pinwheel task system can exist only at the beginning (or the end) of the smallest period because all tasks can start only there. The deadline of the higher priority task of rate-monotonic scheduling is always the same as or shorter than that of the preempted lower priority task because periods are harmonic. And if two tasks have the same deadline, let the task of smaller index have higher priority. So, if we index each task by its increasing period at EDF, the preempting higher priority task in rate-monotonic scheduling has also higher priority in EDF than the preempted lower priority task in the case of the same deadline.

For the cases of choosing the highest priority ready task when multiple tasks start at the same time and when the previous task ends or an existing ready task resumes, the selected highest priority task of rate-monotonic scheduling has the shortest deadline and the smallest index because all periods are harmonic. So, all tasks have the same priority orders at every scheduling point between RM and EDF in case of pinwheel task model.

Theorem

In this section, we introduce a new power-aware scheduling algorithm which adopts dynamic priority scheduling policy. But we already stated in Section

As we stated in Section

Temporal idleness

The real value of

At CC-EDF or CC-DVSST scheduling, the amount of computation time exceeding its actual pace until its completion time (

Consider

Using Lemma

One more consideration occurs when there is idle period. Let us consider a periodic task set _{3}(2.5), then actual processing capacity during

Deadline missing occurs because there is idle period

A slack reduction example.

The number of slacks which should be reduced is

Now, we will show briefly that the presented algorithm is correct. Theoretic full proof using temporal workload analysis could be found at our previous paper [

The algorithm presented, in Algorithm

insert

recompute TU = TU ±

last_cpu_speed = compute_cpu_speed (

cpu_speed = CU

cpu_speed −= (

ex_flag = 1;

idle_work = idle_period

decrease

idle_work −= (

distribute unused slack evenly until deadline

“Only If” part: if

“If” part: we will show that total amounts of executed computations using our algorithm are always larger than or equal to those of another ideal system which schedules always tasks without violating their timing constraints. Also, we will show that our algorithm executes jobs of higher priority tasks more than or the same as the ideal system, so, our scheduling algorithm also satisfies the real-time constraints.

Let us consider ideal CPU of ideal system which can anticipate each task’s actual computation time when it is released and can execute active tasks concurrently with the speed of

Our real system starts to execute with

During the time interval

During idle period, there exist some areas of ideal system which cannot find counterparts of real system. Those areas could be filled up or substituted with the areas of future slacks of already completed tasks as shown in Figure

Now, total computing capacity of our real system is always larger than or equal to that of the substitution and exchange result. And the computing capacity of the former is always exhausted by tasks which have shorter or the same deadlines of tasks of the latter as we already stated.

Ideal CPU and ideal execution.

Slack exchange process.

Slack exchange process for idle period.

Let us consider an illustrative example, a pinwheel task system with distance constraints

An illustrative example.

At _{1} is 0.14 and TI_{1} is 0.17, approximately. _{2} is 0.14 and TI_{2} is 0.19, approximately. The processor speed for

Above process will be continued until _{4} _{4} because deadline of _{4} into 0.085, approximately. The unused slack is

We evaluated our proposed algorithm using RTSIM [

We compared our proposed algorithm with CC-EDF for periodic task model, with DVSST and CC-DVSST for sporadic task model, and with CC-EDF and CC-RM [

To evaluate the effect of number of tasks in the system, we generated 10 or 20 tasks for each comparison. Their periods or minimum interarrival times are chosen randomly in the interval [1–1000] ms. We divided each task of system into three groups to reflect more real environments. One group of tasks has short period in the interval [1–10] ms, another group of tasks has medium period in the interval [10–100] ms, and the last group of tasks has long period in the interval [100–1000] ms. The simulation was also performed by varying the load ratio of tasks, that is, the ratio of the actual computation time to the worst-case computation time. For the periodic and sporadic task simulations, the worst-case total utilization of system is always 1; that is,

Figure

Simulation result for periodic, sporadic, and pinwheel tasks.

For pinwheel task model, our algorithm always outperforms both CC-RM and CC-EDF. CC-EDF always outperforms CC-RM except the case of 20 tasks and 90% load ratio. For the number of CPU frequency changes, that of CC-RM is slightly lesser than those of CC-EDF and our algorithm in the range of small load ratio and almost the same in the range of large load ratio. As you can see, CC-EDF and our algorithm outperform CC-RM by up to 80% in the range of small load ratio, so, we can still insist that dynamic priority scheduling algorithms of CC-EDF and our proposed algorithm have huge performance gain in the power saving in the range of small and medium load ratios.

In this paper, we investigated the property of pinwheel task model and showed that this task model can adopt the scheduling results of dynamic priority systems. So, this pinwheel task system which is integrating static and dynamic scheduling results is simple enough to be applied to embedded or ubiquitous computing and is more effective in power saving than the systems of only static method. Also, we presented a power-aware scheduling algorithm for general periodic and sporadic task systems and applied it to pinwheel task model without modification. The proposed algorithm adopts the results of cycle conserving method (CC-EDF) and sporadic task scheduling (DVSST) and improves them. The simulation results show that the proposed algorithm outperforms existing algorithms by up to 10–80% with respect to CPU energy saving.

In the future, we would like to improve the proposed algorithm. This could be done if we assign all slacks generated by the early completed higher priority tasks into the task of the highest priority among the uncompleted ready tasks instead of evenly distributing them until the ends of deadlines. This method may lower processor frequency much more than the proposed algorithm. Then, there may be more chances to save power consumption.

The authors declare that there is no conflict of interests regarding the publication of this paper.

This work was supported in part by the Industrial Strategic Technology Development Program (10041740, development of a software that provides customized real-time optimal control monitoring services by integrating equipment in buildings with web service), funded by the Ministry of Trade, Industry, and Energy (MOTIE, Korea), and also supported in part by Research Fund of Chungnam National University, Korea.