Real-Time Syst (2006) 33: 7–46 DOI 10.1007/s11241-006-6881-0
Integrated QoS-aware resource management and scheduling with multi-resource constraints Sourav Ghosh · Ragunathan (Raj) Rajkumar · Jeffery Hansen · John Lehoczky
C
Springer Science + Business Media, LLC 2006
Abstract In dynamic real-time systems such as sensor networks, mobile ad hoc networking and autonomous systems, the mapping between level of service and resource requirements is often not fixed. Instead, the mapping depends on a combination of level of service and outside environmental factors over which the application has no direct control. An example of an application where environmental factors play a significant role is radar tracking. In radar systems, resources must be shared by a set of radar tasks including tracking, searching and target confirmation tasks. Environmental factors such as noise, heating constraints of the radar and the speed, distance and maneuverability of tracked targets dynamically affect the mapping between the level of service and resource requirements. The QoS manager in a radar system must be adaptive, responding to dynamic changes in the environment by efficiently reallocating resource to maintain an acceptable level of service. In this paper, we present an integrated QoS optimization and dwell scheduling scheme for a radar tracking application. QoS optimization is performed using the Q-RAM (Baugh, 1973; Ghosh et al., 2004a) approach. Heuristics are used to achieve a two order magnitude of reduction in optimization time over the basic Q-RAM approach allowing QoS optimization and scheduling of a 100 task radar problem to be performed in as little as 700 ms with only a 0.1% QoS penality over Q-RAM alone.
S. Ghosh () · R. (Raj) Rajkumar Carnegie Mellon University, Department of Electrical and Computer Engineering e-mail:
[email protected];
[email protected] J. Hansen Carnegie Mellon University, Institute for Complex Engineered Systems e-mail:
[email protected] J. Lehoczky Carnegie Mellon University, Department of Statistics e-mail:
[email protected] Springer
8
Real-Time Syst (2006) 33: 7–46
1. Introduction Many systems are comprised of tasks that can be configured to run at multiple levels of QoS. Often there are multiple aspects (e.g., frame-rate and resolution for a videoconference application) which can be configured for the task. We call these aspects, operational dimensions. In some tasks, the number of possible configurations can be very large. For example, if a task has 10 operational dimensions with 10 levels along each dimension, there will be 1010 possible configurations, or set-points, for the task as a whole. We call such tasks, highly configurable. In addition, there are also certain tasks for which environmental factors play a key role in deciding the QoS levels. For example, in a radar system, the tracking accuracy obtainable with a given amount of radar resources may depend on factors such as the distance of the target from the radar, the speed of the target and the type of the target. This may require the resource manager to frequently reevaluate and possibly reconfigure application tasks in order to maintain acceptable performance. Tasks in a radar system are typically both highly configurable and dependent on environmental factors. Radar task operational dimensions typically include the dwell period, the dwell time, the transmit power and the cpu resources. In addition to the environmental factors listed above, the radar itself has constraints such as heat constraints based on transmit time and power. All of these factors result in a highly dynamic system with stringent time constraints and complex cross-layer interactions. The result has been that the design of such systems has long been a handcrafted mixture of pre-computed schedules, pessimistic resource allocations, cautious energy usage, and operator intuition. In this paper, we consider an integrated framework for QoS optimization and scheduling of a phased-array radar system. The antenna in a phased-array radar system can electronically steer the energy beam in a desired direction. This allows it to track targets at differing update rates depending upon its distance, acceleration, and its characteristics such as speed and acceleration. Some characteristics of a radar system of particular interest in resource management are:
r The longer the distance between the target and the radar, the higher the energy requirement. r Once a beam transmission starts, it cannot be preempted. r Each dwell consists of a transmit, wait and receive phase. r Dwells can be interleaved by scheduling the transmit or receive phase of one dwell in the wait period of another dwell. The goal of resource management in a radar system is to utilize the finite energy and time resources to maximize the quality of tracking. In addition to the tracking tasks, the system also includes search tasks and target confirmation task. A search task searches for new targets in the sky and a target confirmation task confirms the target after it is detected by the search task. A radar system must make two sets of decisions. First, it must decide what fraction of resources (energy and time) to spend on each task; And second, it must then schedule the radar antenna(s) to transmit the beams and receive the return echoes in a non-preemptive fashion. Since targets are continually moving, resource allocation and scheduling decisions must be made on a frequent basis. Due to the multi-dimensional nature of radar resource allocation, the problem of maximizing the benefits gained is NP-hard. In our scheme, we develop an integrated framework that performs a near-optimal resource allocation and scheduling of the tracking tasks in real-time. We show that such decisions can be made near-optimally, while maintaining schedulability and satisfying the resource constraints of the system. We concentrate primarily on the radar antenna Springer
Real-Time Syst (2006) 33: 7–46
9
resources as these are generally scarce compared to the computing resources. We model the system with two layered components: a QoS optimizer and a scheduler. The QoS optimization component is concerned with determining how much of the resources should be given to each task, and the scheduling component is concerned with determining when radar tracking tasks should be scheduled. In short, our radar resource management scheme deals with two primary concerns: the selections of operating points and ensuring schedulability.
Selection of operating points. We use the QoS-based Resource Allocation Methodology (Q-RAM) (Rajkumar et al., 1997; Lee et al., 1998) as the building block of our QoS optimization framework. In Q-RAM, the optimization goal is to maximize the total benefit derived by all tasks in the system while meeting resource constraints. This benefit is also known as utility. While Q-RAM has been shown to be optimal when certain conditions hold, it does not in general guarantee an optimal solution since it is a heuristic for solving an NP-hard problem. We first presented our scalable Q-RAM technique for the radar tracking scenario in Ghosh et al. (2004a) and Hansen et al. (2004). That approach in principle can deal with any number of targets, target configurations, and cooperative radar systems, as well as with changing weights associated with one or more targets.
Ensuring schedulability. The basic Q-RAM algorithm assumes that all resources are conserved quantities (i.e., that there is a fixed amount of each resource that can be distributed among a set of consumers). However, the existence of an allocation does not necessarily guarantee that the result will be schedulable. Furthermore, even if a valid schedule exists, there may be jitter constraint violations. This suggests that Q-RAM and the scheduler need to be tightly integrated. For this reason, we adopt a scheme in which the radar schedulability test is integrated into Q-RAM as in Ghosh et al. (2004c). Although the general radar scheduling problem includes a pipelined back-end (computing) and front-end (antenna), in practice the front-end antenna is the bottleneck resource. Therefore, we concentrate our schedulability analysis on the front-end only. Since radar tracking algorithms often depend on receiving periodic dwell data, this imposes a jitter constraint on the dwell schedule. We use harmonic periods to ensure that this constraint will be met (Lin, 1995). Many recent studies have focused on phased-array radar systems. For example, in Kuo et al. (2002) proposed a reservation-based approach for real-time radar scheduling. This approach allows the system to guarantee the performance requirement when the schedulability condition holds. However, Kuo et al. do not consider the energy constraint. Shih et al. (2003a,b) uses a template-based scheduling algorithm in which a set of templates is constructed offline, and tasks are fit into the templates at run-time. The templates consider both the timing and power constraints. They also consider interleaving of dwells which allows beam transmissions (or receptions) on one target to be interleaved between beam transmissions and receptions on another. Goddard and Jeffay (1997) use a data flow model to address real-time scheduling of radar tracking algorithms. The rest of this paper is organized as follows. Section 2 presents our model of the radar system, its associated resources and constraints. Section 3 discusses the application of QRAM in Radar systems. Section 4 describes our scheduling scheme of radar dwells. In Section 5, we present an evaluation of our experimental results. Finally, in Section 6, we summarize our concluding remarks and provide a brief description of our future work. Springer
10
Real-Time Syst (2006) 33: 7–46
Fig. 1 Radar system model
R1 only
R1&R2
R2 only
R1&R4
R4 only
R2&R3
R3 only
R3&R4
2. Radar model We assume the radar model presented in Ghosh et al. (2004c). It consists of a single ship with 4 radar antennas oriented at 90◦ to each other as shown in Figure 1. We also assume that each antenna is capable of tracking targets over a 120◦ arc. This means that there are regions of the sky that are capable of being tracked by only one radar antenna, as well as regions that can be tracked by two antennas. The antennas are assumed to share a large pool of processors used for tracking and signal-processing algorithms, and a common power source to supply energy to the antennas. 2.1. Radar task model We consider the following two types of radar tasks:
r Search: There are multiple search tasks that cover the entire angular range of the radar. r Tracking: There is one tracking task corresponding to each target being tracked. For simplicity, we omit confirmation tasks since from the point of view of the resource manager, they are similar to tracking tasks (except that they generally require more resources). A single instance of tracking a particular target consists of sending a radar signal consisting of a series of high frequency pulses and receiving the echo of those pulses. This instance is known as a dwell, as shown in Figure 2. It is characterized in terms of a transmit power Ai , a transmission time txi , a wait time twi and a receive time tri . Note that in an actual radar, Fig. 2 Radar dwell
txi twi tri
Ti
Ai t Springer
Real-Time Syst (2006) 33: 7–46
11
the transmission time actually consists of a series of rapid pulses over a time period txi as opposed to a continuous transmission. Generally, txi = tri , and the wait time is based on the round-trip time of the radar signal (e.g., about 1 ms for a target 100 miles away). Also, while the radar may dissipate some power while receiving, this power is much smaller than the transmit power. For simplicity, we assume that the receive power is negligible compared to the transmit power. The time between two successive dwells for a specified task is called the dwell period (Ti ) of that task. In order to appropriately track a target, the dwell needs to have a sufficient number of pulses (target illumination time or txi ) with a sufficient amount of power (Ai ) on the pulses to traverse through the air, illuminate the target and return back after reflection. Larger txi (more pulses) and Ai provide better tracking information. The value of Ai required to adequately track a target is proportional to the 4th power of distance between the target and the radar (Kolawole, 2002). Apart from the power output capability of the energy source, it is also limited by the heat dissipation constraint of the radar. The tracking information is also dependent on many environmental factors beyond the radar system’s control such as the speed, the acceleration, the distance and the type of the target, the presence of noise in the atmosphere and the use of electronic counter-measures by the target. Based on the received pulses, an appropriate signal-processing algorithm must be used in order to properly estimate the target range, velocity, acceleration, type, etc. There are many tracking algorithms used in radar systems. They provide tradeoffs between the noise tolerance and dealing with target maneuverability. They also have different computational requirements. Thus, each radar task consists of a front-end sub-task at the antenna and a back-end signal-processing sub-task at the processors. Since a target can maneuver to avoid being tracked, the estimates are valid only for the duration of illumination time. Based on these data, the time-instant of the next dwell for the task must be determined. Therefore, the tracking task needs to be repeated periodically with a smaller period providing better estimates. In the absence of any jitter, the tracking period is equal to the temporal distance between two consecutive dwells. For a large temporal distance, the estimated error can be so large that the dwell will miss the target. On the other hand, a small temporal distance will require higher resource utilization. The radar needs to track the targets with higher importance using greater tracking precision than the ones with lower importance (Ghosh et al., 2004c). It is important to control jitter in scheduling radar dwells. For example, for a task with period Ti , the start of each dwell must be exactly1 Ti milliseconds from the start of the previous dwell. We make the seemingly conservative choice of using only harmonic periods for radar tasks since by using harmonics we can automatically satisfy the stringent periodic jitter constraints (a pin-wheel scheduling problem (Lin, 1995)). We show that being constrained to harmonic periods does not significantly reduce QoS. 2.2. Radar resource model In our model, the radar resources-space consists of the following resource dimensions: radar bandwidth, radar power, and computing resources.
1
In practice, if two successive dwells are not separated exactly by Ti , lower tracking quality will result. If the jitter is higher than a (small) threshold, an entire track may be lost. Springer
12
Real-Time Syst (2006) 33: 7–46
2.2.1. Radar Bandwidth Since the radar is used only during sending and receiving dwell pulses and is unused during the waiting period, the value of the radar utilization is given by:
Ur =
N txi + tri . Ti i=1
(1)
If we assume the receiving time to be equal to the transmission time, we obtain:
Ur = 2
N txi i=1
Ti
.
(2)
2.2.2. Radar power constraints In addition to timing constraints, radars also have power constraints. Violating a power constraint can lead to overheating and even permanent damage to the radar. The radar can have both long-term and short-term constraints. For example, there may be a long-term constraint of operating below an average power of 1 kW, and a (less stringent) short-term constraint of operating below an average power of 1.25 kW in a 200 ms window. The shortterm constraint is generally specified using an exponential waiting within a sliding window. Long-term power utilization bound: If P max is the maximum sustained long-term power dissipation for the radar, then we define the long-term power utilization for a set of N tasks as: UP =
1
N
P max
i=1
Ai
txi . Ti
(3)
That is, the long-term power is given by the fraction of time each task is transmitting, multiplied by the transmit power for that task. Dividing by P max gives a utilization value that cannot exceed 1. To handle long-term constraints in Q-RAM, we simply treat power as a resource, and denote the amount of that resource consumed by task i as P 1 Ai tTxii . max
Short-term power utilization bound. We will now derive a short-term power utilization bound. Short-term power needs are defined in terms of a sliding window (Baugh, 1973) with time constant τ . With an exponential sliding window, pulses transmitted more recently have a larger impact on the average power value than less recently transmitted pulses. Also, the rate that the average power decreases is proportional to the average power value meaning that immediately after transmitting a pulse, we have a relatively high but steadily decreasing cooling rate. The use of a sliding exponential window has two benefits: it is memory-less, and it closely models thermal cooling, which is the primary motivation for the constraint. In order to define the short-term average power, we first define instantaneous power dissipation as p(t). This function is 0 when the radar is not transmitting and Ai while pulse Springer
Real-Time Syst (2006) 33: 7–46
13
Fig. 3 Average power exponential window
t=t0
p(t)
e(t-t0)/τ Pτ (t) t
i is being transmitted. We then define the average power at time t for a time constant τ as: 1 P¯τ (t) = τ
t
−∞
p(x)e(x−t)/τ d x.
(4)
Figure 3 shows an example of the average power value for a set of pulses along with the exponential sliding window at time t0 . The shaded bars represent the transmitted radar energy, and the dotted line represents the sliding window at time t0 . The short-term average power constraint is considered satisfied if (4) never exceeds some bound P τ max . This bound is called the power threshold over a look-back period τ . Alternatively, the expression E¯ th = P τ max τ is defined as the Energy threshold of the system. Now, we would like to translate the short-term energy constraint of the radar antenna to a timing constraint. In this context, we define a timing parameter called the cool-down time tci that precedes a dwell of each task i. Definition 1 (Cool-down Time). The cool-down time for a task is the time required for P τ (t) to fall from P τ max to a value just low enough that at the end of the transmit phase of a dwell P τ (t) will be restored to P τ max . The effect of cool-down time is shown in Figure 4. It is a function of the transmit time txi and the average power Ai of a dwell, the time constant τ and the short-term average power constraint P τ max . This factor allows the power constraints to be converted into simple timing constraints. We will now derive the cool-down time tci for a task i. We will assume that for this task Ai ≥ P τ max . For a task with Ai ≤ P τ max , there is no necessity of having a cool-down time since the radar cools down even when it continues transmissions, that is tc = 0. Let P s be the average power at the beginning of the cool-down period, P in be the average power at the Fig. 4 Cool-down time
tx
tc
Ps
A
Pout
Pmax P(t)
Pin t Springer
14
Real-Time Syst (2006) 33: 7–46
end of the cool-down period, and P out be the average power at the end of the transmission. We want P s = P out = P max . We can express P in in terms of P s as: P in = P s e−tci /τ ,
(5)
P out = P in e−tx /τ + Ai (1 − e−txi /τ ).
(6)
and P out in terms of P in as:
Substituting P τ max for P out in (6) and solving for P in , we get: P in =
P max − Ai (1 − e−txi /τ ) . e−txi /τ
(7)
We can now substitute P τ max for P s in (5) and set the forward and backward definitions (5) and (7) for P in to be equal and solve for tci to yield the expression for the cool-down time: tci = −τ ln
P τ max − Ai (1 − e−txi /τ ) P τ max e−txi /τ
.
(8)
We now present the following theorem: Theorem 1. For any set of N periodic radar tasks which do not violate the short-term average power constraint (where Ai ≥ P τ max for all tasks), the total short-term average power utilization given by Uτ =
N tci + txi . Ti i=1
(9)
must be no greater than 1. Proof: Assume that we have a set of tasks for which Uτ = 1. From (8), it can be shown that any decrease in P τ max will cause the tci to increase and thus cause Uτ to exceed 1. If we can show that when Uτ = 1 the optimal schedule must include a point where the average power Pτ (t) equals P τ max , then this implies that the theorem must hold. Now, assume that we have a schedule S where tasks are scheduled such that each dwell transmission period txi is preceded by an idle time of tci with the cool-down time for each dwell beginning exactly at the end of the previous dwell’s transmission. Now let P s be the average power at the beginning of the cool-down period preceding a dwell transmission. It can be shown from (5) and (6) that if P s < P τ max , then the P out for that dwell must satisfy P s < P out < P max as shown in Figure 5 due to the fact that the cooling rate is proportional to the current average power. This implies that at the end of each transmit period for each successive dwell, the average power will increase until it converges to P τ max . This means that in the steady state, the average power will be P τ max at the end of the transmission period for every dwell. The schedule S must be optimal since moving a dwell any sooner would result in an increase in P in for that dwell and thus increase P out as well (exceeding P τ max ). Moving a dwell any later would tradeoff the efficient cooling immediately after the transmission when average power is at P τ max for less efficient cooling before the transmission resulting in a violation Springer
Real-Time Syst (2006) 33: 7–46
15
Fig. 5 Non-optimal initial average power
tx
tc A
Pmax
Pout
Ps P(t)
Pin t
after the next dwell. This shows that the schedule S must be optimal and that it must have a point where average power is equal to P τ max . Based on (9), we model the short-term average power constraint in the Q-RAM optimization framework by treating power as a pseudo-resource with a maximum value of 1 and treating each radar task as if it consumes tci T+ti xi units of that resource, with tci computed using (8). Hence, the expression in (9) is also referred to as the cool-down utilization Uc of the system. It is interesting to note that if we take the limτ →∞ in Eq. (8), it can be shown that tci =
Ai P τ max
− 1 txi .
(10)
If we then substitute the above into (9), we obtain: Uτ =∞ =
1
N
P τ max
i=1
Ai
txi . Ti
(11)
We see that this equation has the exact same form as the long-term power utilization given in Eq. (3). 2.2.3. Computational resource In addition to the radar resource, each track requires computing resources to process the radar data, and to predict the next location of the target. The computing resources required depend on the tracking algorithm i used, and the period Ti . We assume that the required CPU is of the form Ci /Ti where Ci is the coefficient representing the computational cost of algorithm i in each time period Ti . If we treat the back-end multiprocessor system as a single resource, then we have the CPU constraint:
Ci /Ti ≤ Cmax ,
(12)
i
where Cmax represents the total processing power of the bank of processors. This abstraction is reasonable as long as the amount of processing required by each of the individual tasks is small compared with the amount available on each of the processors. Springer
16
Real-Time Syst (2006) 33: 7–46
2.3. Radar QoS model In Ghosh et al. (2004a), we developed a Q-RAM model for the radar tracking problem. The model defines the problem in terms of per-task QoS space (Q i ), an operational space (i ), an environmental space (E i ) and a shared resource space (R). Each of these spaces is defined by a set of dimensions. QoS dimensions represent the aspects of tracking quality that are of direct interest to the user such as the tracking error on a target. Operational dimensions represent the aspects of the task over which the radar system has control. For example, in the case of a radar tracking task the operational dimensions include the dwell period, the dwell time and the transmit power. While the operational dimensions affect the tracking quality, they are not of direct interest to the user. Environmental dimensions are aspects of the task over which we do not have control, but which affect the mapping between QoS and resource requirements. Examples of environmental dimensions for a tracking task include the distance to the target, the type of the target and its speed. For each point in the QoS space Q i of each task i, there is a utility value u i representing benefit to tasks of operating at that quality level. The QoS for a task is a function of the selected point in the operational space i (also called the set-point) and the current point in the environmental space. The objective of the QoS optimizer is to choose a point in i for each task i so as maximize the sum of the utility values over all tasks. The details on the scalable optimization algorithm for radar tracks can be found in Ghosh et al. (2004b). There are two principal QoS dimensions in the quality space of the radar tracking problem: tracking error and search quality. 2.3.1. Tracking error This is the difference between the actual position and the tracked position of the target. Although one cannot know the true tracking error, many tracking algorithms yield a precision of a particular tracking result. As mentioned in Section 2.1, this tracking precision is dependent on the availability of the physical resources in addition to the computing resources. A smaller tracking error leads to better tracking precision and hence better quality of tracking. Therefore, we assume that the tracking quality qtrack is inversely dependent on tracking error , as given by: qtrack =
1 .
(13)
2.3.2. Search quality We also define a QoS parameter for the search task. A search task must span the entire angle in order to find the targets. It consists of multiple dwells (radar beams) to search a particular angular space. Hence, the searching QoS increases with the increase in the number of beams within a fixed angular space. 2.3.3. Reliability This is the probability that there is no hardware/software failure in a specified time interval. Higher reliability of a task is obtained by replicating resources, such as using two radars Springer
Real-Time Syst (2006) 33: 7–46
17
to track a single target. We will consider tracking and searching errors as the only QoS dimensions.2 Next, we list the operational and environmental dimensions of the system. 2.3.4. Operational dimensions In our tracking model, the operational dimensions are the dwell period (Ti ), the dwell time (txi ), the dwell power (Ai ), and the choice of the tracking algorithm i . The above parameters can be controlled by the system designer or an optimizer in order to achieve the desired quality of tracking of a target. 2.3.5. Environmental dimensions The environmental dimensions we consider are the type of target ξi (e.g., airplane, helicopter, missile etc.), the distance of the target from the radar ri , the velocity vector of the target vi , the acceleration vector of the target ai , the active noise or the presence of electromagnetic interference as counter-measures n i , and the angular location of the target in the sky. 2.3.6. Tracking error computation Considering all the operational and environmental dimensions, assuming that we can model the tracking error in terms of these dimensions, we can define a function: i = E(ξi , ri , vi , ai , n i , Ti , txi , Ai , i ) environmental
(14)
operational
that estimates the tracking error i as a function of the position of the target along the environmental and operational dimensions. The choice of a particular tracking error estimation function is orthogonal to our optimization and scheduling algorithm. For the purposes of this paper assume a tracking error function. We begin with the following assumptions:
r The error increases with an increase in speed (vi ), distance (ri ) or acceleration (ai ). r An increase in the signal-to-noise ratio at the receiver reduces error. In addition, the received signal power is directly proportional to the transmitted signal power and is inversely proportional to the 4th power of the distance. r A longer dwell time (duration of transmission) reduces error. r The error increases with an increase in the dwell period. The error due to acceleration also increases with an increase in the dwell period. r The Kalman tracking algorithm provides best precision under noisy environment. The Least Squares offers less precision but more than αβγ . Targets with high maneuverability can be best tracked by the αβγ filter, followed by the Least Squares and the Kalman. We assume the transmission time txi consists of ηi pulses of width w. Since the tracking error is expressed as the ratio of the deviation in displacement of the target to the estimated displacement of the target in a tracking period Ti , with the help of Kolawole (2002),Wilkin et al. (1991) and Munu et al. (1992), we formulate a general expression of the tracking error 2
Replicas are handled in Ghosh et al. (2003). Springer
18
Real-Time Syst (2006) 33: 7–46
given by: {K 1 σr + K 2 (σv Ti + K 3 ai ∗ Ti2 )} , (ri − d) c
σr = , Ai (txi /K C )/(2Ti ) 2Bw ni i =
σv =
Bw =
2(txi /K C )
λ
Ai (txi /K C )/(2Ti ) ni
,
M , w
(15) (16)
(17)
(18)
1 d = vi T + ai T 2 , 2
(19)
where σr σv λ Bw M d K1 K2 K3 KC
= standard deviation in distance measurement, = standard deviation in speed measurement, = wavelength of the radar signal, = bandwidth of the radar signal, = bandwidth amplification factor by modulation, = estimated displacement of the target in time T , = position tracking constant, = period tracking constant, = acceleration tracking constant, and = transmission time tracking constant (Tx-factor).
(The values we chose for the constants are presented in Table 2 in Section 5.1.) 2.3.7. Tracking utility Higher tracking quality yields higher utility. Hence we assume that the utility of tracking a target for a certain quality qtrack is given by the following concave exponential function: U (qtrack ) = Wtrack (1 − e−βqtrack ),
(20)
where β is a parameter specific to the ranges of the speeds of three different types of targets (airplane, missile or helicopter). Equation (20) assumes the utility increases with increase in tracking precision, which ultimately saturates at a very high precision (Lee, 1999). The parameter Wtrack is a weight factor that determines the importance of the target and it is also dependent on the type of the target. Moreover, it is also assumed to be proportional to the speed and is inversely proportional to the distance of the target. The selection of a weight factor is also independent of our approach, but for the purposes of the experimental results we assume a weight factor of the form: Wtrack = K t Springer
vi , ri + K r
(21)
Real-Time Syst (2006) 33: 7–46
19
providing an estimate of the importance of a particular target. The K t coefficient represents the importance based on the target type, and the right-most term is approximately related to the time-to-intercept (i.e., the time that would be required for a target to reach the ship if flying directly toward it). The K r coefficient represents a saturation factor on the time-to-intercept to prevent the weight factor from going to infinity as the range goes to zero. The objective of our optimization is to allocate resources to each tracking process such that the total utility is maximized. From our stated assumptions on tracking precision, quality and utility, we obtain an expression for utility as a function of the tracking error, U () = Wtrack (1 − e−γ / ),
(22)
where γ is a function of β and the relation between quality and tracking error. The required values of operational dimensions needed to obtain a particular value of tracking error from (14) can be translated into the resource usages. 2.3.8. Search utility As mentioned earlier, the utility obtained from the search task depends on the number of dwells, apart from other operational dimensions. In our model, we assume two types of search tasks. They are high-priority and low-priority search tasks. In our experimental setup, we empirically choose utility values based on the number of dwells for each type of tasks (Table 1 in Section 5.1.) 2.4. Resource management in phased array radar Since radar systems are very dynamic with a constantly changing environment, it is necessary for the radar to continuously redistribute its resources among the tasks. The resource allocation process needs to be repeated at regular intervals. Hence, its efficient execution is of critical importance to be of practical use. Our proposed radar resource management approach consists of 3 main steps: (1) QoS-based resource allocation, (2) resource scheduler admission test, and (3) utilization bound adjustment. These steps may need to be repeated more than once in order to obtain a solution. We next describe these three steps. 1. QoS-based resource allocation: Basic Q-RAM optimization maximizes the global utility of the system by allocating the resources to the tasks. We use the current snapshot of the sky at a particular instant during which the environmental dimensions of the objects are constant. Next, we generate profiles for each target with the values of its environmental parameters and picking the ranges of values of the operational parameters. Profiles are used in the optimization process to provide resource allocations for the tasks. The resulting resource allocation does not always guarantee schedulability. This is due to the nonpreemptive nature of the radar front-end tasks, which require us to perform a sophisticated scheduler admission test to determine the schedulability. 2. Scheduler admission test: The resource scheduler takes the results of the Q-RAM resource allocations, interleaves the tasks and then runs the schedulability test. If the task set is not Springer
20
Real-Time Syst (2006) 33: 7–46
Algorithm 1 Utilization bound adjustment
schedulable, we reduce the utilization bound of the radar and return to Step 1 in order produce a schedulable task-set. 3. Utilization bound adjustment: This function reduces the utilization bound if the interleaved tasks are not schedulable, or increases the utilization bound if they are schedulable. Thus, it searches for the maximum utilization bound for a schedulable task-set using a binary search technique. This is described in Algorithm 1. The entire resource allocation process iteratively searches for the best possible utilization bound. It stops when it reaches a schedulable task-set, and the utility values from two successive iterations differ by only a small value (such as 0.1%), called the “utility precision factor”. This is detailed in Figure 6 as a flow-chart. Springer
Real-Time Syst (2006) 33: 7–46
Start
21
Tracking & Searching Tasks
Task Profiler
QoS Optimizer (Q-RAM)
Tasks with assigned QoS and Resource
Perform Utilization Bound Adjustment 0 End
Resource Allocation
1
Return?
Radar Utilization Bound Adjustment Detection
Scheduler Admission Control
Fig. 6 Resource management model of radar tracking system
3. Resource allocation with Q-RAM In this section, we briefly discuss our optimization framework Q-RAM that determines the near-optimal resource allocation of tasks based on QoS requirements. The Q-RAM (Rajkumar et al., 1997; Lee et al., 1998) involves the following steps:
r Generate set-points for each task. r Construct the concave majorant of its set-points. r Merge all the set-points of all tasks based on their marginal utility values. r Traverse the sorted list of set-points to generate resource allocations to the tasks. The basic Q-RAM optimization requires that each task explicitly provide the list of all possible set-points. The concave majorant is determined on these input set-points next. We know that the best-known algorithm for computing the exact concave majorant of L set-points is O(L log L) (Graham, 1972). Even though it is a relatively benign complexity, it has two drawbacks.
r In order to determine the price of each resource configuration, we define a penalty vector that contains the demand of each resource (Ghosh et al., 2003). However, in this algorithm, we generate all possible set-points of a task and use them in determining the penalty vector of the resources before we determine their concave majorant. r The computational complexity of the concave majorant operation can be prohibitively expensive when the number of set-points is large even when the number of output setpoints it generates is much smaller. Since an application with d operational dimensions and p index values per dimension has a total of l = p d set-points, the number of set-points can quickly become unmanageable when there are a large number of operational dimensions. In the following sections, we describe algorithms that traverse the set-point space generating the subsets of set-points that are likely to lie on the concave majorant and thus eliminate the requirement of enumerating all possible set-points. For simplicity, we will first assume all tasks have only monotonic operational dimensions. Later we discuss the general case in which some tasks have operational dimensions that are non-monotonic. 3.1. Slope-based traversal (ST) This is the simplest approach to the traversal process. Let the minimum set-point for a task τi for which all operational dimensions are monotonic be defined as imin = {1, . . . , 1}, = {φ max , . . . , φ max }. Clearly, all of the and let the maximum set-point be defined as imax i1 i Ni set-points in the utility/compound resource space that lie below a “terminating” line from Springer
Real-Time Syst (2006) 33: 7–46
Fig. 7 Slope-based traversal of concave majorant
Utility
22
1.0
0.8
0.6
0.4
0.2
0.0 0.0
0.2
0.4
0.6 0.8 1.0 Compound Resource
), h(max )) as shown in Figure 7 cannot be on the concave (u(imin ), h(imin )) to (u(imax i majorant. These points can be eliminated immediately without being passed on to the concave majorant step. We call this heuristic “slope-based traversal” (ST). While this heuristic can reduce the time to compute the concave majorant by a constant factor, it must still scan all of the set-points to determine if they are above or below the terminating line. 3.2. Fast set-point traversals We now consider a set of fast traversal heuristics that do not require computations on all of the set-points. We (temporarily) assume that all operational dimensions are monotonic. A key observation we make is that when the actual concave majorant is generated using all of the set-points for typical tasks, the concave majorant tends to consist of sequences of set-points that vary in only one dimension at a time with occasional jumps between sequences of points. This insight suggests that we can use local search techniques to follow the set-points up the concave majorant. We also know that imin will always be the first point on the concave will always be the last. The methods presented here differ primarily in majorant, and imax the method used to perform the local search. As an example, consider a task with three operational dimensions. If we consider the subset of the set-points consisting of all the set-points for which dimensions 1 and 2 have index value 1, these points will tend to form a line as shown in Figure 8. The concave majorant will tend to follow such a line until it switches to some other line, in this case followed by . While the fast traversal heuristics presented in this section are not guaranteed to find the exact concave majorant, in Section 5.2 we will show that these heuristics produce very good approximations to the concave majorant in our radar QoS optimization and more importantly that the drop in system utility from using the approximations is negligible. Springer
Real-Time Syst (2006) 33: 7–46
23
Fig. 8 Incremental traversal
Outer Envelope
Utility
Composite Cost
3.2.1. First-order fast traversal (FOFT) In first-order fast traversal (FOFT), we keep a current point i for each task τi which we initialize to imin . We then compute the marginal utility for all the set-points adjacent to i . A set-point is adjacent if all of its index values except for one are identical, and the one that differs varies by only one (i.e., they have a Manhattan distance of one). We, in fact, need only consider positive index value changes. We then choose the point that has the highest marginal utility, add it to the concave majorant and make that point the current point. Formally, if i is the current point we choose the next current point i = i + j where j maximizes the marginal utility: u(i + j ) − u(i ) , h(i + j ) − h(i )
(23)
and where j is a vector that is zero everywhere except in dimension j where it is equal . After we have generated this set of points, the to 1. We repeat this step until we reach imax resulting curve may not be a concave majorant. Hence, we perform a final concave majorant operation (albeit on a much smaller number of points than before). The number of set-points generated before the final concave majorant step will be the which is: Ni (φ max − φ min ). Ignoring boundary Manhattan distance between imin and imax ij j=1 i j conditions, at each point we only consider Ni possible next set-points. This means that when we have d dimensions and k index levels per dimensions then the complexity of this algorithm is O(kd 2 ). If we include the complexity of the concave majorant determination, we have the total complexity of O(kd 2 + kd log kd) 3.3. Higher-order fast traversal methods We can generalize the FOFT algorithm to an m-step p-order Fast Traversal algorithm as follows. Just as in the FOFT heuristic, initialize the current point i to imin . Then choose Springer
24
Real-Time Syst (2006) 33: 7–46
p the next point i = i + Z where Z ∈ G m such that the marginal utility is maximized and p G m is defined as:
G 1m =
{k j },
(24)
1≤ j≤N ,1≤k≤m
G mp = X + Y : X ∈ G 1m , Y ∈ G mp−1 , X • Y ≡ 0 ∪ G mp−1 .
(25)
That is, we look all of the next set-points that can be reached from the current set-point by increasing up to p dimensions and up to m steps. The FOFT algorithm described above then corresponds to G 11 . As with FOFT, we need to perform a final concave majorant operation on the points generated by this heuristic. As we observe, if we let m take as large a value as possible, the procedure becomes a standard concave majorant operation. In this paper, in addition to FOFT, we will only consider 2-Step First-Order Fast Traversal (G 12 ) which we will call 2-FOFT, and 1-step, Second-Order Fast Traversal (G 21 ) which we will call SOFT. 3.4. Non-monotonic dimensions The fast traversal algorithms described above assume that all of the operational dimensions are monotonic. Unlike monotonic dimensions, non-monotonic operational dimensions generally do not have a structure that can be easily exploited. For example, the choice of a coding scheme for a video, the choice of a route in a networked system, or the choice of a tracking algorithm in a radar system can be considered to be non-monotonic. Suppose that some of the operational dimensions are non-monotonic. Then, for every combination of the index values of the non-monotonic dimensions, we simply apply the fast traversal algorithms to the subset that is monotonic. We then form the union of all these results and apply a concave majorant. In the worst-case that a task has only non-monotonic dimensions, this simply reduces to a full concave majorant operation. For example, in a radar tracking system, we can apply fast-traversal methods for each of the three tracking algorithms separately, and then merge all three results and perform a concave majorant operation. If there is a large number of non-monotonic operational dimensions, we apply smart heuristics to guess the best possible values of those dimensions to perform the same traversal. How this is done depends on the characteristic of a particular system and the influence of the dimensions on the resource requirements of the task. 3.5. Complexity of traversal Since, we linearly traverse the points and do not examine a point more than once, the worst case complexity of these scheme is O(L) instead of O(L log L). However, it is likely to be much smaller on average since we go through only a small number of points. We discuss the experiments related to these techniques in detail in Section 5.2. 3.6. Discrete profile generation Under certain situations, we can find that even efficient profile generation at run-time takes too long. An alternative is to generate the profiles off-line, but the profile space has multiple Springer
Real-Time Syst (2006) 33: 7–46
25
Fig. 9 Interleaving of radar dwells
dimensions with wide ranges. Therefore, off-line computation and storage of profiles requires exponentially large space and becomes unwieldy. The approach we adopt is to quantize each continuous environmental dimension into a collection of discrete regions. We then only need to generate a number of discrete task profiles offline for a variety of environmental conditions. At run-time, we simply map each task into one of the discrete profiles. Any quantization carried out must be such that (1) the storage needs of the discrete profiles are practical, and (2) there is no significant drop in the quality of the tracks (as measured by the total system utility). The quantization along any dimension can employ an arithmetic, a geometric or some other progression.
4. Scheduling considerations Our model of each radar dwell, as discussed in Section 2, consists of 4 phases: cool-down time (tc ), transmission time (tx ), waiting time (tw ), and receiving time (tr ), as shown in Figure 9(a). The durations tx and tr are non-preemptive, since a radar can only perform a single transmission or a single reception at a time. However, the tc of one dwell can be overlapped with tr or tw of another dwell, since the radar can cool down during the waiting and the receiving period. Considering the entire duration of a dwell (from transmission start to reception end) as a non-preemptive job wastes resources and decreases the schedulability of the system (Shih et al., 2003b). Dwells can be interleaved to improve schedulability.3 Dwells can be interleaved in two ways: (1) properly nested interleaving and (2) improperly nested interleaving. An optimal construction of interleaved schedules using a branch-and-bound method has been described in Shih et al. (2003b) and Shih et al. (2003a). In this paper, we focus on fast and inexpensive construction of dwell interleavings in the presence of dynamically changing task-sets. The interleavings that we construct may not necessarily be optimal in the sense of Shih et al. (2003b), but they will be schedulable. 4.1. Proper nesting of dwells Two dwells are said to be properly nested if one dwell fits inside the waiting time (tw ) of another. This can happen, when the outer dwell is tracking a distant target and the inner dwell is tracking a near target. Figure 9(b) demonstrates this situation in which dwell W1 3
The waiting time may change from one dwell to the next depending the velocity vector of the target relative to the ship. However, the radar should be able to predict the approximate tw based on the previous tracking information about the target. Springer
26
Real-Time Syst (2006) 33: 7–46
Algorithm 2 Proper nesting algorithm
fits in the waiting time of dwell W2 . The necessary condition for this interleaving is given by tww1 ≥ (tcw2 + txw2 + tww2 + trw2 ).
(26)
We define a phase offset for a proper interleaving as given by: o p = tww1 − (tcw2 + txw2 + tww2 + trw2 ).
(27)
For instance, we can schedule the cool-down time of the dwell W2 right after the transmission time of W1 . Thus, the value of the phase offset determines how tightly two nested dwells fit together. Our aim is to minimize this offset. The proper nesting procedure is detailed in Algorithm 2. The core of the scheme deals with fitting a dwell of the smallest size into a dwell with the smallest feasible waiting time. 4.2. Improper nesting of dwells Two dwells are said to be improperly nested when one dwell only partially overlaps with another (e.g. as illustrated in Figure 9(c)). Suppose that dwell W 1 is improperly interleaved with dwell W 2, where W 1 starts first. Dwell W 1 is called the leading dwell and dwell W 2 is called the trailing dwell. Based on the phasing illustrated in Figure 9(c), the necessary Springer
Real-Time Syst (2006) 33: 7–46
27
Algorithm 3 Improper nesting algorithm
conditions for the interleaving to occur are given by
tww1 ≥ tcw2 + txw2 , tcw2 + txw2 + tww2 ≥ tww1 + trw1 .
(28) (29) Springer
28
Real-Time Syst (2006) 33: 7–46
We define a phase offset for this case by oi = tcw2 + txw2 + tww2 − (tww1 + trw1 ).
(30)
Our improper nesting scheme is given in Algorithm 3. It starts with the dwell with the largest waiting time (tw ), and attempts to interleave it with the dwell with the largest possible tw that is smaller than that of the original dwell and satisfies the conditions stated in Eqs. (28) and (29). The algorithm repeats the process until it reaches the dwell with the smallest tw that can no longer be interleaved, or all dwells are interleaved to form a single virtual dwell. 4.3. Dwell scheduler The responsibilities of the radar dwell scheduler are as follows:
r Obtain the period and the dwell-time information (tc , tx , tw , tr ) from Q-RAM for each task. r Interleave dwells with the same period using proper and/or improper nesting to create a smaller number of virtual dwells.
r Perform a non-preemptive schedulability test for the virtual dwells. Next, we describe our schedulability test. 4.3.1. Schedulability test As mentioned earlier, in order to satisfy the jitter requirements, only relatively harmonic periods are used for the dwells.4 We define the following terms:
r Ni = Number of dwells with a period Ti r Ci j = Total run-time of the jth dwell among the dwells within the period Ti r NT = Total number of periods r Ti > T j , ∀i < j The response time t Ri of the dwells for a given period Ti is given by t Ri =
Nj i−1 Ti j=1
T j k=1
C jk
run−time of higher priority dwells
+
Ni
Cik
+
k=1
Bi
.
Blocking term
run−time of dwells with period Ti
(31) The blocking term Bi is defined as the maximum run-time Cm j among dwells with lower priority, as defined by: Bi = max(Cm n ), ∀i < m ≤ N T , 1 ≤ n ≤ Nm .
(32)
Maximum dwell size among all dwells of lower priority
As already mentioned, each radar dwell (virtual or otherwise) is considered to be nonpreemptive under the schedulability test. 4 As we show in the next section, our model of radar system does not show significant degradation in the accrued utility due to the restricting use of harmonic periods
Springer
Real-Time Syst (2006) 33: 7–46
29
For a dwell-set to be schedulable, it must satisfy: t Ri ≤ Ti , ∀i ∈ N T .
(33)
It must be remembered that using nesting we combine multiple dwells into a few virtual dwell dwells within each period. The run time of a dwell is given by C jk = tc jk + tx jk + tw jk + tr jk , where the parameters tc jk etc. may be virtual parameters if the dwells are nested. 5. Experimental results This section is divided into 3 parts. First, we describe the simulated configuration of our radar tracking system. Second, we discuss results on experiments that evaluates the scalability of Q-RAM-based QoS optimization algorithms. Finally, we describe our experimental results on the integration of QoS optimization with our dwell scheduling schemes. 5.1. Configuration We assume a radar model as described in Figure 1. Radar tasks are classified into tracking tasks, high priority search tasks, and low-priority search tasks. The assumed ranges of the operational dimensions of tasks such as periods, dwell time, dwell power and the number of dwells among them are given in Table 1. As mentioned in Table 2, we assume three types of tracking filters, namely Kalman, αβγ and least-squares, to account for computational resources. Their estimated run-times have been extrapolated to equivalent run-times of a 300 MHz processor. This is because the radar computing system is assumed to be a distributed system consisting of a large (128) number of 300 MHz processors. We also assume that the overhead for a search task is assumed to be the same as that of the Kalman filter. Table 1 Period, power and transmission time distribution Number of beams (dwells)
Period (ms)
Dwell power (kw)
Transmission time (ms)
Hi-Priority Search
[15, 60]
800
5.0
0.5
Tracking
1
[100, 110, 120, , .., 1600] Arithmetic series
[0.001, 0.002, 0.004, , .., 16.0] Geometric series
[0.02, 0.04, 0.06, , .., 50.0] Arithmetic series
Lo-Priority Search
[10, 30]
1600
3.0
0.25
Tasks
Table 2 Tracking filter constants
Filter
Computation time (ms)
K1
K2
K3
KC
Kalman Least-squares αβγ
0.022 .00059 0.0004
0.60 0.60 0.80
0.4 0.4 0.2
1000.0 30.71 0.0
[1, 16] [1, 16] [1, 16] Springer
30
Real-Time Syst (2006) 33: 7–46
Table 3 Environmental dimensions
Table 4 Utility distribution of search tasks
Parameter
Type
Range
Distance
All
[30, 400] km
Acceleration
All
[0.001g, 6g]
Noise5
All
[kT Bw ,103 kT Bw ]
speed
1 (helicopter) 2 (fighter-jet) 3 (missile)
[60,160] km/hr [160,960] km/hr [800, 3200] km/hr
Angle
All
[0◦ , 360◦ ]
Type
Number of beams
Utility
Hi-Priority
15 30 45 60
20 × 0.3 20 × 0.7 20 × 0.85 20 × 0.95
Lo-Priority
10 20 30
2 × 0.3 2 × 0.7 2 × 0.9
As mentioned earlier, tracking error is assumed to be the only QoS dimension for each tracking task, and the number of beams is the QoS dimension for the search tasks. The tracking error in turn is assumed to be a function of environmental dimensions (target distance ri , target speed vi , target acceleration ai , target noise n i ) and operational dimensions (dwell period Ti , number of pulses ηi in dwell transmission time Ci , pulse width w, dwell transmission pulse power Ai , tracking filter algorithm) (Ghosh et al., 2004a). For a search task, each beam corresponds to a single dwell parameterized by values of Ti , ηi and Ai . Search tasks are classified into two types and their assumed utility distributions relative to the number of beams are shown in Table 4. The assumed ranges of the environmental dimensions for targets are shown in Table 3. For the sake of simplicity, we assume similar acceleration ranges for all targets. This assumption does not influence our scheme in any way. We use a 2.0 GHz Pentium IV with 256 MB of memory for all of our experiments. 5.2. Results with QoS optimization In this set of experiments, we deal with tracking tasks only. Using the settings presented in Tables 1, 2 and 3, we perform the processes of task profile generation and QoS optimization. We vary the number of targets, compute the utility accrued and determine the execution time of the two processes. This is averaged over 50 iterations involving independent sets of targets. From the settings of the operational dimensions presented in Table 1, we observe that each tracking task can have a very large number of configurable set-points. In fact, a single task can have as many as 16500 set-points.
5
Bw = Bandwidth of the radar signal, k = Boltzmann constant, T = Temperature in Kelvin. Springer
Real-Time Syst (2006) 33: 7–46
31
5
Number of Setpoints/Task (logscale)
10
1.Basic Q–RAM 2. Concave–Majorant 3. ST 4. FOFT 5. 2–FOFT 6. SOFT
4
10
3
10
2
10
1
10
1
2
3
4
5
6
Traversal Algorithms Fig. 10 Average number of set-points
5.2.1. Experiments with traversal techniques We perform a series of experiments on each of the optimization methods with the number of tasks varying geometrically from 8 to 512. In the basic Q-RAM case, we were not able to continue beyond 128 due to memory exhaustion of our machine. This is due to the fact that approximately 2 millions set-points are generated for 128 tasks. Each set-point requires approximately 100 bytes of space. This means that we need more around 200 MB just for set-point storage. The bar-graph in Figure 10 shows the average number of set-points per task after the task profile generation step using different techniques. We observe a drop of 99%, from 16500 to 91 when we apply the concave majorant operation. We also observe that 2-FOFT reduces the number of points to 47, which is a 48% drop compared to the full concave majorant scheme. This could be a potential weakness of 2-FOFT since we have thrown some potentially useful points. However, as we shall see, it does not affect the utility value of the optimization significantly. Figure 11 shows the plot of the overall Q-RAM execution time which is the sum of the times for the task profile generation and the subsequent optimization. During the task profile generation step, we generate set-points for tasks and use a traversal technique for that. During the optimization step, we run AMRMD CM algorithm on the generated set-points of the tasks. We notice a huge drop in execution time for the traversal algorithms. For example, for 64 tasks, the run-time reduces from 7.4 minutes under basic Q-RAM to 16.28 seconds when we perform the concave majorant. It is further reduced to a minimum of 0.48 sec under FOFT. Springer
32
Real-Time Syst (2006) 33: 7–46 1e+09
With Basic Q-RAM Concave Majorant Only ST FOFT 2-FOFT SOT
Execution Time (us) in logscale ->
1e+08
1e+07
1e+06
100000
10000
0
100
200
300
400
500
600
Number of Tasks->
Fig. 11 Q-RAM execution time 1000
With Basic Q-RAM Concave Majorant Only ST FOFT 2-FOFT SOFT
900 800 700
Utility ->
600 500 400 300 200 100 0
0
100
200
300
400
500
600
Number of Tasks->
Fig. 12 Q-RAM utility variation
Next, we inspect the quality of the optimization results. Figure 12 shows the variation of utility versus the number of tasks. All the algorithms yield very similar utility values. The worst performer is FOFT, which is smaller by only 1.17% for 512 tasks. Next, we exhaustively compare these traversal algorithms against the simple Concave Majorant scheme for 1024 tasks. The results are averaged over 100 independent sets of Springer
Real-Time Syst (2006) 33: 7–46
33
100
Percentage Execution Time
90 80 70 60 50 40 30 20 10 0
ConcMajorant
ST
FOFT
2–FOFT
SOFT
Traversal Algorithms Fig. 13 Profile generation time (%) 10 9
Percentage Loss in Utility
8 7 6 5 4 3 2 1 0 ST
FOFT
2–FOFT
SOFT
Traversal Algorithms Fig. 14 Utility loss (%)
tasks. As shown in Figure 14, we obtained the maximum utility loss under FOFT, which is still only 2.7% less than the simple concave majorant scheme. However, all incremental traversal algorithms provided large (97%) reductions in the profile generation time as shown in Figure 13, as well as considerable reductions in the optimization time (close to 50%) as shown in Figure 15. The total run-time of the algorithm is the sum of the profile generation and optimization times. The percentage contribution of the profile generation time to the execution time of Springer
34
Real-Time Syst (2006) 33: 7–46 100
Percentage Execution Time
90 80 70 60 50 40 30 20 10 0
ConcMajorant
ST
FOFT
2–FOFT
SOT
Traversal Algorithms Fig. 15 Optimization time (%) 100
Percentage Profile RunTime
90 80 70 60 50 40 30 20 10 0
ConvMajorant
ST
FOFT
2–FOFT
SOFT
Traversal Algorithms Fig. 16 Fractional profile time (%)
the whole process under all traversal techniques is plotted in Figure 16. The task profile generation always contributes more than 87% of the overall time which is quite expensive. Unfortunately, even the fastest scheme takes more than 7 sec for 1024 tasks. This is still unlikely to be acceptable for online use. In the next section, we show how we can reduce the optimization time even further. Springer
Real-Time Syst (2006) 33: 7–46
35
11
Distance Variation
10 9 8
Utilty ->
7 6 5 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
10
Distance ->
Fig. 17 Utility variation with distance 12
Speed Variation
10
Utilty ->
8
6
4
2
0
0
500
1000
1500
2000
2500
3000
3500
Speed ->
Fig. 18 Utility variation with speed
5.2.2. Generation of discrete profiles The idea of discrete profile generation has been described in Section 3.6. In this section, we perform experiments on discrete profiles. We vary one environmental dimension at a time Springer
36
Real-Time Syst (2006) 33: 7–46 1.56
Acceleration Variation
1.54 1.52
Utility->
1.5 1.48 1.46 1.44 1.42 1.4 1.38
0
20
40
60
80
100
120
140
160
Acceleration->
Fig. 19 Utility variation with acceleration
while keeping the others constant and plot the utility values. Figures 17,18 and 19 show the variation of utility under the variations of acceleration, speed and distance respectively. As observed from the figures, the utility variation can be reasonably approximated by a linear regression with respect to speed and acceleration as independent variables. The plot for speed has approximately three linear steps due to the use of three different types of targets. This means the arithmetic progression is appropriate for discrete values of speed and acceleration. On the other hand, the utility variation is hyperbolic relative to the distance of the target. Therefore, a geometric progression represents the best scheme for quantizing distance. For each combination of the quantized environmental dimensions, a profile is generated offline. Then, during the optimization process, each task is mapped to one of the discrete profiles based on target characteristics. We always round up to conservative estimates on the environmental parameters in order to determine the suitable quantization level for each task. In addition, the weight factor of the profile obtained offline is adjusted based on the real values of the speed and the distance of the target. 5.2.3. Utility variation with discrete profiles The aim of these experiments is to determine the loss in the utility relative to the resolutions of the environmental dimensions. Higher resolutions result in utility values closer to the optimal, but require more storage for offline profiling. Also, one dimension may be more dominant in influencing the utility value than others, hence we need higher resolution for this dimension. This gives us a tradeoff between the loss in utility and the storage space. Figure 20 shows the percentage loss in utility from using discrete profiles for different resolutions of acceleration. Each result was taken for 1024 independent tasks over 100 iterations. The resolution of acceleration is varied from 16 to 1024 m/sec2 by powers of 2 keeping speed and distance continuous. The plot is a concave curve saturating close to the continuous Springer
Real-Time Syst (2006) 33: 7–46
37
0
Acceleration Resolution Variation
Percentage Loss in Utility ->
-5
-10
-15
-20
-25
0
200
400
600
800
1000
1200
Resolution in Acceleration (8,16,32,...) ->
Fig. 20 Utility loss with quantized acceleration 0
Distance Resolution Variation
-0.1
Percentage Loss in Utility ->
-0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1
0
50
100
150
200
250
300
350
400
450
500
550
Resolution in Distance (16,32,...,512) ->
Fig. 21 Utility loss with quantized distance
optimization at higher resolution. Next, we vary the resolution of the distance from 16 to 256 points keeping acceleration and speed continuous. Figure 21 shows the comparative utility variations. The same experiment is repeated by varying the resolution of speed keeping the other two dimensions continuous. Figure 22 shows the result. All the results show concave curves approaching a zero utility loss relative to that obtained under all continuous Springer
38
Real-Time Syst (2006) 33: 7–46 0
Speed Resolution Variation
Percentage Loss in Utility ->
-0.2
-0.4
-0.6
-0.8
-1
-1.2
0
20
40
60
80
100
120
140
Resolution in Speed (2,4,8,...)->
Fig. 22 Utility loss with quantized speed
environmental dimensions. But the variation across the acceleration dimension is much more significant than the other two, and can be up to 25%. Next, we plot the same results from the above three experiments as the loss in utility at 1024 tasks against the amount of space required for discrete off-line profiling. For each curve, we keep two dimensions continuous (or at their maximum possible resolution) and keep increasing the resolution of one dimension. The amount of storage space required for off-line profiling is proportional to the resolution of a particular dimension. For the speed dimension, it is also proportional to the number of types of targets (3 in our case) since the speed of each type of target is quantized independently. From this, we can obtain the storage requirements and the corresponding utility loss for each setting of the environmental parameters. For example, for a resolution of 16 for distance, the loss is 2.47%, the other factors being continuous. Similarly it is 2.89% for speed at a resolution of 2 and 2.59% for acceleration at a resolution 256. Therefore, for a setting of (16, 2, 256) for distance, speed and acceleration respectively, we would incur an approximate utility loss of 1 − ( 100−2.47 )( 100−2.89 )( 100−2.59 ) = 7.74%, 100 100 100 assuming the losses under these three parameters are mutually independent for the sake of simplicity.5 If each set-point requires 100 bytes, the total space requirement is 100 bytes × 16 × (2 × 3) × 256 2.34 MB, which is certainly very acceptable with today’s memory technology. As seen in Figure 23, we observe that the acceleration dimension is dominant in deciding the quality of optimization. This is because the other two dimensions saturate very quickly for the tracking error model we have chosen. The primary cause is the weight factor, which is always computed based on the exact values of the speed and the distance of the individual targets independent of their quantization. This can be done without incurring additional complexity, and it dramatically minimizes the effect of quantization on speed and distance. 5
This is not exactly true. However, we found the real loss very close the one estimated in this way. Springer
Real-Time Syst (2006) 33: 7–46
39
0
Distance Variation Speed Variation Acceleration Variation
Percentage Utility Loss ->
-5
-10
-15
-20
-25
0
200
400
600
800
1000
1200
Space Requirements (Number of Offline Profiles) ->
Fig. 23 Utility loss with quantized distance
With the quantization in place, the on-line profile generation time reduces to the order of microseconds, and only requires the reading of discrete profiles. Overall, the run-time of the algorithm is mainly contributed by the Q-RAM optimization step. With profile generation now becoming essentially negligible, the total run-time with discrete profiles can be determined from the data presented in Figure 11 and the fraction of time not spent in profile generation presented in Figure 16. For example, Figure 11 indicates that with 512 tasks, the total execution time with on-line profile generation is about 5 seconds. Of these 5 seconds, Figure 16 indicates that 87% of the time is spent on on-line profile generation. With offline profile generation taking only microseconds, the optimization time for 512 tasks now takes just 13% of 5 seconds, i.e. 650 ms. Even in the unlikely event that the number of tasks increases to 1024, the total run-time reduces from 7sec for on-line profile generation to only 1sec for off-line discrete profile generation with a negligible loss in utility. This brings the utility maximization performance to a level where it is practical for real-time control. In the following section, we will investigate the results when we include schedulability analysis with the QoS optimization. These two together will determine how frequent we can invoke QoS optimization in a dynamic environment. 5.3. Results with scheduling We perform 3 experiments to validate our dwell scheduling schemes. First, we present results on the impact of using only harmonic periods in QoS optimization. Next, we compare two different harmonic period distributions against a wide choice of periods. Finally, we run the entire resource allocation process as described in Figure 6 using various interleaving schemes for radar scheduling and compare their performances. Springer
40
Real-Time Syst (2006) 33: 7–46
5.3.1. The effect of harmonic periods Our first experiment studies the effect of using only harmonic periods on the total utility obtained by QoS optimization. For simplicity, we consider only tracking tasks. We study the impact of harmonic periods across a wide range of system configurations. Specifically, we vary the amount of the two primary resources in the system, namely energy limits and available time. We achieve this by varying two factors:
r Energy threshold ( E¯ th ): Lowering E¯ th increases the cool-down time for each quality setpoint of a radar task, and therefore the increases the cool-down utilization requirement. E¯ th is defined at the end of Section 2.2.2. r Transmission-time tracking constant (Tx-factor): This factor directly influences the requirement of transmission time. A higher Tx-factorincreases the transmission time for a particular quality set-point. This in turn increases both the radar utilization as well as the cool-down utilization requirements for a given quality of any task. Tx-factor is present in Eqs. (16) and (17) as a dividing factor of tx . We use the settings from Tables 3, 1 and 2 to randomly generate 512 tasks (tracks) and develop their profiles. We also vary Tx-factor from 1 to 16 in a geometric fashion, and E¯ th from 20J to 670J keeping the look-back period τ constant at 200 ms (Kuo et al., 2002). We then perform the QoS optimization under three distributions of available periods between the range [100, 1600] ms:
r A: Arithmetic distribution in steps of 10 ms (to approximate a continuous range of available periods to choose from),
Utility
r G2: Geometric distribution with a common ratio of 2 (100, 200, 400, . . .), r G4: Geometric distribution with a common ratio of 4 (100, 400, 1600). Tx-f=1
160 A G2 G4
140 120
Tx-f=2
100 80
Tx-f=4
60
Tx-f=8
40
Tx-f=16
20 0
0
100
200
300
Fig. 24 Utility variation with energy and Tx-factor(X) Springer
400
500
600 700 Energy Threshold
Real-Time Syst (2006) 33: 7–46
41
Figure 24 shows the plot of utility against E¯ th at various values of Tx-factor averaged over several randomly generated tasks. As expected, when E¯ th increases, cool-down times decrease and higher utility is accrued since higher energy levels are available. As Txfactor increases, higher transmission times are required for achieving the same tracking error, and the accrued utility is lowered since the system runs out of time. In fact, at a Tx-factor of 16 and E¯ th of around 100, not all tasks are admitted into the Q-RAM optimizer under G2 or G4. That is, some tasks do not even get their minimum QoS operating points. These conditions represent an over-constrained system, and occur for Tx-factor values above 16 and E¯ th ≤ 100. Likewise, the system becomes underconstrained for E¯ th ≥ 500. Let us only consider the general case when all tasks are admitted and can get at least a minimum (non-zero) amount of tracking. Under these conditions, the maximum utility drop for G2 relative to a wide choice of periods (represented by A) is 12.35% at an E¯ th value of 170J and a Tx-factor value of 16. Similarly, the maximum drop for G4 is 24.5% at an E¯ th value of 270J and a Tx-factor value of of 16. The average utility drops for G2 and G4 are 2.22% and 6.82% respectively and the corresponding standard deviations are 9.4 and 38.83 respectively across the entire range of Tx-factor and E¯ th . We limit periods to harmonics only to satisfy jitter constraints, and these experiments show that the choice of G2 satisfies jitter constraints with only a small reduction in utility. From the above experiment, we observe that a harmonic set of period G2 yields a utility value very close to that of a fine-grained arithmetic set. Therefore, we can safely use only harmonic periods for our radar model. This has the following additional effects: (1) it improves the execution time of the optimization as it generates a smaller number of set-points per task, (2) it automatically satisfies the jitter constraints, and (3) it does not affect the optimality of the solution with respect to the fine-grained arithmetic period-set and (4) makes the schedulability test easier. Next, we perform the iterative (binary search) process of resource allocation for tasks and analyze the performances of different dwell interleaving schemes. 5.3.2. Comparisons of scheduling algorithms In this set of experiments, we maintain an E th value of 250J (Kuo et al., 2002) and a Txfactor value of 4 with the aim of keeping the system to be neither under-constrained nor over-constrained. Under these conditions, smart schemes will be better able to exploit available resources to maximize overall utility. We vary the number of tasks from 16 to 256 and perform the whole iterative resource allocation process as shown in Figure 6. The period distribution is limited to G2 (namely 100, 200, 400, 800 and 1600) based on our earlier experiments. The process of QoS optimization and generation of schedule repeats until we arrive at a schedulable task-set where the radar utilization precision factor is 0.1%. Our next experiment deals with comparing performances of various interleaving schemes, under the condition that the schedulability test must be satisfied. We use the following 4 different interleaving schemes:
r Proper scheme: Perform Proper nesting of tasks alone. r Improper scheme: Perform Improper nesting of tasks alone. r Improper-proper scheme: Perform Improper nesting followed by Proper nesting. r Proper-improper scheme: Perform Proper nesting followed by Improper nesting. Springer
42
Real-Time Syst (2006) 33: 7–46
Utility variation with tx-factor 4 180
Utility
160 140 120 No Scheduling Improper Nesting Proper Nesting Improper-proper Nesting Proper-Improper Nesting
100 80 60 0
50
100
150
200
250
300
Number of Tracking Tasks Fig. 25 Utility variation
Run-time variation with tx-factor 4 3.0
Run-time(s)
2.5 2.0 1.5 1.0
Improper Nesting Proper Nesting Improper-proper Nesting Proper-Improper Nesting
0.5 0 0
50
100
150
200
250
300
Number of Tracking Tasks Fig. 26 Optimization+scheduling run-time variation
For each task configuration and each interleaving scheme, we determine the overall accrued utility, the execution time and the radar utilization. We finally average the results across 50 runs. Figure 25 shows the variation of utility accrued as the number of tracking tasks increases under our interleaving schemes. From the figure, the Improper-proper scheme provides the highest utility followed in descending sequence by Proper-Improper, Improper and Proper. The difference in utility between Improper-proper and Proper is 18.11% at 256 tasks. The drop in utility from Q-RAM with no scheduling constraints to Improperproper is 11.17% at the same number of tasks. In other words, the need to schedule the raw outputs of Q-RAM (operating with only 100% utilization requirements and no scheduling constraints) leads to a drop of 11.17%. Next, we plot the variation of radar cool-down utilization (Eq. (9)) under these schemes in Figure 27. We again observe that the Improper-proper scheme provides the best utilization Springer
Real-Time Syst (2006) 33: 7–46
43
Cooldown-Utilization variation with tx-factor 4 0.8 0.75
Utilization
0.7 0.65 0.6 0.55 Improper Nesting Proper Nesting Improper-proper Nesting Proper-Improper Nesting
0.5 0.45 0.4 0
50
100
150
200
250
300
Number of Tracking Tasks Fig. 27 Avg cool-down utilization
(close to 73.11%), and the Proper scheme performs the worst (on average 48.64%). We also observe that the radar utilization actually drops for large task sets (e.g. from 128 tasks to 256 tasks). This is because we admit all tasks in the systems at their minimum QoS level before performing any optimization or allocation. This reduces the radar utilization of the system as the tasks are non-preemptive, and we admit tasks whose minimum QoS itself is expensive. Our conclusion that the Improper-proper performs the best among the four schemes is also further substantiated in the plot of radar utilization (Eq. (1)) in Figure 28. Figure 28 also shows that the cool-down utilization plays a bigger role in determining the utilization of the system than the radar utilization in our model. Our experiments show that task-sets are best interleaved by improper nesting followed by proper nesting. They also show that simple improper nesting performs better than proper
Utilization variation with tx-factor 4 0.54 0.52 0.5 Utilization
0.48 0.46 0.44 0.42 0.4
Improper Nesting Proper Nesting Improper-proper Nesting Proper-Improper Nesting
0.38 0.36 0.34 0
50
100
150
200
250
300
Number of Tracking Tasks Fig. 28 Avg radar utilization Springer
44
Real-Time Syst (2006) 33: 7–46
nesting. Therefore, the task-sets generated by the optimization steps are easier to improperly nest. 5.3.3. Interleaving execution times We measured the execution time of our resource allocation methods as the number of tasks is varied. The results are shown in Figure 26. The execution time includes the Q-RAM optimization followed by the schedulability analysis on the 4 radar system. We note that the execution times of the scheduling results do not include the task profile generation time (which occurs only once). This is because the task profile generation does not depend on the interleaving scheme, and the task-set can choose their profiles very quickly (in the order of μs) by using discrete profiles generated offline as described in Section 3.6. The plot shows that all the interleaving schemes have comparable run-times, with Improper being the fastest and Proper-Improper being the slowest. As can be seen, with about 256 tasks, dynamic interleaving can be performed in about 2.5 sec -with very little optimization carried out in our code. This shows that the reconfiguration rate of the optimizer can be once in 2.5 seconds for 256 tasks. In other words, the radar system can re-evaluate the entire system and re-optimize every 2.5 seconds. In practice, the number of tasks is unlikely to exceed 100 tasks. In that case, the reconfiguration rate can be increased to roughly once in 0.7 seconds. In addition, our experimental results show that this can be drastically dropped to the order of 100 ms if we increase the radar utilization precision factor of the binary search technique to 1% or more. 6. Conclusion and future work We developed a QoS optimization scheme for a radar system. It incorporated the physical and environmental factors that influence the QoS of the various tracking and search tasks . In order to perform QoS optimization dynamically in real-time, the profiles of the tasks must be dynamically generated, but this can lead to unacceptable execution times. We proposed two approaches to solve this problem. First, we showed how only the “relevant” set-points of the tasks are generated using traversal techniques that significantly reduce the complexity of the optimization. A Two-step First-order Fast Traversal scheme (2-FOFT) proves to be the best in reducing computational time significantly with negligible loss in system utility. Next, we showed that the profiles can be generated offline based on quantization of the environmental dimensions, with acceptable storage requirements. Only a limited number of profiles need to be generated with quantized values of the environmental dimensions. With such offline discrete profile generation, the total optimization time takes only 650 ms for 512 tasks with minimal loss in utility. This makes the Q-RAM optimization feasible for real-time use. Next, we developed an integrated QoS resource management and scheduling framework for radar that can rapidly adapt to dynamic changes in the environment. This framework relaxes the need for maximizing (or minimizing) an objective function using only strict inequalities as resource constraints. We accomplish this by introducing an efficient schedulability test on system resources, and repeating the optimization a small number of times using a binary search technique. The scheduling of tasks on radar antenna deals with three primary constraints. First, tasks must satisfy the energy constraint of the antenna. Second, tasks must satisfy zero-jitter requirements. Third, tasks cannot be preempted during transmission or reception. Springer
Real-Time Syst (2006) 33: 7–46
45
We transformed the energy constraint into a timing constraint by defining a concept called cool-down time. We then restricted ourselves to choosing only harmonic periods in order to satisfy the jitter requirements, and we showed that such a restriction leads only to small drops in the overall utility of the system. Finally, we interleave the phases of different radar tasks so as to minimize the time utilization. We found that “improper nesting” of tasks followed by “proper nesting” yields the best results. In our next work, we will describe the resource allocation problem in distributed radar systems across multiple ships, using the concepts in describing Scalable QoS-based resource allocation in networks (Ghosh et al., 2005d).
References Baugh R (1973) Computer control of modern radars. RCA M&SR-Moorestown Library Ghosh S, Hansen J, Rajkumar R, Lehoczky J (2004) Adaptive QoS optimizations with applications to radar tracking. In 10th International Conference on Real-Time and Embedded Computing Systems and Applications (RTCSA) Ghosh S, Hansen J, Rajkumar R, Lehoczky J. (2004) Adaptive QoS optimizations with applications to radar tracking. Technical report 18-03-04, Institute for Complex Engineering Systems, Carnegie Mellon University Ghosh S, Rajkumar RR, Hansen J, Lehoczky J (2003) Scalable resource allocation for multi-processor QoS optimization. In 23rd IEEE International Conference on Distributed Computing Systems (ICDCS 2003) Ghosh S, Rajkumar RR, Hansen J, Lehoczky J (2004) Integrated resource management and scheduling with multi-resource constraints. In 25th IEEE Real-Time Systems Symposium (RTSS 2004) Ghosh S, Rajkumar RR, Hansen J, Lehoczky J (2005) Scalable QoS-based resource allocation in hierarchical networked environment. In 12th IEEE Real-Time Technology and Applications Symposium (RTAS 2005) Goddard S, Jeffay K (1997) Analyzing the real-time properties of a dataflow execution paradigm using a synthetic aperture radar application. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium Graham L (1972) An efficient algorithm for determining the convex hull of a finite planar set. Info. Proc. Lett., 1:132–133 Hansen J, Ghosh S, Rajkumar R, Lehoczky J (2004) Resource management for highly configurable tasks. In 12th International Workshop on Parallel and Distributed Real-Time Systems Kolawole MO (2002) Radar systems, peak detection and tracking. Newnes Press Kuo TW, Chao YS, Kuo CF, Chang C, Su Y (2002) Real-time dwell scheduling of component-oriented phased array radars. In IEEE 2002 Radar Conferences Lee C (1999) On quality of service management. PhD thesis, Carnegie Mellon University Lee C, Lehoczky J, Rajkumar R, Siewiorek D (1998) On Quality of Service Optimization with Discrete QoS Options. In Proceedings of the IEEE Real-Time Technology and Applications Symposium. IEEE Lee C, Lehoczky J, Siewiorek D, Rajkumar R, Hansen J (1999) A scalable solution to the multi-resource QoS problem. In Proceedings of the IEEE Real-Time Systems Symposium Lin K (1995) Distributed pinwheel scheduling with end-to-end timing constraints. In IEEE Real-Time Systems Symposium Munu M, Harrison I, Wilkin D, Woolfson M (1992) Target tracking algorithms for phased array radar. Radar and Signal Processing, IEE Proceedings-F, 139(5):336–342 Rajkumar R, Lee C, Lehoczky J, Siewiorek D (1997) A resource allocation model for QoS management. In IEEE Real-Time Systems Symposium Shih C, Gopalakrishnan S, Ganti P, Caccamo M, Sha L (2003) Scheduling Real-Time Dwells Using Tasks with Synthetic Periods. In Proceedings of the IEEE Real-Time Systems Symposium Shih C, Gopalakrishnan S, Ganti P, Caccamo M, Sha L (2003) Template-Based Real-Time Dwell Scheduling with Energy Constraints. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium Wilkin D, Harrison I, Wooflson M (1991) Target tracking algorithms for phased array radar. Radar and Signal Processing, IEE Proceedings-F, 138(3):255–262
Springer
46
Real-Time Syst (2006) 33: 7–46
Sourav Ghosh received the B.Tech degree in Electronics and Electrical Communications Engineering from Indian Institute of Technology, Kharagpur, India, in 1997, and the M.S. and Ph.D. degrees in Electrical and Computer Engineering from Carnegie Mellon University, Pittsburgh, PA, USA, in 1999 and 2004 respectively. He is currently working as a Technical Staff at Oracle in Cluster Database Group (RAC). His research interest includes OS resource management and scheduling, performance analysis, Quality of Service (QoS) and real-time systems.
Springer