3.1. Satellite Resource Pool Architecture
The resource pool is generally a collection of the various hardware and software involved in the cloud computing data center. In [
4], the resources on the satellite onboard processing board are virtualized into a resource pool. In space-based systems, satellite resources are scattered and heterogeneous. This not only increases the difficulty of satellite resource management, but is also not conducive to improving the success rate of the task. This is especially true when there are massive devices that need a large number of resources and there are many kinds of tasks in the IoT, such as artificial intelligence applications and target recognition, for instance. To solve these problems, this paper proposes a satellite resource pool model based on edge computing for target area tasks, as shown in
Figure 1.
The satellite resource pool is a virtual resource pool based on satellites in space-based systems. As shown in
Figure 1,
m satellite networks need to be interconnected in a distributed satellite cluster through an inter-satellite link. Following this, for the task service in the target area,
k satellites share the virtualized resources of satellites through the distributed cloud network operating system and build a resource pool. The management node in the resource pool uniformly schedules the satellite resources in the resource pool according to the resource requirements of the tasks in the region. There will be several resource pools in the whole space-based system to serve different regions. Resource pools will cooperate through management nodes to realize resource sharing among resource pools and even the whole space-based system.
Each satellite of the resource pool first virtualizes its resources into general computing, storage, and sensing resources through resource virtualization technology. Similar to ground virtualization technology, it adopts the resource virtualization scheme based on kernel-based virtual machine to virtualize the computing, storage, and sensing resources. Each type of resource establishes a sub-pool, such as a computing pool and a sensor pool, and then establishes its resource directory and index. This provides a unified resource directory and general index method, so that the logical resource can be mapped to the satellite actually sharing the resource through the resource directory and index.
The resource pool is established for task requirements. The satellites in the space-based system are in the whole network, but not all satellites will join a resource pool, which is determined according to the requirements of the resource pool and the dynamic state of the satellite. The dynamic states of the satellite include the orbital motion of the satellite, the change of the satellite network topology, the satellite’s task execution, and the consumption of satellite resources, and so on. There is an optimal problem regarding the capacity of the resource pool, which will be described in
Section 3.2, and the satellite selection will be discussed in
Section 3.3.
Before the emergence of satellite networks, satellites were used in isolated utilization modes, as shown in
Figure 2a. In this mode, satellites work independently and do not cooperate with each other. Moreover, due to the satellite orbit movement, the coverage area is limited, and only some users can be served in a certain time window. With the development of the inter-satellite link, satellites are gradually networked, and space-based networks are established. At this stage, satellites interact with each other to complete tasks together, as shown in
Figure 2b. This model, similar to the model in [
19], promotes cooperation among satellites and improves the utilization efficiency of satellite resources. However, due to the limited resources of a single satellite, some tasks with a large demand for resources cannot be effectively completed on the satellite. This is why we proposed the pooled model, as shown in
Figure 2c. For users in the target region, several satellites can be equivalent to a large satellite with a common resource pool, and all satellite resources of the resource pool can be used.
It is worth noting that the tasks of the satellite are not necessarily sent by the ground station, but also generated by the satellite itself. However, traditional satellites, especially corresponding to the isolated mode, are generally transmitted by the ground station. Therefore, other models make the same assumptions. Based on this, the satellite in independent utilization mode is equivalent to the classical M/M/1 queuing system. In cooperative mode, tasks are released to a satellite through a channel, and then the satellite services the tasks. In this mode, when a task comes, if there are idle satellites, the task will be distributed to them for execution. In the pooled mode, k satellites build a unified computing cluster, which is equivalent to a server with larger resources and faster service.
The notations frequently used in this paper are summarized in
Table 1.
3.2. Pool Capacity Planning
Too many satellites participating in the resource pool will result in a waste of resources, while too few will affect the service quality of the task. The participation of satellites over long distances in building resource pools will also bring greater network delay. Thus, in order to meet certain task objectives, it is necessary to have an appropriate number of satellites, which brings the problem of capacity planning of the satellite resource pool.
Assume that there are satellites participating in the target area service. Each satellite is a server, and the satellite task execution queue is represented by the M/M/1 queuing system, that is, the time interval of task generation obeys the exponential distribution, and the task execution time obeys the arbitrary probability distribution. It is assumed that the rate at which the ground station generates tasks is , that is, the time interval of task generation is an independent, identically distributed random variable, subject to exponential distribution. The service rate of each satellite is , which represents the number of tasks completed by the satellite in unit time.
The task requirements of the target area determine the number of satellites to be involved. Given the target area and task type, we can estimate the number of satellites needed for service. We can then solve the number of satellites based on the square root configuration rule [
20]. Considering that the goal is to keep the average response time of the system to less than
, and the minimum number of servers required to achieve such quality of service is
, it is obtained from the square root configuration rule:
The
is defined by
. The
is given by (2), and
represents the standard normal cumulative distribution function and its probability density function.
The author of Ref. [
21] gives the empirical value tables of
and
. When
is 0.2 and
. This means that when the average response time is less than 20%, the minimum number of servers that can be solved is
.
After determining the number of satellite nodes, the problem remains that the satellite is different from the ground computer room. As the satellite is in space orbit, as shown in
Figure 3, the motion of the satellite is not considered in the queuing theory model. Therefore, one of the difficulties of creating a satellite resource pool is to select the suitable satellites from all satellites. Satellite resource sharing in the resource pool will be further described below, and a satellite node selection method will be proposed.
3.3. Satellite Node Selection
Assume that there are N satellites in the space-based system, and M resources in each satellite. The dynamic task set of a satellite is defined as , and expression of the task is . is the execution time window of the task k, which corresponds to the task target area and . refers to the resource requirements of the task. The tasks generated by satellite i can be expressed by the required resources and the data size of the task itself, i.e., , where indicates the number of computing resources required to perform the task, which can be quantified by the number of CPU cycles . is the storage requirement. represent the input and output file sizes, respectively, describing task information such as program code and response data.
An advantage of using the pooled mode over the cooperative mode is that it can pool more resources for tasks, especially for tasks with large resource requirements [
22]. It can dynamically split the tasks and distribute them to the satellites with idle resources in the resource pool for execution, realizing satellite resource sharing [
23]. The problem of satellite selection can be described as selecting
k satellites from the whole space-based system to share resources. In
Figure 3, satellites one to five are used to build the resource pool.
3.3.1. Average Task Response Time
When satellite
i migrates some tasks to satellite
j for execution, the following three steps need to be completed in the whole process: sending the task to satellite
j, satellite
j executes the task, and then returns the task result to satellite
i. Under the resource pool, the response time of task
is composed of five parts: task sending waiting time
, task transmission time
, task waiting time in the execution queue
, task execution time
, and result return time
. Some tasks may not return results. In this case, the time and energy consumption of returning results are zero. Local processing does not require data transmission. Among them, the satellite transmits data through the inter-satellite link, and the task transmission of the inter-satellite link includes link establishment delay and transmission delay. The chain establishment delay can be divided into tracking delay, synchronization delay, and handshake delay. Taking the common microwave inter-satellite link as an example, the two sides of satellite communication need to communicate. Firstly, the link must be built under conditions which ensure the visibility of the satellite. As shown in
Figure 4 below, the visible condition of the satellite means that the connection between the two satellites does not pass through the earth, that is
.
In the process of establishing the link between two satellites, the antenna must be aligned first. However, since the satellite ephemeris is known, future satellite links can be predicted, so the tracking delay can generally be regarded as a stable value. The synchronization delay is related to the coding mode of the inter-satellite link, generally QPSK, which can also be regarded as a stable value. The handshake delay is mainly caused by propagation. Assuming that the distance between two satellites is
and the handshake is
m times during chain establishment,
c is the speed of light, and the handshake delay is:
Assuming that the inter-satellite link transmission rate is
, the expression of
is obtained:
Expression for
is:
During the visible window time between the satellite and the ground, the satellite cluster network topology constituting the resource pool can be regarded as unchanged [
24]. At this time, the task sending waiting time and result return waiting time are only related to the message sending queue, which will be counted by the task queue in subsequent experiments. To sum up, the response time
Ti,j of the task migrating to satellite
j is:
In particular, when the task is processed locally, data transmission is not required, so the response time of the task
only consists of two parts:
, the waiting time of the task in the execution queue, and
, the execution time of the task. Furthermore,
equals to the
for the local task processing. To sum up, the average response time of tasks performed locally on the satellite is:
3.3.2. Energy Consumption
Following this, the average energy consumption
of task execution in the resource pool mode will be calculated, which is composed of two parts: the average transmission energy consumption of the task
, and the is the average execution energy consumption of the task
. According to the parameters of the above communication model, the average transmission energy consumption of the task can be expressed as:
means that the energy consumption of the processor is proportional to the square of the CPU frequency.
is the energy consumed by transmitting each unit file, and
κ in the
represents the equivalent switching capacitance, which is related to the architecture of the chip [
25]. When the task is processed locally, there is no transmission energy consumption, i.e.,
.
3.3.3. Load Balancing Rate of Resource Nodes
One benefit of the resource pool is that it can avoid overusing resources by some domestic satellites while other overseas satellites are idle, that is, to achieve resource load balance. Load balance is evaluated by resource utilization. The resource utilization of a certain kind of satellite refers to the time ratio of resource
m on satellite
j during the completion time of a task, which is defined as follows:
In (11),
is the time when task
j finishes executing on resource
m,
is the time when task
j starts executing on resource
m, and
is the time difference between the time when task
j finally finishes the task and the time when task
j first starts executing. The calculation is as follows:
There are various resources on satellites, including computing, storage, network, sensor, and other resources. The average utilization rate of
m resources is:
In this paper, the load balance degree is used to evaluate the load between satellites. It means that the same resources should be allocated to each satellite as much as possible, rather than being used too intensively on one satellite [
26]. Resource load balance can ensure the efficient execution of tasks, improve the utilization of resources, and avoid excessive consumption of a single node, thus prolonging the service life of satellites. The measurement method of resource load balance is:
The closer d is to zero, the smaller the difference in the operation of each resource, and the better the resource load balance.
3.3.4. Planning Objectives
The response time of tasks is critical for users, especially in situations where real-time requirements are high. Waiting for the response for a long time will lose users, and there will be great losses in major cases such as natural disasters. According to the above description, for the task-oriented resource pool node selection, this paper focuses on the goal of minimizing the average response time of the task and maximizing the resource load balance of the node (that is, minimizing the
d), which are modelled by (15) and (16), respectively.
K is the number of tasks.
There are many research constraints for satellites to complete tasks submitted by ground users. First, the resources required by the task shall not exceed those owned by the satellite. Expressed as follows:
where
represent computing and storage resources of the satellite
i, respectively. This means that the total computing and storage resources occupied by the
tasks executed on each satellite cannot exceed the resources owned by that satellite.
It is assumed that
is a time slot. For the completion of a specific task, a responsive sensor of the corresponding satellite is required. Although satellites can reconfigure their software, they cannot perform tasks without corresponding hardware support. Therefore, the following constraints shall be met:
The indicates that in time slot , the sensor occupied by task k on satellite i is consistent with the sensor of satellite i. Service performances are constrained by the resolution, field angle, and orbital space position of the sensor. In this paper, only orbital factor is considered. The field angle of the sensor is taken as a fixed parameter, and the initial angle of the sensor is temporarily ignored. It is uniformly set to be aligned with the geocentric. Visibility is constrained by (3) and (4).
When considering communication constraints, communication must first satisfy the visibility between satellite and ground and between the satellites. Communication resources then need to consider the number of satellite links and communication bandwidth. It is expressed as follows:
The is the connection link relationship between satellite i and satellite j during the time period . A value of one means that the two satellites establish an inter- satellite link. If it is zero, there is no communication. is the number of communication channels of the satellite, which limits the number of links that the satellite can establish. is the communication bandwidth of the satellite i. The total bandwidth used in the time slot of task execution cannot exceed the total bandwidth of the satellite.
Synchronization constraints are largely limited to a resource conflict with observation and other attributes in the task to avoid resource waste or shortage. For example, the navigation function needs at least four satellites, and some remote sensing tasks need multiple coverage to meet the accuracy requirements of the service.
The
represents the relationship between the two satellites
i and
j in the time period
, and
and
, respectively, represent the minimum and maximum time relationship required for signal processing [
27]. Generally, only the minimum relationship represented by
needs to be considered, but the load balancing rate of resources will be considered at the same time to maintain the resource balance between space-based systems, so it is constrained by
to avoid taking up too many satellites.
3.3.5. Selection Algorithm
The response time is mainly considered in the task-oriented resource pool node selection problem. The constraints include resource constraints, communication constraints, and synchronization constraints. To solve the above problem, the paper adopts a search matching algorithm, which can comprehensively consider three constraints and planning objectives, and finally select the target node group according to the priority of planning objectives. The purpose of the resource pool is to serve the task. As satellite tasks have the highest time requirements, the average response time of the task is given priority in the selection of nodes [
27]. At the same time, the resources of the satellite are strictly limited. Due to the characteristics of satellite orbit movement, it is easy to cause the centralized use of resources at some nodes. Therefore, it is necessary to consider the load balance of resource nodes to prolong the service life of the satellite. Based on the above considerations, the task-oriented resource pool node selection algorithm in this paper is shown in Algorithm 1.
Algorithm 1 Satellite node selection of resource pool |
Input:λ, N, M, K, Task file, Satellite orbit parameter file |
Output: satellites matrix |
1: | Initialization: task resource requirements, |
2: | Read the satellite resource status matrix; read satellite orbit position |
3: | Obtained from (1) ,
|
4: | For
to |
5: | For |
6: | calculate |
7: | |
8: | If |
9: | checkout (19), (20), update |
10: | If |
11: | Sort |
12: | End if |
13: | End if |
14: | End for |
15: | Count |
16: | If |
17: | |
18: | Else |
19: | |
20: | End if |
21: | End for |
A satellite orbit parameter file is used to obtain the position of satellites. The sort operation in row 11 is sorted by decreasing order. is the flag of resource demand satisfaction. In this algorithm it is four, which represents four resource marks: CPU, storage, communication, and sensor. Following this, the operation in the selection algorithm aims to select k satellites according to the target ranking of response time and load balance. The process is: checkout (15) to satisfy the basis of meeting the response time, then calculate (16) using the (14) to get the resource balance. Finally, output the k satellites matrix. It can be seen from the algorithm that the goals are to complete the task, improve the response speed, and ensure the load balance of the SBIS, to promise service quality for users and improve the service life of the satellite. However, it can also be found that not all tasks can respond successfully, and the failure rate of tasks will be further analyzed in the experiment.
After the satellite node selection algorithm gives the satellites that construct the resource pool, the first one will be selected as the management node. The reason for this is that the ranking is based on the matching degree of satellite resources and tasks. The first one is therefore the best in terms of capability, and choosing the first one can provide the best service in the selected satellite. During the task period, the node selection algorithm will be executed once for each time slot, but the node selection will be executed only after the selection node changes to avoid the node being in constant change.