Towards Dynamic Real-Time Scheduling for Multiple Earth Observation Satellites Jianjiang Wang1 , Xiaomin Zhu1 , Laurence T. Yang2,3 , Jianghan Zhu1 , and Manhao Ma1 1. Science and Technology on Information Systems Engineering Laboratory, National University of Defense Technology, Changsha, China {jianjiangwang, xmzhu}@nudt.edu.cn,
[email protected],
[email protected] 2. School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan, China 3. Department of Computer Science, St. Francis Xavier University, Antigonish, NS, B2G 2W5, Canada
[email protected]
Abstract Currently, most tasks submitted to earth observation satellites (EOSs) are with deadlines, to satisfy users’ timing requirements. Besides, tasks are normally submitted dynamically, with uncertainties of tasks number and submission times. In this paper, we establish a multi-objective mathematic programming model for dynamic real-time scheduling of EOSs. To improve user’s revenue and resource utilization, a task dynamic merging strategy is proposed. With the dynamic merging in place, plus consideration of retracting and rearranging some scheduled tasks to make room for incorporating the newly arrived tasks, we present a novel dynamic real-time scheduling algorithmDMTRH. To demonstrate the superiority of our DMTRH, we conduct extensive experiments by simulations to compare DMTRH with two algorithmsRHTSS and STI. The experimental results indicate that DMTRH improves the scheduling quality of others and is suitable for dynamic real-time scheduling. Keywords: earth observation satellites, dynamic real-time scheduling, dynamic merging, task retraction, heuristic
1. Introduction Earth Observation Satellite (EOS) scheduling is to allocate the tasks submitted by users to the resources, i.e., the earth observation sensors of the satellites, making the schedule satisfy the operational constraints. With the expansion of EOS’s application, such as earth resource exploration, nature disaster surveillance, battlefield reconnaissance, etc., EOSs become more limited and expensive relative to numerous tasks. Hence, it is mandatory to investigate the EOS scheduling issue, improving the observation efficiency and resource utilization.
Preprint submitted to Journal of Computer and System Sciences
June 22, 2014
Similar with traditional scheduling problems, e.g., parallel machine scheduling and job shop problem, when a task is allocated, not only the resource, but also the beginning time and the finish time are assigned. However, it should be noted that EOS scheduling has some different characteristics that the targets can only be observed in satellites’ visible scopes, namely, task execution has time window constraints due to EOSs orbiting the earth continuously. In addition, some new characters of EOS applications have been presented. Above all, the great mass of tasks may have deadlines, because users need to obtain the observation results within the timing limits. For instance, when an earthquake breaks out, if the photographs of stricken areas cannot be acquired in time, resulting in the rescue delayed, lots of people will perhaps lose their lives [16]. Therefore, the scheduling of EOSs with tasks having deadlines, referred to as real-time scheduling, is crucial in the modern applications. Besides the deadlines of tasks, there also exist many uncertainties while observation including users’ requests, weather conditions, satellite states, and so on [3]. For example, the tasks will be continuously submitted by users during the execution under the current schedule, with uncertainties of task number and arrival times. Thereby, it is mandatory to design an efficient scheduling scheme for real-time tasks dynamically submitted to earth observation satellites, referred to as dynamic real-time scheduling. Up to now, a great deal of scheduling algorithms of EOSs have been suggested (see details in Related Work). Unfortunately, to the best of our knowledge, less work has been done with respect to dynamic real-time scheduling of multiple earth observation satellites. The difficulties are outlined as below: • In the real-time scheduling of EOSs, task deadlines, time windows and dynamic environment need to be considered synthetically, which brings more complexity than traditional schemes. • The real-time tasks usually arrive dynamically, where the arrival times and the task number are not known a priori, thus, it is hard to get the information of the whole tasks before scheduling, making the scheduling of EOSs difficult in modeling and solving. • Due to the characters of dynamic real-time scheduling, multiple conflicting objectives need to be taken into account simultaneously while scheduling, such as scheduling revenue, stability and energy conservation. The aforementioned arguments present a big challenge to design and implement novel and fast dynamic scheduling algorithms for real-time tasks, which motives us to develop an efficient dynamic scheduling strategy to solve this issue. Contributions: Our main contributions are summarized as follows: • We established a multi-objective mathematic programming model to formulate the scheduling problem for real-time tasks submitted dynamically to multiple EOSs.
2
• We proposed a task dynamic merging (DM) policy to decrease the observation number, thus to enhance the satellite resource utilization. • With the task dynamic merging in place, plus considering task retraction to incorporate newly arrived tasks, we suggested a novel heuristic (DMTRH) algorithm for dynamic real-time scheduling of multiple EOSs. • By extensive simulation experiments, we demonstrated that the DMTRH was able to efficiently improve the scheduling revenue and reduce the energy consumption. The reminder of the paper is organized as follows. The next section reviews related work in literature. Section 3 formally models the dynamic scheduling problem for real-time tasks. Section 4 then describes the dynamic merging policy. This is followed by our proposed DMTRH algorithm in Section 5. The simulation experiments and performance analysis are given in Section 6. Section 7 concludes the paper with a summary and future work. 2. Related Work Over the past decades, a great deal of studies have been developed on the scheduling of EOSs, most of which are focused on static scheme, i.e., making scheduling decisions in an off-line planning phase. Bensana et al. investigated the daily planning problem of an earth observation satellite SPOT-5, and formulated the problem as a variable valued constraint satisfaction problem or as an integer linear programming problem. Moreover, several exact methods like Depth First Branch and Bound or Russian Dolls search were proposed to find the optimal solution, as well as approximate methods like Greedy search or Tabu search to find a good solution [4]. Cordeau et al. described the EOS scheduling problem as selecting a subset of requests for each satellite orbit yielding a maximum profit, which is named satellite orbit problem (SOP), and presented a Tabu search algorithm [2]. Again, to solve the scheduling problem of EOS, Lin et al. employed the lagrange relaxation (LR) technique to integrate with other approaches, like Tabu search, Liner search, etc [5, 6, 7]. Wolfe and Sorensen employed a novel benchmark “window-constrained packing” to model the imaging satellite scheduling problem and proposed three corresponding algorithms, i.e., a dispatch algorithm, a look-ahead algorithm, and a genetic algorithm [8]. In addition, Bianchessi et al. suggested an improved Tabu search algorithm to solve the multi-satellite, multi-orbit and multi-user scheduling problem [1]. With respect to the satellite range scheduling problem, the algorithms from the machine scheduling domain performed well for the one-resource version. Besides, on multiple resources a simple heuristic was shown to perform well on the old problems and a genetic algorithm was proved to be suitable for large scale, more complex problems [26]. Globus et al. discussed the scheduling issue of EOSs, and designed some metaheuristic algorithms. Furthermore, they compared the metaheuristic algorithms with other existing algorithms [9, 10, 12]. It should be noted that the 3
aforementioned static scheduling methods have definite horizons (e.g., one day for daily planning). Once a scheduling decision is made, it cannot be changed, which is obviously not feasible in dynamic environment. There also exist a few attentions directed towards the dynamic scheduling of EOSs. Pemberton and Greenwald described the dynamic scheduling of earth observation satellites and analyzed the contingency conditions [3]. Besides, a new approach employing local adjustment was developed to solve dynamic constraint satisfaction problem (DCSP) [11]. Also, central to “max-flexibility” retraction heuristic, Kramer and Smith studied a repair-based search method for oversubscribed scheduling problem [13]. In addition, Billups et al. investigated some solutions of the dynamic scheduling problem, including a greedy dynamic method, genetic algorithms, integer programming based approaches and a graph-based approach [14]. Unfortunately, all the above dynamic scheduling schemes only concentrate on tasks without timing limits, lacking of guarantee to real-time tasks within their deadlines. Up to now, the investigation on real-time scheduling of EOSs is extremely limited, only Han et al. considered the deadlines of tasks in the satellite mission scheduling with genetic algorithm [17]. However, in the other fields, the realtime scheduling has been studied extensively, such as distributed embedded systems [20, 21, 22], heterogeneous systems of PCs [18, 19, 23], and networks [24, 25]. All of the previous papers focus on the case where tasks can be executed at any time between their release times and deadlines, i.e., tasks do not have time window constraints, which is not applicable in EOS scheduling. With respect to task merging, only Cohen considered the context of multiple targets in a single observation strip, viewed as a preliminary investigation [15]. In this paper, we concentrate on designing a novel task dynamic merging policy, as well as applying it in our proposed dynamic real-time scheduling algorithm for multiple EOSs. 3. Problem Formulation In this study, the dynamic real-time scheduling mainly manages aperiodic tasks whose arrival times are not known a priori, which is the most important feature besides deadlines. We formulate the dynamic real-time scheduling of multiple satellites with a multi-objective mathematic programming model including five basic objects, i.e., tasks, resources, available opportunities, operational constraints and objectives. Tasks. In this study, we focus on dealing with target tasks, i.e., circle with limited dimension, which can be observed in a scene of the sensor. The targets are illustrated in Figure 1. We consider a set T = {t1 , t2 , ..., tn } of tasks that are independent, non-preemptive, aperiodic and importantly real-time with deadlines. Each task ti ∈ T has a priority pi , an arrival time ai , a duration di and a deadline ei . For simplicity, we assume the time line is divided into discrete steps, and τ is used to denote the time period index. Resources. A set R = {r1 , r2 , ..., rm } of resources (or sensors) are available for assignment to tasks. Each resource rj ∈ R is denoted by rj = (σj , sj , bj , oj , 4
target
orbit
Figure 1: Requests of target. The black points represent the targets required observation, in which each target is corresponding with a task in our study. The real lines with directions are the orbits of the satellite, and the shadow on the earth denotes the covering area of the sensor when the satellite orbits the earth.
asj , ρj , πj , msgj ), where σj , sj , bj , oj , asj , ρj , πj and msgj are the field of view, slewing pace, start-up time, retention time of shutdown, attitude stability time, energy consumption per unit observation time, energy consumption per unit slewing angle and maximum slewing angle, respectively. Available Opportunities. We denote AOij = {aoij1 , aoij2 , ..., aoijKij } as a set of available opportunities of task ti on resource rSj , and AOi is the available opportunity set of ti on the whole resources, AOi = AOij . For a given availrj ∈R
able opportunity aoijk ∈ AOi , it is represented by aoijk = {[wsijk , weijk ], θijk }, where [wsijk , weijk ] is the time window of observation and θijk is the slewing angle, which is depicted in Figure 2. Property 1. The available opportunity aoijk ∈ AOi must satisfy the following constraints: ∀ti ∈ T, aoijk ∈ AOi ½ weijk − di > ai and wsijk + di < ei θijk ∈ [−msgj , msgj ]
(1)
To make the real-time tasks be executed between their arrival times and deadlines, we need adjust the available opportunities whose time windows overstep their arrival times or deadlines partially, even though they obey the aforementioned property. For an available opportunity aoijk : • if wsijk < ai and weijk − di > ai , see aoij1 in Figure 3, we can adjust it as aoijk = {[ai , weijk ], θijk }, see Figure 4a. • if weijk > ei and wsijk + di < ei , see aoijKij in Figure 3, we can adjust it as aoijk = {[wsijk , ei ], θijk }, see Figure 4b. 5
Ground track of satellite
rj Tijk
t
Nadir of satellite
weijk
ti t
wsijk
Observation Area
Figure 2: Available opportunity aoijk . When t = wsijk , the target of ti begins to appear in the scope of the resource rj , and with the movement of rj , ti disappears when t = weijk . Hence, rj can observe ti between wsijk and weijk , say [wsijk , weijk ] is a visible time window. Plus the slewing angle θijk , aoijk = {[wsijk , weijk ], θijk } represents an available opportunity for observation of task ti on resource rj . Due to the satellite orbiting the earth with multiple circles every day, there may be multiple available opportunities of a task on a resource.
The advantages of adjusting the available opportunities are uniform description and avoiding complicated constraint examination. After the adjustments, once the tasks allocated to their available opportunities for execution, the constraints of arrival time and deadline will be straight satisfied.
aoij1
aoijKij
aoijk
ai
ei
t
Figure 3: Available opportunities
The decision variables of our problem are xijk , i ∈ [1, ..., n], j ∈ [1, ..., m], k ∈ [1, ..., Kij ], where xijk equals to “1” if task ti is allocated to the kth available opportunity on resource rj ; otherwise, xijk is “0”. Additionally, btij , f tij and φij represent the beginning time, finish time and observation angle of task ti on rj , respectively, where f tij = btij + di . Operational Constraints. Since each task is neither disjunctive nor preemptive in our study, a task can only be allocated to one resource, and be executed once. Therefore, we have the following constraint: Kij m X X
xijk ≤ 1
j=1 k=1
6
∀ti ∈ T.
(2)
wsij1
wsijKij
weij1
weijKij aoijKij
aoij1
ei
t
ai
wsij1
weijKij
wsijKij
weij1
aoijKij
aoij1
ei
t
ai
t
(a)
t
(b)
Figure 4: Adjustment of available opportunities
Each real-time task ti must be executed in an available opportunity aoijk , aoijk ∈ AOi . Hence, we have the available opportunity constraint: ∀ti ∈T, aoijk ∈ AOi , xijk = 1 btij ∈ [wsijk , weijk − di ] φij ∈ [max{θijk − σ/2, −msgj }, min{θijk + σ/2, msgj }].
(3)
Consider a sequence Tj = {t1j , t2j , · · · , tHj } of scheduled tasks in the current schedule CurSol, i.e., task t1j will be executed first and tHj the last on the resource rj . After the task tij ’s successful execution, resource rj requires sufficient setup time to execute the next one ti+1,j . Thereby, the setup time constraint must be considered in our study. Now some relevant definitions are introduced below: Definition 1. Setup Time Setup time, say ci,i+1,j , is the minimal required duration from the finish time of tij to the beginning time of the next task ti+1,j in Tj , which is denoted as below: ci,i+1,j = oj + |φi+1,j − φij |/sj + asj + bj . (4) Definition 2. Ready Time Ready time, say rtij , represents the time from which the task tij can be executed on rj , which is defined as follows: rtij = f ti−1,j + ci−1,i,j .
(5)
Therefore, we can get the ready time constraint formulation depicted as below: ∀tij ∈ Tj , rj ∈ R, rtij ≤ btij . (6) Objectives. In this paper, we firstly consider maximizing the scheduling revenue, thus, the primary objective is to maximize the priorities of the sched7
uled tasks under operational constraints: max
ti ∈T,rj ∈R
Kij m X n X X
pi · xijk .
(7)
j=1 i=1 k=1
Moreover, to make the scheduling stable, we should minimize the perturbation while scheduling. Before introducing this objective, we firstly define the perturbation in our study. Generally, the scheduled real-time tasks may have two types of variances in dynamic scheduling: 1. Change of finish time. 2. Rejection. Definition 3. Perturbation The total perturbation in the scheduling of the whole tasks, say δ, is defined as below: n X 2 X δ= ωl · disturb(i, l) (8) i=1 l=1
where disturb(i, l) is the count of variance l on task ti in the whole scheduling, ωl , l = 1, 2 represents the influence degree of type l variance, and generally ω1 < ω 2 . Consequently, we have the minimum perturbation objective: min
2 n X X
ωl · disturb(i, l)
(9)
i=1 l=1
Finally, the energy consumption by executing the tasks should be minimized so as to save the energy, i.e, (H ) m H−1 X X X min (f tij − btij )ρj + (φi+1,j − φij )πj . (10) j=1
i=1
i=1
Accordingly, the dynamic real-time scheduling problem in our study can be formulated as a multi-objective mathematic programming problem within the aforementioned constraints. 4. Task Dynamic Merging According to the principles of satellite observation, some adjacent targets in the same scene can be observed simultaneously, i.e., simultaneous observation. The task dynamic merging in our study is to select a waiting task ti0 form the current schedule CurSol, to merge with the newly arrived task ti for simultaneous observation, generating a composite task ti∗ . The constraints of task merging are described as below:
8
Available resource constraint: ∃rj ∈ R, Kij > 0, Ki0 j > 0
(11)
Available opportunity constraint: ∃rj ∈ R, aoijki ∈ AOij , aoi0 jk 0 ∈ AOi0 j i (a) : |θ − θ ijki i0 jki0 | ≤ σj (b) : min{weijki , wei0 jk 0 } s.t. i − max{wsijki , wsi0 jk 0 } ≥ max{di , di0 }
(12)
i
Available resource constraint denotes that there must exist a resource rj that can execute both ti and ti0 . Available opportunity constraint represents that tasks ti and ti0 can be observed simultaneously in a scene of the resource. From Eq.(12), we can obtain: • (a) is the slewing angle constraint. As illustrated in Figure 5a, the scene of the resource must cover the targets of both ti and ti0 by adjusting the observation angle. • (b) is the time window constraint. It is shown in Figure 5b that tasks ti and ti0 must have the mutual time interval between their time windows, and the mutual time interval must be long enough for the both tasks’ executions.
rj !ijk
i ' jk '
i
i
ti
wsi' jk
i'
wsijki
wei ' jk ' i
weijki
t
Nadir of satellite i '
(a)
(b)
Figure 5: Dynamic task merging constraint
According to the above analysis, we can find that if tasks ti and ti0 can be merged, there must be at least one tuple (rj , aoijki , aoi0 jk 0 ) between them i satisfying the constraints (11)∼(12), which is named a merging opportunity. Due to multiple available opportunities of a task, the merging opportunity is not unique, thus there may be multiple merging opportunities between ti and ti0 . For each merging opportunity (rj , aoijki , aoi0 jk 0 ), the composite task ti∗ will i have one and only one available opportunity aoi∗ jki∗ , namely the available opportunities of ti∗ is one to one mapping with the merging opportunities. The 9
slewing angle θi∗ jki∗ of aoi∗ jki∗ is (θijki + θi0 jk 0 )/2, and the time window is i [wsi∗ jki∗ , wei∗ jki∗ ], wsi∗ jki∗ = max{wsijki , wsi0 jk 0 }, wei∗ jki∗ = min{weijki , i wei0 jk 0 }. Obviously, the count of the available opportunities of the composite i task ti∗ equals to the count of merging opportunities between ti and ti0 . Hence, the composite task ti∗ may also have multiple available opportunities. In addition, pi∗ , di∗ , ei∗ are the priority, duration and deadline of the composite task ti∗ , respectively. pi∗ = pi + pi0 , di∗ = max{di , di0 } and ei∗ = min{ei , ei0 }. 5. Real-Time Scheduling Algorithm The scheduling of EOSs is a NP-hard problem [3, 4], and task merging makes it more complicated for solving, which motivates us to use a heuristic approach to schedule the real-time tasks for a close-to-optimal solution. Starting with the current schedule CurSol and the newly arrived task ti , the core idea of our approach is to merge ti with a scheduled task in CurSol, and then insert the composite task into the current schedule. If ti is failed to be merged, we will insert it into CurSol and accept the new schedule immediately. Alternatively, if the insertion is also failed, which implies that some scheduled tasks in CurSol are conflicting with ti , we will retract the conflicting tasks and rearrange them to accommodate ti . Before describing our algorithm in detail, some definitions are proposed below: Definition 4. Conflict A conflict, say Conf lictτijk , is defined as the set of conflicting tasks with ti , which is allocated to the available opportunity aoijk and with the beginning time equal to τ . Definition 5. Conflict Degree τ We define the conflict degree Dijk of Conf lictτijk as the priorities of the tasks in Conf lictτijk .
weijk
wsijk
ci' ,i , j
ci ,i'
ti
ti'
Tj 4
5
1, j
ti' 6
7
8
1
9 10 11 12 13 14 15
Figure 6: Conflicts of task ti
10
!
Definition 6. Conflict Set We define the conflict set Conf lictSeti of task ti to be the set of all distinct conflicts over all possible beginning times on all aoijk ∈ AOi . Figure 6 is a simple example of a newly arrived task ti , where Conf lict7ijk = {ti0 }, Conf lict8ijk = {ti0 , ti0 +1 }, Conf lict9ijk = {ti0 +1 }. Assume ti has only one available opportunity aoijk , the conflict set of ti is Conf lictSeti = {Conf lict7ijk , Conf lict8ijk , Conf lict9ijk }. Algorithm 1 DMTRH Algorithm 1: Initialize the newly arrived task ti , the available opportunities AOi and the current
schedule CurSol; 2: N ewSol ← DynamicMerging (ti ,CurSol); 3: if N ewSol 6= ∅ then 4: Return N ewSol; 5: else 6: N ewSol ← InsertTask (ti ,CurSol); 7: if N ewSol 6= ∅ then 8: Return N ewSol; 9: else 10: Conf lictSeti ← ComputeTaskConflicts (ti ,CurSol); 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
0
CurSol ← CurSol; for each conflict Conf lictτijk in Conf lictSeti do τ if Dijk < pi then for each task ti0 in Conf lictτijk do CurSol ← CurSol\ti0 ; end for CurSol ← CurSol ∪ ti ; /* ti is allocated to aoijk and with beginning time equal to τ */ for each task ti0 in Conf lictτijk do CurSol ← InsertTask (ti0 , CurSol); if CurSol == ∅ then break; end if end for if CurSol 6= ∅ then Return CurSol; end if 0 CurSol ← CurSol ; end if end for 0 Return CurSol ; end if end if
The main procedure for scheduling a newly arrived task, refereed to as DMTRH, is outlined in Algorithm 1. It firstly merges the newly arrived task ti with the tasks in the current schedule CurSol by DynamicMerging (line 2). If the return of DynamicMerging is not ∅, which represents that ti 11
has been merged with a scheduled task and the composite task has been scheduled successfully, DMTRH returns the new schedule N ewSol (lines 3∼4). If the return of DynamicMerging is ∅, which denotes none of the scheduled tasks in CurSol can be merged with ti or the composite tasks fail to be scheduled, DMTRH straight inserts task ti into CurSol with InsertTask. If ti is inserted successfully without conflicts, which indicates that ti has been scheduled, the DMTRH algorithm ends and returns the new schedule N ewSol (lines 6∼8). Otherwise, if ti is failed to be inserted, DMTRH firstly computes the conflict set Conf lictSeti of ti with ComputeTaskConflicts, and 0 store the initial state of the current schedule in CurSol (lines 10∼11). Then DMTRH explores the whole conflicts in Conf lictSeti . For a selected conflict Conf lictτijk , if the conflict degree of Conf lictτijk is less than the priority of ti , we “temporarily” retract the scheduled tasks in Conf lictτijk from the current schedule CurSol (lines 14∼16). After the retraction, the newly arrived task ti is incorporated into the current schedule (line 17). And then DMTRH rearranges the retracted tasks one by one. If all retracted tasks can be rescheduled, which denotes that task ti has been successfully allocated, DMTRH returns the current schedule CurSol (lines 18∼26). Otherwise, DMTRH makes the current schedule restore to its initial state (line 27), and continues to access the next conflict. If none of the conflicts in Conf lictSeti can make ti be incorporated, DMTRH returns the initial schedule prior to consideration of ti , i.e., 0 CurSol (line 30). Algorithm 2 DynamicMerging (ti ,CurSol) 1: for each scheduled task ti0 in CurSol do 2: if ti0 and ti satisfy the merging constraints (11)∼(12) then 3: Merge tasks ti and ti0 to generate a composite task ti∗ ; 4: 5: 6: 7: 8: 9: 10: 11:
0
CurSol ← CurSol\{ti0 }; 0 N ewSol ← InsertTask (ti∗ ,CurSol ); if N ewSol 6= ∅ then Return N ewSol; end if end if end for return ∅;
Algorithm 2 depicts the main procedure of DynamicMerging. For the newly arrived task ti , it proceeds by exploring the whole tasks in CurSol. For a chosen task ti0 , if it can be merged with the newly arrived task ti , DynamicMerging merges ti and ti0 to generate a composite task ti∗ and inserts ti∗ into the current schedule CurSol with InsertTask. If the insertion is successful, the algorithm returns the new schedule N ewSol and ends; otherwise, DynamicMerging continues to access the next scheduled task (lines 1∼10). Finally, if no scheduled tasks in CurSol can be merged with ti , or the composite tasks fail to be scheduled, DynamicMerging returns ∅ (line 11). As Shown in Algorithm 3, ComputeTaskConflicts explores all the avail12
Algorithm 3 ComputeTaskConflicts (ti ,CurSol) 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
Conf lictSeti ← ∅; for each available opportunity aoijk in AOi do for each time point τ in [wsijk , weijk − di ] do btij ← τ , f tij ← τ + di , φij ← θijk and Conf lictτijk ← ∅; for each task ti0 in CurSol do if ti0 is conflicting with ti then Conf lictτijk ←Conf lictτijk ∪ ti0 ; end if end for Conf lictSeti ←Conf lictSeti ∪ Conf lictτijk ; end for end for Return Conf lictSeti ;
able opportunities of the newly arrived task ti . For an available opportunity aoijk , ComputeTaskConflicts computes the conflict Conf lictτijk for each time index τ in [wsijk , weijk − di ] (lines 3∼11). Finally, ComputeTaskConflicts returns the conflict set Conf lictSeti of ti (line 13). Algorithm 4 InsertTask(ti ,CurSol) 1: for each available opportunity aoijk in AOi do 2: for each time point τ in [wsijk , weijk − di ] do 3: btij ← τ , f tij ← τ + di and φij ← θijk ; 4: if btij , f tij and φij satisfy the scheduling constraints then 5: N ewSol ← CurSol ∪ ti ; /* ti is scheduled with xijk = 1, btij = τ , f tij =
τ + di and φij = θijk */ 6: Return N ewSol; 7: end if 8: end for 9: end for 10: Return ∅;
The procedure of InsertTask is shown in Algorithm 4. For the newly arrived task ti , InsertTask firstly explores its available opportunities on the whole resources in time order. For an available opportunity aoijk , if task ti can be accommodated without conflicts, which proves that ti has been successfully scheduled, InsertTask ends and returns the new schedule; Otherwise, the algorithm goes on to access another available opportunity (lines 1∼9). At last, if no available opportunities can be used to incorporate task ti , the return of InsertTask is ∅ (line 10). Now, we evaluate the time complexity of DMTRH as below: Theorem 1. The time complexity of DMTRH is O(n3 m), where n is the count of real-time tasks in scheduling, and m is the maximum count of available opportunities of a task. Proof. ComputeTaskConflicts requires O(nmw) time to compute the 13
conflict set of a task, where w is the maximum time window size of the available opportunities. Therefore, if w is a constant as n and m grow, then the complexity of ComputeTaskConflicts is O(nm). With respect to InsertTask function, the complexity of constraint examination (lines 4∼7) is O(n). Thus, if w is a constant as n and m grow, the time complexity of InsertTask is O(nm). Based on the above analysis, the time complexity of DynamicMerging is O(n2 m). InsertTask requires O(nm) time to insert the newly arrived task straightly. Besides, DMTRH requires O{nm + 1 + w[c + 1 + c(nm + 1) + 1]} time to retract the conflicting tasks to incorporate the newly arrived task, where c is the maximum count of tasks in a conflict. Thus, if w and c are constants as n and m grow, DMTRH totally requires O(n2 m) time to schedule a real-time task. Finally, with respect to n tasks for scheduling, the time complexity of DMTRH is O(n3 m). ¤ 6. Performance Evaluation In this section, the performance of our proposed DMTRH algorithm is evaluated. To demonstrate the performance improvements, we extensively compare DMTRH with a task swapping search (RHTSS) algorithm for oversubscribed scheduling problems based on a new retraction heuristic, termed “maxflexibility” [13], and a simple task insertion (STI) algorithm. • RHTSS: RHTSS rearranges the scheduled tasks to incorporate additional tasks excluded from the initial schedule by task swapping search. To direct the process, “max-flexibility” retraction heuristic is responsible for choosing which tasks to “temporarily” retract (see more details in literature [13]). • STI: The basic idea of STI is to insert the newly arrived task ti into the current schedule CurSol directly. If the insertion is failed due to some conflicts, task ti will be rejected immediately. Because RHTSS was originally designed for oversubscribed scheduling problem, to make it available in our problem, we need to slightly modify it in such a way that it “temporarily” retracts the conflicting tasks with “max-flexibility” heuristic to incorporate the newly arrived tasks. We evaluate the algorithm performance by the following metrics: • Task Priorities (T R): This is defined as: T R =
ij m P n K P P
j=1 i=1 k=1
pi · xijk .
• Perturbation (δ) is used to measure the stability of scheduling, which is n P 2 P ωl · disturb(i, l). defined as: δ = i=1 l=1
• Energy Consumption (EC) is used to embody the total energy consumption. 14
Table 1: Parameters of resources
Satellite IKONOS-2 QuickBird-2 SPOT-5
msg 45 25 27
FOV 0.931 2.1 2.09
s∗ 1 1 1
b∗ 3 3 3
o∗ 3 3 3
as∗ 5 5 5
ρ∗ 3 3 3
π∗ 0.5 0.5 0.5
Table 2: Parameters for simulation studies
Parameter Task Number
Value(Fixed)-(Varied) (1000)-(200, 400, 600, 800,
Priorities Durations Resource Number intervalT ime baseDeadline
([1, 10]) ([1, 10]) (3) ([0,20])-([0,20], [20,40], [40, 60]) (48000)-(24000, 48000, 72000, 96000)
1000, 1200, 1400, 1600)
6.1. Simulation Method and Parameters To validate the performance improvements of DMTRH, the targets are randomly generated in the area: latitude −30◦ ∼60◦ and longitude 0∼150◦ . The number of targets are 200, 400, 600, 800, 1000, 1200, 1400, 1600, respectively. Without loss of generality, the priorities of tasks are uniformly distributed in [1,10], and also the durations of tasks are uniformly distributed in [1,10]. According to extensive literatures [2, 3, 4, 17], three resources on different satellites are considered in this paper. The parameters of resources are presented in Table 1, and the orbit models of satellites are obtained from Satellite Tool Kit (STK), where the parameters with (*) denote the designed values based on the previous literatures. • The arrival time of a task is denoted as ai = ai−1 + intervalT ime, where intervalT ime is a random positive real number, uniformly distributed in [a, b], and a0 = 0. • The deadline ei of task ti is chosen as follows: ei = ai + Deadline, where Deadline subjects to normal distribution, Deadline∼N (baseDeadline, baseDeadline/10). Table 2 gives the simulation parameters and their values. In addition, with regard to minimal perturbation objective, the parameters ω1 and ω2 are defined as ω1 = 1 and ω2 = 4, respectively. 15
6.2. Performance Impact of Task Number In this section, we investigate the performance impact of task number. Figure 7-9 show the comparisons of DMTRH, RHTSS and STI in terms of task priorities, perturbation and energy consumption. 3500
Task Priorities
3000
DMTRH RHTSS STI
2500
2000
1500
1000
500 200
400
600
800
1000
1200
1400
1600
Task Number
Figure 7: Task priorities impact of task number.
From Figure 7, it is found that the priorities of all accepted tasks get increased with the increase of task number. This is because in the condition of sufficient resource capacity, the amount of accepted tasks will increase with the increment of arrived task number. In addition, the task priorities of DMTRH are about 9.8% higher than those of RHTSS on average, and 29.9% higher than those of STI, which confirms that task dynamic merging can reduce the task conflicts, making more tasks be incorporated. Moreover, the performance improvements will get larger with the increase of task number. For example, when task number equals to 200, DMTRH are only about 2.2% and 13.8% higher than RHTSS and STI, respectively. However, when task number adds to 1000, it is 11.2% and 33.2% higher, further increasing to 18.6% and 45.7% with task number being 1600. Hence, due to more opportunities of task merging, our DMTRH algorithm is more valuable in large-scale tasks. Figure 8 shows that the perturbation of DMTRH and RHTSS algorithms ascends with the increase of task number, due to more task retractions being induced. Besides, the perturbation of DMTRH is higher than that of RHTSS, because DMTRH considers not only task retraction, but also task dynamic merging, which will obtain higher scheduling revenue but produce more task variances. In addition, STI considers neither dynamic merging nor task retraction, i.e., the scheduled tasks cannot be changed in rescheduling, thus the perturbation always keeps “0”. It is shown in Figure 9 that the energy consumption ascends along with the increase of task number, because more tasks are executed (see Figure 7). Besides, the energy consumption of DMTRH is higher than that of STI, because of more tasks being accepted. It must be noted that although the priorities 16
220 200 180
DMTRH RHTSS STI
Perturbation
160 140 120 100 80 60 40 20 0 200
400
600
800
1000
1200
1400
1600
Task Number
Figure 8: Perturbation impact of task number.
Energy Consumption
7000
DMTRH RHTSS STI
6000
5000
4000
3000
2000 200
400
600
800
1000
1200
1400
1600
Task Number
Figure 9: Energy consumption impact of task number.
of accepted tasks of DMTRH are always higher than those of RHTSS, the energy consumption is about 3.7% less on average. We can attribute it to the fact that task dynamic merging makes more tasks be executed simultaneously, which saves the energy. 6.3. Performance Impact of Arrival Time We carry out a group of experiments in this section to observe the impact of arrival time on all algorithms. The experimental results are depicted in Figure 10-12. Figure 10 shows that with intervalT ime increasing, the task priorities of all algorithms ascend. The reason is that with the increase of intervalT ime, the system load becomes lighter, i.e., less tasks are waiting on the resources, which will make more newly arrived tasks be accepted. In addition, the task priorities of DMTRH are higher than those of RHTSS and STI as the reasons described 17
3000
Task Priorities
2500
2000
1500
1000
DMTRH RHTSS STI
500
0
[0 20]
[20 40]
[40 60]
intervalTime
Figure 10: Task priorities impact of arrival time.
in the previous experiments. In addition, the performance improvements will descend with the increase of intervalT ime. When intervalT ime is distributed in [0,20], the task priorities of DMTRH are about 9.8% and 31.6% higher than those of RHTSS and STI, respectively. However, with intervalT ime distributed in [20,40], it is only about 8.0% and 28.2% higher, further decreasing to 6.9% and 27.1% in [40,60]. This confirms that with less tasks waiting on the resources, the opportunities of dynamic merging decrease, making the performance improvements of DMTRH decrease. Hence, DMTRH algorithm is more applicable in “task-intensively” environment, i.e., tasks arrive suddenly in a short time interval. 120
Perturbation
100
80
DMTRH RHTSS STI
60
40
20
0
[0 20]
[20 40]
[40 60]
intervalTime
Figure 11: Perturbation impact of arrival time.
Figure 11 depicts that DMTRH always has the highest perturbation, and STI always keeps “0”, as the explanations in Figure 8. Moreover, the perturbation of DMTRH and RHTSS descends with the reduction of arrival rate, which can 18
be explained that with less arrival rate, the system load becomes lighter, and more tasks can be incorporated in scheduling without dynamic merging or task retraction. 8000
Energy Consumption
7000 6000 5000 4000 3000 2000
DMTRH RHTSS STI
1000 0
[0 20]
[20 40]
[40 60]
intervalTime
Figure 12: Energy consumption impact of arrival time.
It is observed in Figure 12 that all the algorithms consume more energy with the increase of intervalT ime, because the amount of accepted tasks is getting larger (see Figure 10). Besides, the energy consumption of DMTRH is higher than that of STI, as well as less than that of RHTSS, which has been explained in Figure 9. 6.4. Performance Impact of Task Deadline We evaluate in this experiment the performance impact of task deadline. The parameter Deadline subjects to normal distribution, in which the expectation baseDeadline varies from 24000 to 96000 with an increment of 24000. Figure 13-15 plot the performance of the algorithms. Figure 13 shows that the three algorithms produce larger task priorities as the deadlines are prolonged. This can be attributed to the fact that, with deadlines being prolonged, real-time tasks will have more available opportunities in scheduling, thereby, more tasks will be accommodated. In addition, the priorities of DMTRH are about 11.7% larger than those of RHTSS and 32.4% larger than those of STI on average, respectively. The explanations have been presented in the former experiments (see Figure 7). Figure 14 indicates that DMTRH induces much more perturbation than the other algorithms, which is like the reasons stated in the former experiments (e.g., see Figure 8 and Figure 11). Besides, the perturbation ascends with the increase of baseDeadline. The reason is that when the deadlines are prolonged, the increase of available opportunities will make more tasks be accepted, which may result in more task dynamic merging or task retractions. As explained in the previous experiments, the perturbation of STI algorithm always keeps “0”.
19
4500 4000
Task Priorities
3500
DMTRH RHTSS STI
3000 2500 2000 1500 1000 500 0
24000
48000
72000
96000
baseDeadline
Figure 13: Task priorities impact of task deadline.
250
Perturbation
200
DMTRH RHTSS STI
150
100
50
0
24000
48000
72000
96000
baseDeadline
Figure 14: Perturbation impact of task deadline.
Figure 15 demonstrably reveals that more energy is consumed by all algorithms with the increase of baseDeadline, because more tasks are accommodated (see Figure 13). Furthermore, the energy consumption of DMTRH is about 5.2% less than that of RHTSS and 6.1% more than that of STI on average, as explained in the previous sections. In addition, DMTRH will save more energy with the increase of baseDeadline. For instance, when baseDeadline equals to 24000, DMTRH consumes 3.5% less energy than RHTSS and 9.3% more than STI, respectively. Then when baseDeadline increases to 72000, the energy consumption of DMTRH is 5.2% less than that of RHTSS and 4.9% more than that of STI. With baseDeadline further increasing to 96000, DMTRH consumes 8.1% less energy than RHTSS and 1.5% more than STI, respectively. This confirms that with long deadlines, tasks have more available opportunities for dynamic merging, which saves more energy.
20
12000
Energy Consumption
10000
DMTRH RHTSS STI
8000
6000
4000
2000
0
24000
48000
72000
96000
baseDeadline
Figure 15: Energy consumption impact of task deadline.
7. Conclusions and Future Work This paper constructs a multi-objective mathematic model to formulate the dynamic real-time scheduling problem of multiple EOSs. Besides, a task dynamic merging strategy is proposed in multi-satellite dynamic real-time scheduling, to reduce conflicts and improve schedulability. Moreover, on the basis of dynamic merging, plus task “temporary” retraction, a novel dynamic scheduling algorithm for real-time tasks is suggested, which improves the scheduling quality in terms of revenue, energy conservation at the expense of stability. We conduct extensive experiments to compare it with STI and RHTSS. The experimental results prove that the DMTRH is an efficient scheduling algorithm and is suitable for dynamic real-time scheduling of earth observation satellites. The following issues will be addressed in our future study: 1) Improve our scheduling model, e.g., considering the constraints of memory and energy. 2) Consider the real-time tasks with different observation quality requirements. 3) Reduce the perturbation of our DMTRH algorithm without affecting the scheduling revenue and resource utilization. 4) Investigate the scheduling issue of area tasks or integrated tasks with targets and areas. Acknowledgments This research was supported by the National Natural Science Foundations of China under Grants No. 61104180, and No. 71271213. References [1] N. Bianchessi, J.F. Cordeau, J. Desrosiers, G. Laporte, and V. Raymond, “A Heuristic for the Multi-Satellite, Multi-Orbit and Multi-User Management of Earth Observation Satellites,” European Journal of Operational Research, vol. 177, no. 2, pp. 750-762, 2007.
21
[2] J. Cordeau and G. Laporte, “Maximizing the Value of an Earth Observation Satellite Orbit,” J. Operational Research Society, vol. 56, no. 8, pp. 962-968, 2005. [3] J.C. Pemberton and L.G. Greenwald. “On The Need for Dynamic Scheduling of Imaging Satellites,” in Proc. American Society for Photographing and Remote Sensing (ASPRS-02), 2002. [4] E. Bensana, G. Verfaillie, J.C. Agnese, N. Bataille and D. Blumestein,“Exact and Inexact Methods for the Daily Management of an Earth Observation Satellite,” in Proc. International Symposium on Space Mission Operations and Ground Data Systems, 1996, vol. 4, pp. 507-514. [5] W.C. Lin and S.C. Chang, “Hybrid Algorithms for Satellite Imaging Scheduling,” in Proc. IEEE International Conference on Systems, Man and Cybernetics, 2005, vol. 3, pp. 2518-2523. [6] W.C. Lin, D. Liao, C. Liu, and Y. Lee, “Daily Imaging Scheduling of an Earth Observation Satellite,” IEEE Trans. System, Man, Cybernetics-Part A: Systems And Humans, vol. 35, no. 2, pp.213-223, 2005. [7] W.C. Lin and D.Y. Liao, “A Tabu Search Algorithm for Satellite Imaging Scheduling,” in Proc. IEEE International Conference on Systems, Man and Cybernetics, 2004, vol. 2, pp. 1601-1606. [8] J. Wolfe and S.E. Stephen, “Three scheduling algorithms applied to the earth observing systems domain,” Management Science, vol. 46, no.1, pp. 148-168, 2000. [9] A. Globus, J. Crawford, J. Lohn, and R. Morris, “Scheduling Earth Observing Fleets Using Evolitionary Algorithms: Problem Description and Approach,” in Proc. 3rd International NASA Workshop on Planning and Scheduling for Space, 2002. [10] A. Globus, J. Crawford, J. Lohn, and A. Pryor, “A Comparison of Techniques for Scheduling Fleets of Earth-Observing,” J. Operational Research Society, vol. 56, no.8, pp. 962-968, 2003. [11] G. Verfaillie and T. Schiex. “Solution Reuse in Dynamic Constraint Satisfaction Problems,” in Proc. 12th National Conference on Artificial Intelligence, 1994, vol. 1. [12] G.H. Wu, J. Liu, M.H. Ma, and D.S. Qiu, “A two-phase scheduling method with the consideration of task clustering for earth observing satellites,” Computers &OperationsResearch, vol. 40, no.7, pp. 1884-1894, 2013. [13] L.A. Kramer and S.F. Smith. “Maximizing Flexibility: A Retraction Heuristic for Oversubscribed Scheduling Problems,” in Proc. 18th International Joint Conference, on AI, 2003. [14] S.C. Billups, “Final Report of The Ucdhsc Mathematics Clinic: Satellite Mission Scheduling with Dynamic Tasking,” Denver, CO 80217-3364 [15] R. Cohen, “Automated Spacecraft Scheduling-The ASTER Example,” in Proc. GSAW Ground System Architecture workshop, 2002.
22
[16] K. Zhu, J. Li, and H.X. Baoyin, “Satellite Scheduling Considering Maximum Observation Coverage Time and Minimum Orbital Transfer Fuel Cost,” Acta Astronautica, vol. 66, pp. 220-229, 2010. [17] S.M. Han, S.W. Beak, K.R. Cho, D.W. Lee and H.D. Kim, “Satellite Mission Scheduling Using Genetic Algorithm,” in Proc. SICE Annual Conference, 2008. [18] X. Zhu, X. Qin, and M. Qiu, “QoS-Aware Fault-Tolerant Scheduling for RealTime Tasks on Heterogeneous Clusters,” IEEE Trans. Computers, vol. 60, no. 6, pp. 800-812, 2011. [19] X. Zhu and P. Lu, “Multi-dimensional Scheduling for Real-Time Tasks on Heterogeneous Cluster,” J. Computer Science and Technology, vol. 24, no. 3, pp. 434-446, 2009. [20] C. Steiger, H. Walder and M. Platzner, “Operating Systems for Reconfigurable Embedded Platforms: Online Scheduling of Real-Time Tasks”, IEEE Trans. Computers, vol. 53, no. 11, pp. 1393-1407, 2004. [21] J. Luo and N.K. Jha, “Power-Conscious Joint Scheduling of Periodic Task Graphs and Aperiodic Tasks in Distributed Real-time Embedded Systems”, in Proc. 2000 IEEE/ACM International Conference on Computer-Aided Design, 2000. [22] J. Luo and N. Jha, “Static and Dynamic Variable Voltage Scheduling Algorithms for Real-Time Heterogeneous Distributed Embedded Systems”, in Proc. 2002 Asia and South Pacific Design Automation Conference, 2002, pp. 719-726. [23] X. Qin and H. Jiang, “A Novel Fault-tolerant Scheduling Algorithm for Precedence Constrained Tasks in Real-Time Heterogeneous Systems”, Parallel Computing, vol. 32, no. 5-6, pp. 331-356, 2006. [24] C.Y. Lu, B.M. Blum, T.F. Abdelzaher, J.A. Stankovic and T. He, “RAP: A RealTime Communication Architecture for Large-Scale Wireless Sensor Networks”, in Proc. 8th IEEE Real-Time Embedded Technology and Applications Symposium, 2002, pp. 55. [25] T.F. Abdelzaher, S. Prabh and R. Kiran, “On Real-time Capacity Limits of Multihop Wireless Sensor Networks”, in Proc. 25th IEEE Real-Time Systems Symposium, 2004, pp. 359-370. [26] L. Barbulescu, J.P. Watson, D. Whitley, and A.E. Howe, “Scheduling spaceground communications for the air force satellite control network”, J. Scheduling vol. 7, no. 1, pp. 7-34, 2004.
Jianjiang Wang received the BS degree in information systems from National University of Defense Technology, China, in 2009. Currently, he is a PhD student in the School of Information System and Management at National University of Defense Technology. His research interests include satellite scheduling, multiobjective combinational optimization, and uncertain programming.
23
Xiaomin Zhu received the BS and MS degrees in computer science from Liaoning Technical University, China, in 2001 and 2004, respectively, and PhD degree in computer science from Fudan University, China, in 2009. He is currently an associate professor in the School of Information System and Management at National University of Defense Technology, China. His research interests are cluster computing, fault-tolerant computing, green computing, and performance evaluation. He is a member of the IEEE, the IEEE Communication Society, and the ACM.
Laurence T. Yang received the BS degree in computer science from Tsinghua University, China and the PhD degree in computer science from the University of Victoria, Canada. He is a professor in the School of Computer Science and Technology at Huazhong University of Science and Technology, China, and in the Department of Computer Science, St. Francis Xavier University, Canada. His research interests include parallel and distributed computing, embedded and ubiquitous/pervasive computing. His research is supported by the National Sciences and Engineering Research Council, and the Canada Foundation for Innovation.
Jianghan Zhu received the BS, MS and PhD degrees in management science and technology from National University of Defense Technology, China, in 1998, 2000 and 2009, respectively. Currently, he is a professor in School of Information Systems and Management in National University of Defense Technology. His research interests include combinational optimization, spacebased information systems, and satellite application information link.
Manhao Ma received the BS, MS and PhD degrees in management science and technology from National University of Defense Technology, China, in 2001, 2004 and 2010, respectively. Currently, he is an associate professor in School of Information Systems and Management at National University of Defense Technology. His research interests include distributed simulation, combinational optimization, and space-based information systems.
24