CN112260743B - Computing resource allocation method and device - Google Patents
Computing resource allocation method and device Download PDFInfo
- Publication number
- CN112260743B CN112260743B CN202010976158.8A CN202010976158A CN112260743B CN 112260743 B CN112260743 B CN 112260743B CN 202010976158 A CN202010976158 A CN 202010976158A CN 112260743 B CN112260743 B CN 112260743B
- Authority
- CN
- China
- Prior art keywords
- satellite
- target
- task
- subtask
- computing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
- H04B7/18519—Operations control, administration or maintenance
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Radio Relay Systems (AREA)
Abstract
The invention discloses a computing resource allocation method and device. The method comprises the following steps: dividing the tasks to be processed received by the target satellite to generate a subtask set corresponding to the tasks to be processed; acquiring a target subtask in the subtask set; based on task attributes corresponding to the target subtasks and a pre-stored target satellite resource state table, acquiring calculation energy and calculation time delay consumed by the target satellite and a cooperative satellite corresponding to the target satellite for calculating the target subtasks; determining task computing satellites in a target satellite and a cooperative satellite based on task attributes, computing energy and computing time delay corresponding to the target subtask; and processing the target subtasks based on the task computing satellite, and determining a computing result corresponding to the target subtasks. The invention can reasonably distribute the satellite network computing resources, can fully and efficiently utilize the satellite computing resources, achieves the aim of minimum service delay under the constraint of energy consumption, and meets the requirement of real-time service of the satellite network.
Description
Technical Field
The present invention relates to the field of computing resource allocation technologies, and in particular, to a computing resource allocation method and apparatus.
Background
With the development of aerospace technology, the single-function solidified satellite is difficult to meet the application requirements, and multifunctional integrated satellites such as remote communication and conduction are gradually developed. The integration of multiple capabilities is realized by sharing satellite resources, and the satellite works in different functional modes based on software-defined software multifunctional loads. Meanwhile, with the development of satellite processing technology, various services and applications are emerging continuously, and the requirements of the satellite on network performance such as information service quality, request delay and the like are higher and higher. The ground computing architecture has the problem of high transmission delay, more and more information must be processed on the satellite, and the service processing delay is reduced through space-based distributed computing.
Since the satellite is a system with limited power and computing resources, how to efficiently utilize the space computing resources is very important for engineering applications. Because the system is influenced by the space environment, the computing resource of a single satellite is limited, and the real-time tasks with large computing amount, such as radar signal imaging processing and the like, cannot be born. Therefore, how to dynamically schedule these data to the appropriate computing service provider according to the network conditions of the low-orbit constellation will be a key issue in the future multifunctional low-orbit constellation. Particularly, low-orbit satellite groups are built in all countries, a multifunctional software low-orbit satellite network is a future development trend, and computing resources of multiple satellites are shared, so that the effect of improving the overall efficiency of a satellite constellation is obvious. How to utilize the computing power of the satellite network node to realize the dynamic decomposition and distribution of real-time large tasks and realize the distributed parallel computing and the cooperative processing through the computing resources of multi-load nodes, thereby solving the problem that the real-time computing task can not be completed by a single load.
Disclosure of Invention
The technical problem solved by the invention is as follows: the defects of the prior art are overcome, and a computing resource allocation method and a computing resource allocation device are provided.
In order to solve the above technical problem, an embodiment of the present invention provides a method for allocating computing resources, which is applied to a target satellite, and the method includes:
dividing received tasks to be processed to generate a subtask set corresponding to the tasks to be processed;
acquiring a target subtask in the subtask set;
based on task attributes corresponding to the target subtasks and a pre-stored target satellite resource state table, acquiring calculation energy and calculation time delay consumed by the target satellite and a cooperative satellite corresponding to the target satellite for calculating the target subtasks;
determining a task computing satellite in the target satellite and the cooperative satellite based on the task attribute corresponding to the target subtask, the computing energy and the computing time delay;
and processing the target subtask based on the task computing satellite, and determining a computing result corresponding to the target subtask.
Optionally, before the dividing the received to-be-processed task and generating the sub-task set corresponding to the to-be-processed task, the method further includes:
acquiring satellite resource state information of the target satellite and a cooperative satellite corresponding to the target satellite every preset time;
updating a pre-stored satellite resource state table based on the satellite resource state information to generate the target satellite resource state table;
wherein the satellite resource state information comprises: the system comprises a central processing unit utilization rate, available internal memory, a solid-state storage space, a network load rate, the number of idle logic units of a field programmable gate array, the total number of cores of an available digital signal processor, a network input rate, a network output rate and satellite energy consumption data.
Optionally, the dividing the received to-be-processed task to generate a subtask set corresponding to the to-be-processed task includes:
dividing the task to be processed into a plurality of stages of sub-tasks according to the processing sequence corresponding to the task to be processed, and acquiring a calculation sequence corresponding to the stage sub-tasks;
dividing the stage subtasks to generate a subtask corresponding to each stage;
and generating the subtask set according to the subtasks of the multiple stages and the calculation sequence corresponding to the multiple stages.
Optionally, the obtaining of the target subtask in the subtask set includes:
and determining a target subtask in the subtask set according to the calculation order.
Optionally, the obtaining, based on the task attribute corresponding to the target subtask and a pre-stored target satellite resource state table, the calculation energy and the calculation time delay consumed by the target satellite and the cooperative satellite corresponding to the target satellite to calculate the target subtask includes:
acquiring first calculation energy and first calculation time delay corresponding to the target satellite according to the target satellite resource state table;
according to the target satellite resource state table, acquiring second calculation energy and second calculation time delay corresponding to a cooperative satellite, and transmitting a third energy and a third time delay consumed by the cooperative satellite to the target subtask by the target satellite;
and taking the energy sum value of the second calculated energy and the third energy as the calculated energy of the cooperative satellite, and taking the time delay sum value of the second calculated time delay and the third time delay as the calculated time delay of the cooperative satellite.
Optionally, after the processing the target subtask based on the task computing satellite and determining a computing result corresponding to the target subtask, the method further includes:
obtaining a calculation result corresponding to each subtask in the subtask set;
and determining a target calculation result of the task to be processed based on the calculation result corresponding to each subtask.
In order to solve the above technical problem, an embodiment of the present invention further provides a computing resource allocation apparatus, applied to a target satellite, where the apparatus includes:
the task set generation module is used for dividing the received tasks to be processed and generating a subtask set corresponding to the tasks to be processed;
the target task acquisition module is used for acquiring target subtasks in the subtask set;
an energy delay obtaining module, configured to obtain, based on a task attribute corresponding to the target subtask and a pre-stored target satellite resource state table, a calculation energy and a calculation delay consumed by the target satellite and a cooperative satellite corresponding to the target satellite to calculate the target subtask;
a task satellite determining module, configured to determine a task computing satellite in the target satellite and the cooperative satellite based on a task attribute corresponding to the target subtask, the computing energy, and the computing time delay;
and the calculation result determining module is used for processing the target subtask based on the task calculation satellite and determining a calculation result corresponding to the target subtask.
Optionally, the method further comprises:
the resource state acquisition module is used for acquiring satellite resource state information of the target satellite and the cooperative satellite corresponding to the target satellite every preset time;
the target state table generating module is used for updating a satellite resource state table stored in advance based on the satellite resource state information and generating the target satellite resource state table;
wherein the satellite resource state information comprises: the system comprises a central processing unit utilization rate, available internal memory, a solid-state storage space, a network load rate, the number of idle logic units of a field programmable gate array, the total number of cores of an available digital signal processor, a network input rate and satellite energy consumption data.
Optionally, the task set generating module includes:
the computing order acquiring unit is used for dividing the task to be processed into a plurality of stages of sub-tasks according to the processing order corresponding to the task to be processed and acquiring the computing order corresponding to the stage sub-tasks;
the subtask generating unit is used for dividing the phase subtasks to generate a subtask corresponding to each phase;
and the task set generating unit is used for generating the subtask set according to the subtasks of the multiple stages and the calculation sequence corresponding to the multiple stages.
Optionally, the target task obtaining module includes:
and the target task determining unit is used for determining the target subtasks in the subtask set according to the calculation sequence.
Optionally, the energy delay obtaining module includes:
a first time delay obtaining unit, configured to obtain, according to the target satellite resource state table, a first computation energy and a first computation time delay corresponding to the target satellite;
a second time delay obtaining unit, configured to obtain, according to the target satellite resource state table, second calculation energy and a second calculation time delay corresponding to a cooperative satellite, and a third energy and a third time delay consumed by the target satellite to send the target subtask to the cooperative satellite;
and an energy delay acquiring unit, configured to use an energy sum of the second calculated energy and the third energy as the calculated energy of the cooperative satellite, and use a delay sum of the second calculated delay and the third delay as the calculated delay of the cooperative satellite.
Optionally, the method further comprises:
the calculation result acquisition module is used for acquiring a calculation result corresponding to each subtask in the subtask set;
and the target result determining module is used for determining a target calculation result of the task to be processed based on the calculation result corresponding to each subtask.
Compared with the prior art, the invention has the advantages that:
the computing resource allocation method and device provided by the embodiment of the invention generate a subtask set corresponding to a task to be processed by dividing the received task to be processed, acquire a target subtask in the subtask set, acquire computing energy and computing time delay consumed by a target satellite and a cooperative satellite corresponding to the target satellite to compute the target subtask based on a task attribute corresponding to the target subtask and a pre-stored target satellite resource state table, determine task computing satellites in the target satellite and the cooperative satellite based on the task attribute, the computing energy and the computing time delay corresponding to the target subtask, process the target subtask based on the task computing satellite, and determine a computing result corresponding to the target subtask. The embodiment of the invention can realize the sharing of the satellite constellation computing resources, avoid the idle of the computing resources, realize the high-efficiency utilization of the space computing resources, improve the use efficiency of the load, improve the application efficiency of the whole satellite network and simultaneously improve the real-time performance of the delay sensitive application service. Secondly, the computing power of a single satellite is weak, once the single satellite is attacked or damaged, the task processing is directly interrupted, in order to process services more efficiently, the invention disperses the tasks to a diversified platform with reconfigurable functions and a plurality of satellites running in space, has stronger robustness and fault-tolerant capability on the whole, and improves the reliability of a satellite network system.
Drawings
FIG. 1 is a flowchart illustrating steps of a method for allocating computing resources according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a computing resource allocation apparatus according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, a flowchart illustrating steps of a computing resource allocation method according to an embodiment of the present invention is shown, and as shown in fig. 1, the computing resource allocation method may be applied to a target satellite, and specifically may include the following steps:
step 101: dividing the received tasks to be processed to generate a subtask set corresponding to the tasks to be processed.
The embodiment of the invention can be applied to a scene of distributing the computing tasks of the satellite.
In this embodiment, the satellite computing platform adopts a heterogeneous computing architecture in which an ARM (Advanced RISC Machines) is a main control unit, an FPGA (Field Programmable Gate Array) and a DSP (Digital Signal Processing) are computing units. The system comprises 3 computing units and 2 storage units, flexible data routing and interaction can be achieved through the two mainboards, each computing unit is provided with two DSPs and an FPGA, and each DSP is provided with 8 computing cores. All the computing resources realize full exchange of transmission data through a RapidIO protocol, and monitoring and time sequence control are performed through a control time bus.
The ARM runs the embedded real-time operating system, is responsible for task issuing and running a computing resource scheduling algorithm, maintains a resource state table by inquiring the use conditions of computing resources and storage resources, provides a resource allocation scheme for computing tasks, and is responsible for issuing the tasks to specific hardware for execution and feeding back execution results. Meanwhile, partial calculation functions such as coding and decoding can be performed.
The FPGA is divided into three parts: a management area, a data communication area, and a plurality of dynamically reconfigurable FPGA areas. The data communication area realizes network communication with the outside. The management area is an area which cannot be configured by a user and is responsible for memory allocation and management of the reconfigurable area.
The DSP runs a SYSBIOS operating system, wherein the Core0 responds to the configuration of a central node of the middleware, other DSP cores load different computing components, the communication of the components adopts task scheduling, and different tasks allocate different data and stack resources.
The target satellite is the satellite which needs to be divided into calculation tasks at present.
The task to be processed refers to a task which is received by the target satellite and needs to be calculated.
After the target satellite receives the task to be processed, the task to be processed may be divided to generate a subtask set corresponding to the task to be processed, where the subtask set includes a plurality of subtasks obtained by dividing the task to be processed, and specifically, the task dividing process may be described in detail in combination with the following specific implementation manner.
In a specific implementation manner of the present invention, the step 101 may include:
substep A1: and dividing the task to be processed into a plurality of stages of sub-tasks according to the processing sequence corresponding to the task to be processed, and acquiring the computing sequence corresponding to the stage sub-tasks.
In this embodiment, after the target satellite acquires the task to be processed, the task to be processed may be divided into phase subtasks in multiple phases according to a processing sequence corresponding to the task to be processed, and a calculation order of the phase subtasks is acquired, specifically, after the task to be processed is acquired, the task to be processed may be divided according to a principle that parallel processing is possible in the task to be processed, for example, the task in the same phase may be processed in parallel, and the task in different phases depends on a previous phase, and the task to be processed is divided into different phases { T1, …, TM }.
After dividing the task to be processed into the phase subtasks of the multiple phases, the calculation order corresponding to the phase subtasks may be obtained, for example, the phase subtasks include: the calculation sequence of the three subtasks is arranged from first to last, and the three subtasks are sequentially as follows: the subtask B, the subtask a, and the subtask C, then, in the specific calculation process, the subtask B needs to be calculated first, the subtask a can be executed only after the calculation of the subtask B is completed, and the subtask C can be executed only after the calculation of the subtask a is completed.
It should be understood that the above examples are only examples for better understanding of the technical solutions of the embodiments of the present application, and are not to be taken as the only limitation to the embodiments.
After the task to be processed is divided into the phase subtasks of the multiple phases and the calculation order corresponding to the phase subtasks is obtained, sub-step a2 is performed.
Substep A2: and dividing the stage subtasks to generate a subtask corresponding to each stage.
After dividing the task to be processed into multiple stages of sub-tasks and obtaining the computing order corresponding to the stage sub-tasks, the sub-tasks of each stage may be divided to generate multiple sub-tasks of each stage, for example, after dividing into multiple stages { T1, …, TM } in sub-step a1, each stage is further divided into different sub-tasks { { T11, T12, … }, { T21, T22, … }, { T31, T32, … } }, and the computing resources required by each sub-task are estimated, and each sub-task is matched with the computing resources of neighboring nodes, so as to provide support for parallel processing of distribution and distribution of the sub-tasks.
After the stage subtasks are divided to generate a subtask corresponding to each stage, substep a3 is performed.
Substep a 3: and generating the subtask set according to the subtasks of the multiple stages and the calculation sequence corresponding to the multiple stages.
After generating the subtasks corresponding to each stage, a set of subtasks may be generated according to the assignments of the stages and the calculation order corresponding to the stages.
After dividing the received task to be processed and generating a sub-task set corresponding to the task to be processed, step 102 is executed.
Step 102: and acquiring a target subtask in the subtask set.
The target subtask refers to a subtask that needs to be calculated currently in the subtask set, and it can be understood that the target subtask may be one subtask or multiple subtasks, and the target subtask is a subtask that can be processed in parallel in the same stage.
After dividing the received to-be-processed task and generating a subtask set corresponding to the to-be-processed task, a target subtask in the subtask set may be obtained, and specifically, detailed description may be performed in combination with the following specific implementation manner.
In another specific implementation manner of the present invention, the step 102 may further include:
substep B1: and determining a target subtask in the subtask set according to the calculation order.
In this embodiment, after dividing the task to be processed into multiple sub-tasks in multiple stages, the target sub-task in the sub-task set may be obtained according to the computation order corresponding to the multiple stages, and as can be understood, the sub-tasks in each stage may be processed in parallel, while the sub-tasks in different stages are divided by the execution order, and when performing sub-task division, the sub-tasks in different stages need to be executed in sequence in combination with the computation order corresponding to each stage.
After the target subtask in the subtask set is obtained, step 103 is executed.
Step 103: and acquiring the calculation energy and the calculation time delay consumed by the target satellite and the cooperative satellite corresponding to the target satellite for calculating the target subtask based on the task attribute corresponding to the target subtask and a pre-stored target satellite resource state table.
The task attribute refers to attribute information of the target subtask, and in this embodiment, the task attribute may include the following attribute information:
subtask attribute T1{ latency requirement: 20ms, the calculation requirement: DSP dual core, communication data volume requirement: forward 50Mbps, return 5Mbps, data read position: solid state disk 0x00002000, data size 100Mbit, storage requirement: 200Mbit, task input: image, task output: image, pre-tasking: none, task return location: this star }
Subtask attribute T2{ latency requirement: 10ms, calculation requirement: FPGA, communication data volume requires forward 5Mbps, returns to 1Mbps), and the data reads the position: shared memory, data size 10Mbit, storage requirement: 20Mbit, task input: image, task output: image, pre-tasking: t1, task return position: this star }
Subtask attribute T3{ delay requirement 5ms, calculation requirement: CPU, communication data volume requirement: forward 1Mbps, backward 0.1Mbps, data read position: shared memory, data size 2Mbit, storage requirement: 10Mbit, task input: image, task output: data flow, pre-task T2, task return location: ground station }.
And adding the subtasks into the local task queue { T1, T2, T3 }.
The target satellite resource state table is a table formed by resource state information of a target satellite and a cooperative satellite related to the target satellite, which are locally stored by the target satellite.
The generation process for the target satellite resource status table can be described in detail in conjunction with the following specific implementation.
In another specific implementation manner of the present application, before the step 101, the method may further include:
step C1: and acquiring satellite resource state information of the target satellite and the cooperative satellite corresponding to the target satellite every preset time.
In this embodiment, the satellite resource status information includes: the system comprises a central processing unit utilization rate, available internal memory, a solid-state storage space, a network load rate, the number of idle logic units of a field programmable gate array, the total number of cores of an available digital signal processor, a network input rate, a network output rate and satellite energy consumption data.
Sensing satellite computing resources and maintaining a satellite resource state table around the satellite in the constellation, and monitoring and updating the satellite resource state table in real time by adopting a timing polling mode;
the cooperative computing satellite set S may be { S0, S1, S2, S3, S4}, where S0 is a local satellite and { S1, S2, S3, S4} is a one-hop reachable satellite set, and peripheral computing resources, communication resources, and power resources are periodically acquired to form a resource state information list, and the content of the { S0, S1, S2, S3, S4} resource state information list is as follows:
(a) CPU utilization: 10 percent of
(b) Available space for memory: 256MB (million)
(c) Solid-state storage space: 0.98Tbit
(d) Network load rate: 20 percent of
(e) Number of idle logic cells of FPGA: 6400
(f) Total number of available DSP cores: 16
(g) Network input rate: 100Mbps
(h) Network output rate: 100 Mbps.
In this embodiment, the local satellite resource state table of the target satellite is generated in real time by polling the local satellite resource state table of the satellite every preset time.
Step C2: and updating a pre-stored satellite resource state table based on the satellite resource state information to generate the target satellite resource state table.
After the satellite resource state information is acquired, a satellite resource state table pre-saved locally to the target satellite may be updated based on the satellite resource state information to generate a target satellite resource state table.
The calculation energy refers to energy consumed by the target satellite and the cooperative satellite corresponding to the target satellite to calculate the target subtask.
The calculation time delay refers to the time delay of the target satellite and the cooperative satellite corresponding to the target satellite for calculating the target subtask.
In a specific implementation, whether a task exists in the task queue can be checked first, and if the task does not exist, the system always checks the task queue. The task T1 of the preferential calculation is taken as a target subtask. According to energy consumption and time delay of completing the calculation task, task resource allocation decision is calculated, and decision results are divided into 2 conditions of local star execution and other star execution:
the method comprises the steps of judging one by one from a task cache queue received locally, waiting if a preorder task is not finished, sequencing the tasks according to the time delay requirement if the preorder task is not finished, and distributing computing resources for the tasks with high time delay requirement in sequence, wherein the available satellite set { S0, S1, S2, S3 and S4 }.
After the target subtask is obtained, the calculation energy and the calculation time delay consumed by the target satellite and the cooperative satellite corresponding to the target satellite to calculate the target subtask may be obtained according to the task attribute of the target subtask and a target satellite resource state table stored in advance, and specifically, the following specific implementation manner may be combined for detailed description.
In another specific implementation manner of the present invention, the step 103 may include:
sub-step D1: and acquiring first calculation energy and first calculation time delay corresponding to the target satellite according to the target satellite resource state table.
In this embodiment, the first calculation energy refers to energy consumed by the target satellite to calculate the target subtask.
The first calculated time delay refers to the time delay for the target satellite to calculate the target subtask.
After the target subtask is obtained, satellite resource state information of the target satellite can be obtained according to the target satellite resource state table, and then first calculation energy and first calculation time delay corresponding to the target satellite are determined by combining the satellite resource state information of the target satellite.
Substep D2: and acquiring second calculation energy and second calculation time delay corresponding to the cooperative satellite according to the target satellite resource state table, and transmitting a third energy and a third time delay consumed by the cooperative satellite by the target satellite to the target subtask.
The second computing energy is energy consumed by the cooperative satellite computing target subtasks.
The second calculated time delay refers to the time delay of the cooperative satellite to calculate the target subtask.
The third energy is the energy consumed by the target satellite to send the target subtasks to the cooperating satellite.
The third time delay refers to the time delay of the target satellite sending the target subtask to the cooperative satellite.
After the target subtask is obtained, satellite resource state information of the cooperative satellite can be obtained according to the target satellite resource state table, and then second calculation energy and second calculation time delay corresponding to the cooperative satellite can be obtained by combining the satellite resource state information of the cooperative satellite. Then, according to the target satellite resource state table, satellite resource state information of the target satellite can be obtained, and third energy and third time delay for the target satellite to send the target subtask to the cooperative satellite can be determined according to the satellite resource state information of the target satellite.
Substep D3: and taking the energy sum value of the second calculated energy and the third energy as the calculated energy of the cooperative satellite, and taking the time delay sum value of the second calculated time delay and the third time delay as the calculated time delay of the cooperative satellite.
After the second calculated energy and the third energy are obtained, an energy sum of the second calculated energy and the third energy may be calculated, and the energy sum may be used as the calculated energy of the cooperative satellite.
After the second calculated time delay and the third time delay are obtained, a time delay sum value of the second calculated time delay and the third time delay can be calculated, and then the time delay sum value is used as the calculated time delay of the cooperative satellite.
Specifically, according to a resource state information list maintained by the satellite, task requirement resources are matched with computing resources of each satellite Si of the satellite set S, the satellite with the satisfied computing, storage and transmission resources is a satellite capable of computing, and in each satellite Si with the satisfied resources, the total time delay Td of the satellite Si for executing the computing task and the total power consumption of the computing task are respectively computed.
Calculating the total time delay:
Td=Dt+Dr+C+W
wherein Dt is the forward transmission time delay between the task satellite and the calculation satellite; dr is used for calculating the return transmission time delay from the satellite to the node where the task returns and needs to return; w is waiting scheduling delay; and C, calculating time delay for the satellite, wherein the processing time of the subtask is obtained by task configuration.
The calculation method of the transmission delay Dt comprises the following steps: the amount of task input data divided by the available channel rate; dr is calculated by the following method: the amount of task output data is divided by the available channel rate.
Total calculated total power:
P=Pr+Pt+Pc
wherein Pt is the data transmission power consumption calculated when the task is sent to other satellites, Pr is the power consumption of data returned by a task sending calculation method, and Pc is the processing power consumption calculated by the task.
And V, total scheduling: v Td + a P
The value of a is related to system setting, if time delay is preferred, a is 0.1, and if power is preferred, a is 0.9
And selecting the satellite with the smallest total scheduling V for task calculation.
The reallocation of the computing unit mainly comprises the reconfiguration of the FPGA and the DSP, the reconfiguration of the FPGA is mainly realized by configuring through a Slave Select Map interface according to a program of a loading area, the reconfiguration of the DSP is completed by loading different running programs of a Flash area, and a configuration file is a related target execution program stored in the Flash.
After the configuration of the computing unit is completed, the data flow path needs to be configured, the reconfiguration of the data link mainly controls RapidIO, and meanwhile, the data link supports peer-to-peer interconnection, so that different tasks can run in parallel and independently.
After the calculation energy and the calculation time delay consumed by the target satellite and the cooperative satellite corresponding to the target satellite to calculate the target subtask are acquired, step 104 is executed.
Step 104: and determining task computing satellites in the target satellite and the cooperative satellite based on the task attributes corresponding to the target subtasks, the computing energy and the computing time delay.
The task computing satellite is a satellite which is determined from a target satellite and a cooperative satellite corresponding to the target satellite and used for computing a target subtask.
After the calculation energy and the calculation time delay consumed by the target satellite and the cooperative satellite corresponding to the target satellite to calculate the target subtask are obtained, the task calculation satellites in the target satellite and the cooperative satellites in the cooperative satellite may be determined according to the task attribute, the calculation energy and the calculation time delay of the target subtask.
After determining the task computing satellite of the target satellite and the cooperative satellite based on the task attribute, the computing energy and the computing time delay corresponding to the target subtask, step 105 is performed.
Step 105: and processing the target subtask based on the task computing satellite, and determining a computing result corresponding to the target subtask.
After the task computing satellite corresponding to the target subtask is determined, the target subtask can be computed by the task computing satellite, and specifically, when the task computing satellite is the target satellite, the target satellite can directly compute the task computing satellite to obtain a computation result. And when the task computing satellite is the target satellite, the target satellite can send the target subtask to the cooperative satellite, the cooperative satellite further computes the target subtask to obtain a computation result, and the cooperative satellite returns the computation result to the target satellite.
After the task computing satellite completes the computation of the target subtask, the computing resources are released at the same time, and the computing resource state list is updated.
The process of obtaining the target calculation result of the task to be processed may be described in detail with reference to the following specific implementation manner.
In another specific implementation manner of the present invention, after the step 105, the method may further include:
step E1: and acquiring a calculation result corresponding to each subtask in the subtask set.
In this embodiment, the calculation result of each subtask in the subtask set may be obtained in the above manner, and then step E2 is executed.
Step E2: and determining a target calculation result of the task to be processed based on the calculation result corresponding to each subtask.
After the calculation result of each subtask in the subtask set is obtained, the target calculation result of the task to be processed can be finally determined by combining the calculation result of each subtask.
The computing resource allocation method provided by the embodiment of the invention comprises the steps of dividing a received task to be processed to generate a subtask set corresponding to the task to be processed, acquiring a target subtask in the subtask set, acquiring computing energy and computing time delay consumed by a target satellite and a cooperative satellite corresponding to the target satellite for computing the target subtask based on a task attribute corresponding to the target subtask and a pre-stored target satellite resource state table, determining task computing satellites in the target satellite and the cooperative satellite based on the task attribute, the computing energy and the computing time delay corresponding to the target subtask, processing the target subtask based on the task computing satellite, and determining a computing result corresponding to the target subtask. The embodiment of the invention can realize the sharing of the satellite constellation computing resources, avoid the idle of the computing resources, realize the high-efficiency utilization of the space computing resources, improve the use efficiency of the load, improve the application efficiency of the whole satellite network and simultaneously improve the real-time performance of the delay sensitive application service. Secondly, the computing power of a single satellite is weak, once the single satellite is attacked or damaged, the task processing is directly interrupted, in order to process services more efficiently, the invention disperses the tasks to a diversified platform with reconfigurable functions and a plurality of satellites running in space, has stronger robustness and fault-tolerant capability on the whole, and improves the reliability of a satellite network system.
Referring to fig. 2, a schematic structural diagram of a computing resource allocation apparatus according to an embodiment of the present invention is shown, and as shown in fig. 2, the computing resource allocation apparatus may be applied to a target satellite, and specifically includes the following modules:
a task set generating module 210, configured to divide a received task to be processed, and generate a sub-task set corresponding to the task to be processed;
a target task obtaining module 220, configured to obtain a target subtask in the subtask set;
an energy delay obtaining module 230, configured to obtain, based on a task attribute corresponding to the target subtask and a pre-stored target satellite resource state table, a calculation energy and a calculation delay consumed by the target satellite and a cooperative satellite corresponding to the target satellite to calculate the target subtask;
a task satellite determining module 240, configured to determine a task computing satellite in the target satellite and the cooperative satellite based on a task attribute corresponding to the target subtask, the computing energy, and the computing time delay;
and a calculation result determining module 250, configured to process the target subtask based on the task computing satellite, and determine a calculation result corresponding to the target subtask.
Optionally, the method further comprises:
the resource state acquisition module is used for acquiring satellite resource state information of the target satellite and the cooperative satellite corresponding to the target satellite every preset time;
the target state table generating module is used for updating a satellite resource state table stored in advance based on the satellite resource state information and generating the target satellite resource state table;
wherein the satellite resource state information comprises: the system comprises a central processing unit utilization rate, available internal memory, a solid-state storage space, a network load rate, the number of idle logic units of a field programmable gate array, the total number of cores of an available digital signal processor, a network input rate and satellite energy consumption data.
Optionally, the task set generating module 210 includes:
the computing sequence acquiring unit is used for dividing the task to be processed into a plurality of stages of sub-tasks according to the processing sequence corresponding to the task to be processed and acquiring the computing sequence corresponding to the sub-tasks;
the subtask generating unit is used for dividing the phase subtasks to generate a subtask corresponding to each phase;
and the task set generating unit is used for generating the subtask set according to the subtasks of the multiple stages and the calculation sequence corresponding to the multiple stages.
Optionally, the target task obtaining module 220 includes:
and the target task determining unit is used for determining the target subtasks in the subtask set according to the calculation sequence.
Optionally, the energy delay obtaining module 230 includes:
a first time delay obtaining unit, configured to obtain, according to the target satellite resource state table, a first computation energy and a first computation time delay corresponding to the target satellite;
a second time delay obtaining unit, configured to obtain, according to the target satellite resource state table, second computation energy and second computation time delay corresponding to a cooperative satellite, and third energy and third time delay consumed when the target satellite sends the target subtask to the cooperative satellite;
and an energy delay acquiring unit, configured to use an energy sum of the second calculated energy and the third energy as the calculated energy of the cooperative satellite, and use a delay sum of the second calculated delay and the third delay as the calculated delay of the cooperative satellite.
Optionally, the method further comprises:
the calculation result acquisition module is used for acquiring a calculation result corresponding to each subtask in the subtask set;
and the target result determining module is used for determining a target calculation result of the task to be processed based on the calculation result corresponding to each subtask.
The computing resource allocation device provided by the embodiment of the invention generates a subtask set corresponding to a task to be processed by dividing the received task to be processed, acquires a target subtask in the subtask set, acquires computing energy and computing time delay consumed by a target satellite and a cooperative satellite corresponding to the target satellite for computing the target subtask based on a task attribute corresponding to the target subtask and a pre-stored target satellite resource state table, determines task computing satellites in the target satellite and the cooperative satellite based on the task attribute, the computing energy and the computing time delay corresponding to the target subtask, processes the target subtask based on the task computing satellite, and determines a computing result corresponding to the target subtask. The embodiment of the invention can realize the sharing of the satellite constellation computing resources, avoid the idle of the computing resources, realize the high-efficiency utilization of the space computing resources, improve the use efficiency of the load, improve the application efficiency of the whole satellite network and simultaneously improve the real-time performance of the delay sensitive application service. Secondly, the computing power of a single satellite is weak, once the single satellite is attacked or damaged, the task processing is directly interrupted, in order to process services more efficiently, the invention disperses the tasks to a diversified platform with reconfigurable functions and a plurality of satellites running in space, has stronger robustness and fault-tolerant capability on the whole, and improves the reliability of a satellite network system.
While the present invention has been described with reference to the embodiments shown in the drawings, the present invention is not limited to the embodiments, which are illustrative and not restrictive, and it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the invention as defined in the appended claims.
Claims (12)
1. A method for allocating computing resources, applied to a target satellite, the method comprising:
dividing received tasks to be processed to generate a subtask set corresponding to the tasks to be processed; after the target satellite acquires the tasks to be processed, dividing the tasks to be processed according to the principle that the tasks to be processed can be processed in parallel;
acquiring a target subtask in the subtask set;
based on task attributes corresponding to the target subtasks and a pre-stored target satellite resource state table, acquiring calculation energy and calculation time delay consumed by the target satellite and a cooperative satellite corresponding to the target satellite for calculating the target subtasks;
determining a task computing satellite in the target satellite and the cooperative satellite based on the task attribute corresponding to the target subtask, the computing energy and the computing time delay;
processing the target subtask based on the task computing satellite, and determining a computing result corresponding to the target subtask;
the task computing satellites in the target satellite and the cooperative satellite are determined as follows:
the total time delay Td for the satellite Si to perform the calculation task satisfies:
Td=Dt+Dr+C+W
wherein Dt is forward transmission time delay between the task satellite and the task computing satellite; dr calculates the return transmission time delay from the satellite to the node where the task needs to return for the task; w is waiting scheduling delay; c, calculating time delay for the satellite;
the total calculated total power P of the satellite Si performing the calculation tasks satisfies:
P=Pr+Pt+Pc
wherein, Pt is the data transmission power consumption of the task sent to other satellites for calculation, Pr is the power consumption of the returned data, and Pc is the processing power consumption of the task calculation;
and V, total scheduling: v Td + a P
The value of a is related to system setting, if the time delay is preferred, a is 0.1, and if the power is preferred, a is 0.9;
and selecting the satellite with the smallest total scheduling V for task calculation.
2. The method according to claim 1, wherein before the dividing the received to-be-processed task and generating the sub-task set corresponding to the to-be-processed task, the method further comprises:
acquiring satellite resource state information of the target satellite and a cooperative satellite corresponding to the target satellite every preset time;
updating a pre-stored satellite resource state table based on the satellite resource state information to generate the target satellite resource state table;
wherein the satellite resource state information comprises: central processing unit utilization, available memory, solid state storage space, network load rate, number of free logic units of the field programmable gate array, total number of cores of the available digital signal processor, network input rate, network output rate, and satellite energy consumption data.
3. The method according to claim 1, wherein the dividing the received to-be-processed task to generate the sub-task set corresponding to the to-be-processed task comprises:
dividing the task to be processed into a plurality of stages of sub-tasks according to the processing sequence corresponding to the task to be processed, and acquiring a calculation sequence corresponding to the stage sub-tasks;
dividing the stage subtasks to generate a subtask corresponding to each stage;
and generating the subtask set according to the subtasks of the multiple stages and the calculation sequence corresponding to the multiple stages.
4. The method of claim 3, wherein obtaining the target subtask in the set of subtasks comprises:
and determining a target subtask in the subtask set according to the calculation order.
5. The method of claim 1, wherein the obtaining of the computation energy and the computation time delay consumed by the target satellite and the cooperative satellite corresponding to the target satellite to compute the target subtask based on the task attribute corresponding to the target subtask and a pre-stored target satellite resource state table comprises:
acquiring first calculation energy and first calculation time delay corresponding to the target satellite according to the target satellite resource state table;
according to the target satellite resource state table, acquiring second calculation energy and second calculation time delay corresponding to a cooperative satellite, and transmitting a third energy and a third time delay consumed by the cooperative satellite to the target subtask by the target satellite;
and taking the energy sum value of the second calculated energy and the third energy as the calculated energy of the cooperative satellite, and taking the time delay sum value of the second calculated time delay and the third time delay as the calculated time delay of the cooperative satellite.
6. The method of claim 1, wherein after said processing said target subtask based on said task computing satellite and determining a corresponding computation result for said target subtask, further comprising:
obtaining a calculation result corresponding to each subtask in the subtask set;
and determining a target calculation result of the task to be processed based on the calculation result corresponding to each subtask.
7. A computing resource allocation apparatus, for application to a target satellite, the apparatus comprising:
the task set generation module is used for dividing the received tasks to be processed and generating a subtask set corresponding to the tasks to be processed;
the target task acquisition module is used for acquiring target subtasks in the subtask set;
an energy delay obtaining module, configured to obtain, based on a task attribute corresponding to the target subtask and a pre-stored target satellite resource state table, a calculation energy and a calculation delay consumed by the target satellite and a cooperative satellite corresponding to the target satellite to calculate the target subtask;
a task satellite determining module, configured to determine a task computing satellite in the target satellite and the cooperative satellite based on a task attribute corresponding to the target subtask, the computing energy, and the computing time delay;
and the calculation result determining module is used for processing the target subtask based on the task calculation satellite and determining a calculation result corresponding to the target subtask.
8. The apparatus of claim 7, further comprising:
the resource state acquisition module is used for acquiring satellite resource state information of the target satellite and the cooperative satellite corresponding to the target satellite every preset time;
the target state table generating module is used for updating a satellite resource state table stored in advance based on the satellite resource state information and generating the target satellite resource state table;
wherein the satellite resource state information comprises: central processing unit utilization, available memory, solid state storage space, network load rate, number of free logic units of the field programmable gate array, total number of cores of the available digital signal processor, network input rate, network output rate, and satellite energy consumption data.
9. The apparatus of claim 7, wherein the task set generation module comprises:
the computing order acquiring unit is used for dividing the task to be processed into a plurality of stages of sub-tasks according to the processing order corresponding to the task to be processed and acquiring the computing order corresponding to the stage sub-tasks;
the subtask generating unit is used for dividing the phase subtasks to generate a subtask corresponding to each phase;
and the task set generating unit is used for generating the subtask set according to the subtasks of the multiple stages and the calculation sequence corresponding to the multiple stages.
10. The apparatus of claim 9, wherein the target task obtaining module comprises:
and the target task determining unit is used for determining the target subtasks in the subtask set according to the calculation sequence.
11. The apparatus of claim 7, wherein the energy delay obtaining module comprises:
a first time delay obtaining unit, configured to obtain, according to the target satellite resource state table, a first computation energy and a first computation time delay corresponding to the target satellite;
a second time delay obtaining unit, configured to obtain, according to the target satellite resource state table, second computation energy and second computation time delay corresponding to a cooperative satellite, and third energy and third time delay consumed when the target satellite sends the target subtask to the cooperative satellite;
and an energy delay acquiring unit, configured to use an energy sum of the second calculated energy and the third energy as the calculated energy of the cooperative satellite, and use a delay sum of the second calculated delay and the third delay as the calculated delay of the cooperative satellite.
12. The apparatus of claim 7, further comprising:
the calculation result acquisition module is used for acquiring a calculation result corresponding to each subtask in the subtask set;
and the target result determining module is used for determining a target calculation result of the task to be processed based on the calculation result corresponding to each subtask.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010976158.8A CN112260743B (en) | 2020-09-16 | 2020-09-16 | Computing resource allocation method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010976158.8A CN112260743B (en) | 2020-09-16 | 2020-09-16 | Computing resource allocation method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112260743A CN112260743A (en) | 2021-01-22 |
CN112260743B true CN112260743B (en) | 2022-08-12 |
Family
ID=74232937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010976158.8A Active CN112260743B (en) | 2020-09-16 | 2020-09-16 | Computing resource allocation method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112260743B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947199B (en) * | 2021-02-24 | 2022-06-03 | 中国空间技术研究院 | Comprehensive electronic system for complex multi-load satellite |
CN113271137A (en) * | 2021-04-16 | 2021-08-17 | 中国电子科技集团公司电子科学研究院 | Cooperative processing method and storage medium for space-based network heterogeneous computational power resources |
CN113608861B (en) * | 2021-06-25 | 2023-11-10 | 西安空间无线电技术研究所 | Virtualized distribution method and device for software load computing resources |
CN113938176B (en) * | 2021-08-26 | 2024-07-12 | 西安空间无线电技术研究所 | Low-delay service space-based calculation method |
CN115250142B (en) * | 2021-12-31 | 2023-12-05 | 中国科学院上海微系统与信息技术研究所 | Star-earth fusion network multi-node computing resource allocation method based on deep reinforcement learning |
CN115580342B (en) * | 2022-11-17 | 2023-04-04 | 成都国恒空间技术工程股份有限公司 | Aerospace information acquisition method and system based on intelligent networking |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105654220A (en) * | 2014-11-27 | 2016-06-08 | 航天恒星科技有限公司 | Multi-satellite combined observation method and system |
CN107343025A (en) * | 2017-06-07 | 2017-11-10 | 西安电子科技大学 | Time delay optimization method under the distributed satellites cloud and mist network architecture and power consumption constraint |
CN109933423A (en) * | 2018-12-31 | 2019-06-25 | 中国科学院软件研究所 | A kind of more satellite resource planing methods being performed in unison with complex task |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4117199A1 (en) * | 2017-10-20 | 2023-01-11 | Hawkeye 360, Inc. | Method and scheduling system of a plurality of hierarchical tasks for a satellite system |
-
2020
- 2020-09-16 CN CN202010976158.8A patent/CN112260743B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105654220A (en) * | 2014-11-27 | 2016-06-08 | 航天恒星科技有限公司 | Multi-satellite combined observation method and system |
CN107343025A (en) * | 2017-06-07 | 2017-11-10 | 西安电子科技大学 | Time delay optimization method under the distributed satellites cloud and mist network architecture and power consumption constraint |
CN109933423A (en) * | 2018-12-31 | 2019-06-25 | 中国科学院软件研究所 | A kind of more satellite resource planing methods being performed in unison with complex task |
Non-Patent Citations (2)
Title |
---|
"卫星网络虚拟化资源管理技术研究";翟伟亭;《中国优秀硕士学位论文全文库》;20200215;第11-12页,23-24页 * |
分布式卫星云雾网络及时延与能耗策略;任智源等;《浙江大学学报(工学版)》;20180823;第52卷(第08期);第1475页-1478页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112260743A (en) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112260743B (en) | Computing resource allocation method and device | |
Meng et al. | Dedas: Online task dispatching and scheduling with bandwidth constraint in edge computing | |
CN110119311B (en) | Distributed stream computing system acceleration method based on FPGA | |
US8812880B2 (en) | Multiprocessor system and multigrain parallelizing compiler | |
US20210073169A1 (en) | On-chip heterogeneous ai processor | |
Castilhos et al. | Distributed resource management in NoC-based MPSoCs with dynamic cluster sizes | |
CN113938442A (en) | Configuration method, device and equipment of reserved resources and storage medium | |
CN111158790B (en) | FPGA virtualization method for cloud deep learning reasoning | |
Kaushik et al. | Computation and communication aware run-time mapping for NoC-based MPSoC platforms | |
Cho et al. | Scheduling parallel real-time tasks on the minimum number of processors | |
CN115562846A (en) | Resource scheduling method and device and computing node | |
CN113886058A (en) | Cross-cluster resource scheduling method and device | |
US11042413B1 (en) | Dynamic allocation of FPGA resources | |
WO2020108337A1 (en) | Cpu resource scheduling method and electronic equipment | |
Faragardi et al. | A time-predictable fog-integrated cloud framework: One step forward in the deployment of a smart factory | |
CN117435324B (en) | Task scheduling method based on containerization | |
CN116402318B (en) | Multi-stage computing power resource distribution method and device for power distribution network and network architecture | |
Benini et al. | Resource management policy handling multiple use-cases in mpsoc platforms using constraint programming | |
CN114510325A (en) | Task scheduling method, device and system | |
Basanta-Val et al. | A synchronous scheduling service for distributed real-time Java | |
Yang et al. | An offloading strategy based on cloud and edge computing for industrial Internet | |
CN113608861B (en) | Virtualized distribution method and device for software load computing resources | |
WO2022111466A1 (en) | Task scheduling method, control method, electronic device and computer-readable medium | |
Winter et al. | A network-on-chip channel allocator for run-time task scheduling in multi-processor system-on-chips | |
CN115408122A (en) | Decentralized distributed parallel computing framework and computing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |