Array radar resource management Alexander Charlish* and Fotios Katsilieris*
3.4 Scheduling
The scheduler is responsible for creating a transmittable timeline of jobs from multiple potentially conflicting job requests. Each job request consists of the job priority, job durationtc and the job timing constraints. The job timing constraints are the earliest timete, the desired timetd and the latest timetlthat the job can be scheduled. These parameters are shown in Figure 3.11. The objective of the sche- duler is to maximize the radar time utilization, while satisfying the job request constraints.
3.4.1 Queue schedulers
Queue-based schedulers operate by selecting the next best job from a queue or set of queues. The next best job is decided upon an ordered list of the jobs that are eligible to be executed. Such a list can be ordered based on the timing constraints to give the following schedulers:
● Earliest deadline first (EDF)
● Desired time first (DTF)
● Earliest time first (ETF)
Another possibility is to schedule jobs based on highest priority first or shortest job first, but this would not result in desirable scheduling behaviour. However, job priority can be incorporated into a scheduler, by ensuring that lower priority jobs are not able to delay higher priority jobs. Once the next best job is selected it can be
de dl tc
Job
te td tl Time
Figure 3.11 Example of parameters defining a job request
directly executed, or added to a scheduling frame of fixed duration. This queue- based scheduling process can be summarized in the following steps:
1. Add new job requests to queue
2. Select job request according to selected criterion
3. If currently selected job delays a higher priority job in the queue, then switch to higher priority job. Repeat until no higher priority jobs are delayed
4. Execute job or add job to scheduling frame
5. Remove jobs that have missed scheduling deadlines 6. Repeat from step 1
As the queue can be maintained with low computational burden, queue-based schedulers are computationally light and easy to implement. As shown in the comparison by Miranda [66], queue-based schedulers are able to obtain close to 100%occupancy for highly fluid jobs. As each allocation frame is not optimized, the delays for the jobs can be greater than the delays encountered with locally optimized schedulers. Reducing scheduling delays is desirable; however, the impact on the task quality of scheduling delays varies for different functions and may in fact be minor.
3.4.2 Frame-based schedulers
Frame-based schedulers generate a timeline by arranging jobs in a time allocation slot of fixed duration. Whilst the previous allocation frame is being executed, the next allocation frame is being calculated. For a given measure of optimality, an exhaustive search could be used, but often heuristics are used to guide the placing of jobs within the allocation frame. Ormanet al. [62] present a variety of heuristics, based on the allowed delay for tracking and search jobs. Winteret al. [69,70] present a method based on linear programming that schedules jobs to minimize the overall cost given cost functions for each job. The cost functions describe the cost associated with scheduling a job early or late. It is found that the computation is too great and therefore heuristics are proposed. Moo [71] presents an approach based on benefit slopes that also describe the penalty associated with scheduling a task early or late.
As frame-based schedulers optimize the placing of the job in the allocation frame, they can generate good quality schedules that minimize the delay of the jobs as well as considering the cost of delaying the jobs. This is evident in the comparison by Miranda [66] where the frame-based schedulers exhibit a smaller delay in com- parison to the queue-based schedulers. However, frame-based schedulers incur a higher computational burden. Unfortunately, due to the strict real time requirement of the scheduler, this computational complexity can render frame-based scheduling solutions impractical. In addition, as they construct firm timelines over the allocation frame, they can have difficulties in rapidly scheduling jobs for pop-up tasks.
3.4.3 Comparison of schedulers
In this subsection, different schedulers are compared in terms of occupancy and the number of jobs that missed deadlines. The occupancy is the percentage of the
available radar time that is used for jobs, and it is desirable that the occupancy is as close to 100%as possible. The occupancy depends on the fluidity of the jobs which is the time between the desired time and the earliest and latest times (denoted asde anddl, respectively, in Figure 3.11) that the job can be scheduled. The number of jobs that missed deadlines depends on the loading of the radar, in overload situa- tions, high priority jobs should be scheduled while low priority jobs are dropped.
To demonstrate the influence of job fluidity, a random set of search and tracking jobs were created for fluidity values in 1½ ;2;. . .;50ms. It was assumed that there were 200 search beams with revisit intervals sampled from
0:25;0:35;. . .;3:5
½ s, and dwell length sampled from 0½ :1;0:2;. . .;10 ms. In addition, there were 50 tracking beams with revisit intervals sampled from
0:5;0:6;. . .;4
½ s, and dwell length sampled from 0½ :1;0:2;. . .;5ms. A priority was randomly assigned to each task: search tasks were assigned priorities in 1f ;2;3g and tracking tasks in 3f ;4;5gwith 1 being the lowest and 5 the highest priority.
The total load varied based on the realization in the sampling process of the chosen revisit intervals and dwell lengths and in general the job load was between 80%
and 120% of the permissible load.
In addition, for the considered frame-based scheduler [71], the peak benefits, as defined in [71], were set to be equal to the corresponding job priorities. The early and late slopes were equal for each job and randomly sampled from [5,20,50]. The frame length was 100 ms, and if all jobs were finished before the end of a frame, then this frame was shortened accordingly so that the next frame could start.
The considered example mimics a situation where an ESA radar is tracking multiple targets while searching for new ones. Therefore, different dwell lengths, revisit intervals and priorities are sampled randomly from sets suitable to tracking and search functions. In this way, the randomness in targets’ locations and in their corresponding priority within different operational contexts is modelled.
The compared schedulers were:
● EDF, without using priorities, marked as EDF;
● EDF, with priorities, marked as EDF-WP;
● DTF, without using priorities, marked as DTF;
● DTF, with priorities, marked as DTF-WP;
● ETF, without using priorities, marked as ETF;
● ETF, with priorities, marked as ETF-WP;
● The frame scheduler described in [71], where jobs with priority 3 were considered as primary and the rest as secondary jobs. The secondary jobs where scheduled in time gaps using EDF-WP. This algorithm is denoted as Frame scheduler v1;
● A degenerate version of the frame scheduler described in [71], where all jobs were considered as primary jobs. This algorithm is denoted as Frame scheduler v2.
Figure 3.12 shows the occupancy results for each scheduler, averaged over dif- ferent Monte Carlo runs. It can be seen that as job fluidity increases, more jobs can be scheduled and the occupancy increases irrespective of the use of priorities.
On the other hand, the use of priorities results in lower occupancy for low fluidity values. Figure 3.13 shows the benefit of using priorities: tasks with higher priority get dropped (or miss their deadline) much less often than the tasks with lower priority.
For low fluidity values, queue schedulers result in higher radar occupancy but as the job fluidity increases, all schedulers result in similar occupancy. The benefit of using frame schedulers is that jobs with higher priorities miss their deadlines extremely rarely, at the cost of lower priority jobs missing their deadlines much more often when compared to queue schedulers.
Job fluidity (ms)
0 5 10 15 20 25 30 35 40 45 50
Radar time occupancy (%)
0 20 40 60 80 100 120
EDF
EDF with priorities DTF
DTF with priorities ETF
ETF with priorities Frame scheduler v1 Frame scheduler v2 Total load
Figure 3.12 Achieved occupancy of each scheduler as function of job fluidity
Job priority
1 2 3 4 5
Missed jobs percentage
0 5 10 15 20 25
30 EDF
EDF with priorities DTF
DTF with priorities ETF
ETF with priorities Frame scheduler v1 Frame scheduler v2
Figure 3.13 Percentage of missed job deadlines as a function of job priority.
Dashed lines illustrate schedulers with priorities