• 沒有找到結果。

Table 6.2: Comparison of Schedulers

Scheduler

EDF RM Sr

b

schedulability condition 1

n

(21=n;1)

n

(21=n;1)

jitter high lowy none

end-to-end delay long short shortest

resource reservation dicult easyy easy worst case blocking time large large small transient overload unstable stable stable

yfor high-priority tasks

highly dynamic with no control for regularity.

RM

and

Sr

b have the same schedulability condition. However, assuming the execution time is constant, pinwheel schedules are jitter-less 32] and can be generated o-line (or even on-line) in polynomial time 19]. Therefore it provides the best predictability. In other words, it is easy to predict when some specic resources may be needed by a task using

Sr

b while

RM

can only predict resource usages for high-priority tasks. Therefore, resource reservation is easier to do in

Sr

b than in

RM

. In multiple-node systems, pinwheel schedules in dierent nodes can be properly aligned to provide shorter end-to-end delays 19]. In comparison, the end-to-end delay for tasks using

RM

may be more dicult to adjust 42]. In practice, since a pinwheel eective schedule can be generated in polynomial time, the schedule optimization can be done in a more dynamic fashion and the scheduling can be exible and adaptive to the system environment change.

Therefore, we believe our work creates a new scheme for a better real-time system design.

82 for how to apply the pinwheel algorithms. There are many theoretical and practical direc-tions in the future research of real-time systems scheduling using the distance-constrained model. They are discussed below.

We have studied the optimal pinwheel scheduling algorithms using the single-number reduction technique, i.e. if the optimal pinwheel algorithms can not nd a schedule for a DCTS then no other pinwheel algorithm based on the single-number reduction technique can nd one. Since the set of multiple numbers is a superset of a single number, using multiple numbers instead of a single number for the reduction technique may achieve a better performance. An optimal pinwheel scheduling algorithm using the multiple-number reduction technique also has an exponential complexity just like using the single-number re-duction technique. How to nd the schedulability condition and how to nd a near-optimal polynomial-time heuristic for the pinwheel transformation using the multiple-number re-duction technique is an open and interesting problem.

By taking advantage of the harmonic periods after the pinwheel transformation, we can generate an eective pinwheel schedule in polynomial time so that a exible time-driven scheduling approach is possible. Moreover, the synchronous pinwheel schedules after pinwheel transformation in dierent nodes result in a system with predictable end-to-end delays. It is interesting what we can benet from this transformation technique if we apply it to jitter control, resource sharing, or even the whole system design.

We have studied how to minimize or reduce the total end-to-end delay or the maximum end-to-end delay for uniformly structured transactions. One direction for future research is to investigate how to solve more complicated end-to-end delay requirements, e.g. minimiz-ing the weighted end-to-end delay or minimizminimiz-ing the total end-to-end delay with bounded end-to-end delays for some transactions. The other direction is to study the end-to-end delay of non-uniformly structured transactions. In general, this is a NP-hard problem.

However, the question is if any subset is solvable or can be easier approximated by taking advantage of pinwheel transformation. How to allocate resources in dierent nodes so that the system becomes easier to solve is also an interesting problem.

We assume there is no resources sharing or the blocking time is negligible in our early study of the time-driven distance-constrained model. However, in a practical system, the resources sharing is inevitable. How to deal with resource conicts and how to calculate the worst blocking time are also important in time-driven distance-constrained model. By taking advantage of the regular pinwheel schedules, it is interesting to see if we can solve most of the resource conicts before execution or how we can reduce the worst case blocking time.

Pinwheel processor scheduling and pinwheel network scheduling have been studied re-spectively. However, no research has been conducted on scheduling many processors and the underlying network together using the pinwheel algorithms. Pinwheel scheduling is easy to allocate network resources. It is interesting to compare the network resources allocation between pinwheel and the rate based ow control approach 24, 37].

In addition to the traditional application in the distance-constrained model, such as video play back and satellite tracking, there are several potential applications which can benet by using the time-driven approach. More research can be done for these or other applications on how to realize and make the most use of the time-driven scheduling ap-proach.

Resources Reservation:

By using the time-driven approach, it is easy to reserve and adjust bandwidth for dierent resources. For example, several tasks are reserved for using CPU, one task is dened as a printer server, and one task is dened to handle keyboard or mouse inputs.

With ecient time-driven scheduler, resource reservation can be done dynamically and exibly. For example, if there are more real-time tasks and some of them are not schedulable, the execution time of the printer server can be reduced.

Fine Granularity Variable Time Slices:

To the very ne granularity of CPU bandwidth reservation, we can have variable time slices for each program so that it is possible to eliminate much context switching

84 while still keep fairness or user satisfaction among programs. For example, for the CPU intensive tasks, they need larger time slices for I/O intensive tasks, the time slice can be smaller. Using our TOPS's, there is no context switching for real-time tasks until a timer event is raised. The time slice is between a task is run or resumed until it is preempted or nishes. Moreover, the size of time slice can also be changed dynamically for non-real-time tasks.

Mixed Scheduling Policies:

We can also reserve CPU bandwidth for dierent scheduling policies so that mixed scheduling policy is possible. For individual policies, the schedulability is tested using the allocated utilization. For example, if the

EDF

scheduling policy is allocated with execution time 1 and distance constraint 2, the tasks using

EDF

are schedulable if the utilization is less than 0.5. Each task can only execute in the time reserved for its policy. The overall schedulability test can be done by testing individual schedula-bility of each policy with its allocated utilization. Its proof of correctness is also an interesting topic.

相關文件