CN113608861A - Software load computing resource virtualization distribution method and device - Google Patents
Software load computing resource virtualization distribution method and device Download PDFInfo
- Publication number
- CN113608861A CN113608861A CN202110710511.2A CN202110710511A CN113608861A CN 113608861 A CN113608861 A CN 113608861A CN 202110710511 A CN202110710511 A CN 202110710511A CN 113608861 A CN113608861 A CN 113608861A
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- computing
- processor
- satellite
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 76
- 238000012544 monitoring process Methods 0.000 claims abstract description 37
- 230000003993 interaction Effects 0.000 claims abstract description 14
- 238000004891 communication Methods 0.000 claims description 67
- 238000003672 processing method Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000003287 optical effect Effects 0.000 claims description 3
- 238000012805 post-processing Methods 0.000 claims 1
- 238000007781 pre-processing Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Radio Relay Systems (AREA)
Abstract
The invention discloses a software load computing resource virtualization distribution method and device. The method comprises the following steps: monitoring a task waiting state, a task processing state and a heterogeneous computing resource using state of the satellite-borne computing platform; performing virtualization processing on the satellite-borne computing platform heterogeneous computing resources according to the task state to be processed; dynamically allocating or redistributing the heterogeneous computing resources of the satellite-borne computing platform according to the monitoring data and the processing task requirements; deploying a processing task according to a dynamic redistribution result of the hardware computing resources; and configuring the heterogeneous computing resource subscription and release client according to the processing task deployment mode, so as to realize the interaction of data before and after processing. The invention provides a virtualization method for controlling and dynamically reconstructing various heterogeneous processes such as a field programmable gate array, a digital signal processor, a general processor and the like, and solves the problem of high-efficiency realization of the virtualization of a satellite-borne computing platform.
Description
Technical Field
The invention relates to the technical field of satellite load computing resource virtualization, in particular to a computing resource virtualization distribution method and device.
Background
Under a complex task environment, a satellite load system is required to quickly adapt to a complex dynamic environment and task requirements, for example, switching between different functional waveforms is quickly performed to realize different processing processes, a load designed by taking a hardware platform as a center and facing a special function is difficult to meet application requirements, and how to construct a load system taking a software service as a center is difficult to solve, so that the load system has extensible hardware recombination capability and software reconfiguration capability based on virtualization, meets the requirements of current and future satellite computing task expansion, and is a problem to be solved.
Virtualization is the configuration and management of hardware resources, and virtualization technology realizes the logical separation of service acquisition and physical resources actually providing services, so that the service acquisition and physical resources have the first step of the capability of defining requirements, which is also the most important step. The satellite load computing platform based on virtualization is suitable for the deployment and execution of various functional tasks by providing functional application services thereon, and adopts the design of generalization, modularization, standardization and networking to make the platform have the capability of expandability, upgradability and evolveability. Compared with the general CPU computing resources of a desktop system, the satellite load system consists of a large number of heterogeneous processing resources, including FPGA resources which are good at logic processing, DSP resources which are good at floating point operation and CPU resources which are good at real-time computing. At present, the development of virtualization in desktop systems is relatively mature, and how to implement virtualization of resources in embedded systems of a plurality of heterogeneous processors is a key technology for supporting next-generation satellite load processing platforms. The invention provides a method for realizing a virtualization technology of a satellite-borne heterogeneous load, which realizes the control and dynamic reconstruction of various heterogeneous processes such as an FPGA (field programmable gate array), a DSP (digital signal processor), a general processor and the like based on an operating system and solves the problem of high-efficiency realization of the virtualization of the satellite-borne computing platform.
Disclosure of Invention
The technical problem solved by the invention is as follows: the defects of the prior art are overcome, a computing resource virtualization distribution method and a computing resource virtualization distribution device are provided, and the problem of flexible use of satellite-borne heterogeneous computing resources is solved.
The technical solution of the invention is as follows:
in a first aspect, a software-based load computing resource virtualization allocation method includes the following steps:
1) monitoring the task state of the satellite-borne computing platform and the use state of heterogeneous computing resources of the satellite-borne computing platform to obtain monitoring data; the task states include: the state of the task to be processed and the state of the task being processed;
2) according to the task state, performing virtualization processing on the satellite-borne computing platform heterogeneous computing resources to obtain a heterogeneous computing resource virtualization division result;
3) dynamically allocating the satellite-borne computing platform heterogeneous computing resources according to the task state and heterogeneous computing resource use state monitoring data obtained in the step 1) and the heterogeneous computing resource virtualization division result obtained in the step 2), and obtaining an allocation scheme of the satellite-borne computing platform heterogeneous computing resources and using the allocation scheme as a hardware computing resource dynamic allocation result;
4) deploying the tasks to be processed and the tasks being processed according to the dynamic allocation result of the hardware computing resources in the step 3) to obtain a deployment mode of the processing tasks;
5) and (4) configuring a subscription and release client on the heterogeneous processor according to the deployment mode of the processing task in the step 4), so as to realize the interaction of data before and after processing.
Optionally, the heterogeneous computing resources comprise: the field programmable gate array, the digital signal processor and the general processor correspond to the processing resources.
Optionally, the method for performing virtualization processing on the satellite-borne computing platform heterogeneous computing resource in step 2) includes: a method of virtualization processing of a field programmable gate array, a method of virtualization processing of a digital signal processor, and a method of virtualization processing of a general purpose processor;
the method for the virtualization processing of the field programmable gate array comprises the following steps: dividing the logic resources of the field programmable gate array into a high-speed communication client implementation area and a plurality of virtualization computing resource areas according to the task state, wherein the virtualization computing resource areas communicate with the outside through the communication client;
the virtualization processing method of the digital signal processor comprises the following steps: and according to the task state, information is transmitted and received based on the special digital signal processor task, and the residual virtualized computing resource is distributed as a virtual resource.
The virtualization processing method of the general processor comprises the following steps: and carrying out division of virtualized computing resources based on the embedded operating system.
Optionally, the method for monitoring the task state of the satellite-borne computing platform and the usage state of the heterogeneous computing resource of the satellite-borne computing platform in step 1) includes:
monitoring and obtaining the number of idle area resources of each field programmable gate array FPGA and the data communication rate of the task being processed;
monitoring and obtaining the total resource number of each available digital signal processor and the data communication rate of the task being processed by the available digital signal processor;
the total number of resources for each available general purpose processor and the data communication rate at which the available general purpose processor is processing the task are monitored and obtained.
And when the task to be processed exists, acquiring the time delay requirement, the calculation requirement and the data communication requirement of the task to be processed according to the task configuration file to be processed.
Optionally, the method for dynamically allocating heterogeneous computing resources of the satellite-borne computing platform in step 3) includes: a dynamic allocation method of a general processor and a digital signal processor, and a dynamic allocation method in a field programmable gate array.
Optionally, the dynamic allocation method of the general processor and the digital signal processor specifically includes:
A31) setting the input rate of data to be processed of a task i to be processed as Di bit/s, Ci execution cycles to be processed and the tolerance delay as Ti; the dominant frequency of the processor j is Fj, the current utilization rate is Pj, and the available communication bandwidth is Dj bit/s;
searching processors which simultaneously meet the conditions of Dj > Di and Ci/(Fj x (1-Pj)) < Ti in a general processor and a digital signal processor of the satellite-borne computing platform, sequencing the processors which meet the conditions by using (Dj-Di), and taking the processor with the minimum value of (Dj-Di) as a task execution processor; if no task execution processor meeting the condition exists in the on-board computing platform processor, the step A32) is carried out, otherwise, the step 4) is directly carried out;
A32) the task currently running and the task to be processed in the general processor and the digital signal processor are redistributed, and the redistribution method is that the task combination meeting the task execution time delay and the communication bandwidth requirement is searched based on the branch-and-bound method according to the task priority order, and the optimal matching of the processor and the task combination is obtained and used as the task redistribution result; if all tasks are allocated, ending the allocation, and entering the step 4), otherwise, entering the step A33); the processor includes: general processor and digital signal processor
A33) And 4) the unallocated task waits for the other tasks to be executed completely, and the step 4) is executed after the system computing resources are released.
Optionally, the dynamic allocation method of the field programmable gate array specifically includes:
B31) setting the input rate of data to be processed of a task i to be processed as Di bit/s, the number of needed virtualized computing resources as Ai, the number of resources of a virtualized computing resource area as Aj and the available communication bandwidth as Dj bit/s;
searching a virtualized computing resource area which simultaneously meets the conditions of Aj > Ai and Dj > Di in a field programmable gate array of a computing platform, and sequencing the virtualized computing resource areas which meet the conditions by using (Dj-Di), wherein the virtualized computing resource area with the minimum value (Dj-Di) is used as a task execution virtualized computing resource area; step B32) is entered when no virtualized computing resource region satisfying the condition exists in the computing platform; otherwise, ending the distribution and entering the step 5);
B32) reallocating the tasks being processed and the tasks to be processed in the virtualized computing resource region, wherein the reallocating method comprises the steps of setting the size of the virtualized computing resource region according to task requirements according to the priority order of the tasks, allocating the virtualized computing resource region by completely reconfiguring the field programmable gate array, ending allocation if all the tasks are allocated, and entering the step 5), and otherwise, entering the step B33);
B33) and 5) after the unallocated task waits for the other tasks to be executed and the system computing resources are released, executing the step 5).
Optionally, the method for implementing data interaction before and after processing in step 5) specifically includes:
51) the processors on the satellite-borne computing platform are interconnected through a high-speed switching network, and any one of the general processors is selected as a communication management control node and is used for data communication management among tasks on the processors;
52) the method comprises the steps that a subscription and release system client is realized on each satellite-borne computing platform processor;
53) and (4) creating a subscriber and a publisher for data interaction between tasks on the processors by the subscription and publication client on each satellite-borne computing platform processor according to the deployment mode of the processing tasks obtained in the step 4).
Optionally, the inter-processor high-speed switching network includes: any one of a high-speed optical switching network, a high-speed RapidIO switching network and/or an ethernet switching network.
In a second aspect, a software-based payload computing resource virtualization allocation apparatus for implementing the method of the first aspect includes:
a system resource monitoring module: the system is responsible for monitoring system resources and task states, and monitoring the task state to be processed, the task state being processed and the use state of heterogeneous computing resources of the satellite-borne computing platform to obtain monitoring data;
a system task management module: the method is used for task configuration and operation control, and dynamically allocating the satellite-borne computing platform heterogeneous computing resources according to the task state to be processed and the task state being processed to obtain an allocation scheme of the satellite-borne computing platform heterogeneous computing resources;
the task dynamic deployment module: the system is responsible for deploying user tasks, and deploying tasks to be processed and tasks being processed according to dynamic allocation results of hardware computing resources;
the data subscription and release module: and the system is responsible for communication among tasks of the heterogeneous processors, and a subscription and release client is configured on the heterogeneous processors according to the deployment mode of the processing tasks, so that interaction of data before and after processing is realized.
Compared with the prior art, the invention has the advantages that:
the computing resource virtualization distribution method and device provided by the embodiment of the invention provide the mobility and the position transparency of the task based on the heterogeneous resource access method for subscribing and releasing data, so that the difference does not exist between the same processor and the computing processing in a remote processor, the method is suitable for multi-satellite cooperative processing, hardware is taken as a schedulable resource based on interconnection, and unlike the traditional hardware acceleration method, an FPGA (field programmable gate array) is completely decoupled from a general processor and is directly taken as a computing resource to be accessed into a data network, the decoupling of the task processing is facilitated, the allocation according to needs is carried out according to the task needs, and the resource interconnection capacity, the processing throughput, the computing resource utilization rate and the flexibility of the system are improved.
Drawings
Fig. 1 is a flowchart illustrating steps of a method for virtualizing and allocating computing resources of a software load according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a software-based load computing resource virtualization distribution apparatus according to an embodiment of the present invention.
Detailed Description
The invention discloses a software load computing resource virtualization distribution method, which comprises the following steps:
1) monitoring the task state of the satellite-borne computing platform and the use state of heterogeneous computing resources of the satellite-borne computing platform to obtain monitoring data; the task states include: the state of the task to be processed and the state of the task being processed;
2) according to the task state, performing virtualization processing on the satellite-borne computing platform heterogeneous computing resources to obtain a heterogeneous computing resource virtualization division result;
3) dynamically allocating the satellite-borne computing platform heterogeneous computing resources according to the task state and heterogeneous computing resource use state monitoring data obtained in the step 1) and the heterogeneous computing resource virtualization division result obtained in the step 2), and obtaining an allocation scheme of the satellite-borne computing platform heterogeneous computing resources and using the allocation scheme as a hardware computing resource dynamic allocation result;
4) deploying the tasks to be processed and the tasks being processed according to the dynamic allocation result of the hardware computing resources in the step 3) to obtain a deployment mode of the processing tasks;
5) and (4) configuring a subscription and release client on the heterogeneous processor according to the deployment mode of the processing task in the step 4), so as to realize the interaction of data before and after processing. Specifically, the method comprises the following steps:
51) the processors on the satellite-borne computing platform are interconnected through a high-speed switching network, and any one of the general processors is selected as a communication management control node and is used for data communication management among tasks on the processors;
52) the method comprises the steps that a subscription and release system client is realized on each satellite-borne computing platform processor;
53) and (4) creating a subscriber and a publisher for data interaction between tasks on the processors by the subscription and publication client on each satellite-borne computing platform processor according to the deployment mode of the processing tasks obtained in the step 4).
The heterogeneous computing resources include: field programmable gate arrays, digital signal processors, and general purpose processor processing resources.
Step 2) the method for performing virtualization processing on the satellite-borne computing platform heterogeneous computing resources comprises the following steps: a method of virtualization processing of a field programmable gate array, a method of virtualization processing of a digital signal processor, and a method of virtualization processing of a general purpose processor;
21) the method for the virtualization processing of the field programmable gate array comprises the steps that logic resources of the field programmable gate array are divided into a high-speed communication client implementation area and a plurality of virtualization computing resource areas according to task states, and the virtualization computing resource areas communicate with the outside through a communication client;
22) the virtualization processing method of the digital signal processor is that information is sent and received based on a special digital signal processor task according to a task state, and the rest computing resources are distributed as virtual resources.
23) The virtualization processing method of the general processor is that the computing resources are divided based on an embedded operating system.
The method for monitoring the task state of the satellite-borne computing platform and the use state of the heterogeneous computing resources of the satellite-borne computing platform in the step 1) comprises the following steps:
monitoring and obtaining the number of idle area resources of each field programmable gate array FPGA and the data communication rate of the task being processed;
monitoring and obtaining the total resource number of each available digital signal processor and the data communication rate of the task being processed by the available digital signal processor;
the total number of resources for each available general purpose processor and the data communication rate at which the available general purpose processor is processing the task are monitored and obtained.
And when the task to be processed exists, acquiring the time delay requirement, the calculation requirement and the data communication requirement of the task to be processed according to the task configuration file to be processed.
Step 3) the method for dynamically allocating the satellite-borne computing platform heterogeneous computing resources comprises the following steps: a dynamic allocation method of a general processor and a digital signal processor, and a dynamic allocation method in a field programmable gate array;
the dynamic allocation method of the general processor and the digital signal processor specifically comprises the following steps:
A31) setting the input rate of data to be processed of a task i to be processed as Di bit/s, Ci execution cycles to be processed and the tolerance delay as Ti; the dominant frequency of the processor j is Fj, the current utilization rate is Pj, and the available communication bandwidth is Dj bit/s;
searching processors which simultaneously meet the conditions of Dj > Di and Ci/(Fj x (1-Pj)) < Ti in a general processor and a digital signal processor of the satellite-borne computing platform, sequencing the processors which meet the conditions by using (Dj-Di), and taking the processor with the minimum value of (Dj-Di) as a task execution processor; if no task execution processor meeting the condition exists in the on-board computing platform processor, the step A32) is carried out, otherwise, the step 4) is directly carried out;
A32) the task currently running and the task to be processed in the general processor and the digital signal processor are redistributed, and the redistribution method is that the task combination meeting the task execution time delay and the communication bandwidth requirement is searched based on the branch-and-bound method according to the task priority order, and the optimal matching of the processor and the task combination is obtained and used as the task redistribution result; if all tasks are allocated, ending the allocation, and entering the step 4), otherwise, entering the step A33); the processor includes: general processor and digital signal processor
A33) And 4) the unallocated task waits for the other tasks to be executed completely, and the step 4) is executed after the system computing resources are released.
The dynamic allocation method of the field programmable gate array specifically comprises the following steps:
B31) setting the input rate of data to be processed of a task i to be processed as Di bit/s, the number of needed virtualized computing resources as Ai, the number of resources of a virtualized computing resource area as Aj and the available communication bandwidth as Dj bit/s;
searching a virtualized computing resource area which simultaneously meets the conditions of Aj > Ai and Dj > Di in a field programmable gate array of a computing platform, and sequencing the virtualized computing resource areas which meet the conditions by using (Dj-Di), wherein the virtualized computing resource area with the minimum value (Dj-Di) is used as a task execution virtualized computing resource area; step B32) is entered when no virtualized computing resource region satisfying the condition exists in the computing platform; otherwise, ending the distribution and entering the step 5);
B32) reallocating the tasks being processed and the tasks to be processed in the virtualized computing resource region, wherein the reallocating method comprises the steps of setting the size of the virtualized computing resource region according to task requirements according to the priority order of the tasks, allocating the virtualized computing resource region by completely reconfiguring the field programmable gate array, ending allocation if all the tasks are allocated, and entering the step 5), and otherwise, entering the step B33);
B33) and 5) after the unallocated task waits for the other tasks to be executed and the system computing resources are released, executing the step 5).
The method for data interaction before and after processing in the step 5) comprises the following steps:
the processors receive and transmit data based on a system architecture for subscribing and publishing data based on a high-speed switching network, realize node communication management based on a general processor serving as a main control node, realize subscribing and publishing system clients by the other processors, establish communication entities at the main control node by the clients, and store the communication entities by the main control;
the communication entity comprises a data writing entity and data reading; the communication entity is used for realizing data communication; all communication entities are interconnected through a high-speed switching network, and heterogeneous interconnection data sharing is realized; the control data stream and the service data stream adopt different subjects to carry out data transmission and reception.
The high-speed switching network between the processors comprises:
the computing resources adopt a full switching mode, and can be a high-speed optical switching network, a high-speed RapidIO switching network and/or an Ethernet switching network.
A software load computing resource virtualization distribution device comprises four functional modules:
a system resource monitoring module: the system is responsible for monitoring system resources and task states, and monitoring the task state to be processed, the task state being processed and the use state of heterogeneous computing resources of the satellite-borne computing platform to obtain monitoring data;
a system task management module: the method is used for task configuration and operation control, and dynamically allocating the satellite-borne computing platform heterogeneous computing resources according to the task state to be processed and the task state being processed to obtain an allocation scheme of the satellite-borne computing platform heterogeneous computing resources;
the task dynamic deployment module: the system is responsible for deploying user tasks, and deploying tasks to be processed and tasks being processed according to dynamic allocation results of hardware computing resources;
the data subscription and release module: and the system is responsible for communication among tasks of the heterogeneous processors, and a subscription and release client is configured on the heterogeneous processors according to the deployment mode of the processing tasks, so that interaction of data before and after processing is realized.
The technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
Referring to fig. 1, a flowchart illustrating steps of a software-based load computing resource virtualization distribution method according to an embodiment of the present invention is shown, and as shown in fig. 1, the software-based load computing resource virtualization method may be applied to a computing processing platform for a satellite. And the full exchange transmission of data among the board card computing chips is realized through an Ethernet protocol.
As shown in fig. 1, the method may specifically include the following steps:
step 101: monitoring a task waiting state, a task processing state and a heterogeneous computing resource using state of the satellite-borne computing platform;
when a task to be processed exists, acquiring a time delay requirement, a calculation requirement and a data communication requirement of the task to be processed according to a task configuration file to be processed;
in addition, system resource status information is obtained, including:
the number of idle area resources of each field programmable gate array and the communication rate of the task data being processed by the field programmable gate array;
the total number of resources of each available digital signal processor and the data communication rate of the task being processed by the digital signal processor;
the total number of resources available to each general-purpose processor and the data communication rate at which it is processing tasks.
Step 102: virtualizing the heterogeneous computing resources of the satellite-borne computing platform according to the task state to be processed;
the Power PC processor runs an embedded real-time operating system, serves as a system main control node, acquires task information and system state information, manages system computing tasks, and performs system computing resource allocation control.
The FPGA comprises a high-speed communication client implementation area and a plurality of virtualization computing resource areas, the field programmable gate array is connected with other processors through high-speed interfaces, the virtualization computing resource areas communicate with the outside through the high-speed communication client, and the communication interfaces are configured according to the communication requirements and task priorities of tasks executed by the virtualization computing resource areas, so that the execution of the tasks with high data requirements and high priorities is guaranteed. Each virtualized compute resource region has an address/data interface, an interrupt interface, and clock and reset signals. And a plurality of tasks can be simultaneously operated.
The Core0 in the DSP realizes subscribing and publishing clients, realizes sending and receiving of data, distributes the residual resources as virtual resources, configures communication interfaces according to communication requirements and task priorities of executing tasks, and ensures execution of tasks with high data requirements and high priorities.
Step 103: dynamically allocating or redistributing the heterogeneous computing resources of the satellite-borne computing platform according to the monitoring data and the processing task requirements;
setting the input rate of data to be processed of a task 1 to be processed to be 1M bit/s, 10M execution cycles to be processed and tolerance delay to be 50 ms; the main frequency of the processor Power PC 1 is 1GHz, the current utilization rate is 20%, and the available communication bandwidth is 20M bit/s. The main frequency of the processor Power PC 2 is 1GHz, the current utilization rate is 30%, and the available communication bandwidth is 10M bit/s.
And searching processors which simultaneously satisfy the conditions of Dj > Di and Ci/(Fj (1-Pj)) < Ti in the processors of the computing platform, and sorting the processors which satisfy the conditions by (Dj-Di), wherein the processor with the smallest value of Dj-Di serves as a task execution processor. The allocation processor Power PC 2 performs the processing of task 1.
When no processor meeting the conditions exists in the processor of the computing platform, the running task and the task to be processed of the processor are redistributed, and the redistribution method is that the task combination meeting the task execution time delay and the communication bandwidth requirement is searched based on the branch-and-bound method according to the task priority sequence, and the optimal matching of the processor and the task combination is obtained to be used as a specific task redistribution implementation mode.
If all tasks are allocated to the corresponding processing, the allocation is finished, otherwise, the unallocated tasks wait for the execution of other tasks to be finished, the system computing resources are released, and the process of step 103 is executed.
For the tasks executed on the field programmable gate array, the input rate of data to be processed of a task 2 to be processed is set to be 1G bit/s, the number of programmable logic blocks of a required virtualized computing resource area is set to be 2300, the number of programmable logic blocks of the virtualized computing resource area 1 is set to be 5000, the available communication bandwidth is set to be 500M bit/s, the number of programmable logic blocks of the virtualized computing resource area 2 is set to be 3000, the available communication bandwidth is 1500M bit/s, the virtualized computing resource areas which simultaneously meet the conditions of Aj > Ai and Dj > Di are searched in the field programmable gate array of the computing platform, and the virtualized computing resource areas which meet the conditions are sorted by (Dj-Di), and the virtualized computing resource area with the minimum value (Dj-Di) is used as the task executing virtualized computing resource area. The virtualized computing resource area 2 is thus used as a task execution area.
When no virtualized computing resource region meeting the conditions exists in the computing platform, the running tasks and the tasks to be processed of the virtualized computing resource region are redistributed, the redistribution method is that according to the priority sequence of the tasks, the size of the virtualized computing resource region is set according to the task requirements, the virtualized computing resource region is changed by completely reconfiguring the field programmable gate array, if all the tasks are distributed to corresponding processing, the distribution is finished, otherwise, the unallocated tasks wait for the execution of other tasks to be finished, the computing resources of the system are released, and the process of the step 103 is executed.
Step 104: deploying a processing task according to a dynamic redistribution result of the hardware computing resources;
the compiled task execution bitstream file and the corresponding configuration file are stored on a storage unit of the computing platform, and the computing platform loads the corresponding bitstream file to the processor allocated in step 103 according to the requirement of the user task and performs start, configuration, stop and unload management on task execution.
Step 105: and configuring the heterogeneous computing resource subscription and release client according to the processing task deployment mode, so as to realize the interaction of data before and after processing.
The processors receive and transmit data based on a system architecture for subscribing and publishing data based on a high-speed Ethernet switching network, realize node communication management based on a general processor serving as a main control node, realize subscribing and publishing system clients by the other processors, establish communication entities at the main control node by the clients, and store the communication entities by the main control.
The communication entities comprise a data writing entity and a data reading entity for realizing data communication. All entities are interconnected based on a high-speed Ethernet switching network, and heterogeneous interconnected data sharing is achieved. The control data stream and the service data stream adopt different subjects to carry out data transmission and reception.
Corresponding operations are set according to the actual needs of the application module, the operations comprise initialization, configuration, inquiry, starting, stopping, application data transmission and the like, the operations are coded, and the identification and the processing of the operations are completed by the subscription and release adapting unit. All operations requiring data transfer are implemented by the subscription and publication mechanism.
Referring to fig. 2, a schematic structural diagram of a software-based load computing resource virtualization allocation apparatus according to an embodiment of the present invention is shown, and as shown in fig. 2, the apparatus may specifically include the following modules:
a system resource monitoring module: the system is responsible for monitoring system resources and task states;
a system task management module: the system is responsible for task configuration and runtime control;
the task dynamic deployment module: the system is responsible for deploying user tasks and dynamically and flexibly configuring computing resources;
the data subscription and release module: is responsible for communication between the processor tasks.
The data subscription and publishing module is divided into 5 functional units, and comprises:
a subscription and release management unit: is responsible for subscribing and publishing communication management;
a subscription and release receiving unit: the device is responsible for analyzing the communication message header information;
a subscription and release sending unit: the method is responsible for encapsulating communication message header information;
receiving an operation adapting unit: the system is responsible for analyzing operation names and parameters related to each application module and then transmitting data to a specific FPGA or DSP or CPU logic module for processing;
a transmission operation adaptation unit: and is responsible for encapsulating the operation names and parameters associated with each application module.
And if the processing result needs to be sent to the outside, the subscription and publication engine packages the result into a request message or a response message according to the preconfigured information and transmits the request message or the response message through a subscription and publication mechanism.
The processing function is realized by application modules, each application module is provided with a processing unit which is exclusive for processing operation names and parameters, and the operation names and the parameters are obtained from a configuration file. The application module completes corresponding calculation processing according to the control information and the subscription and release data, gives a processing result, and sends the processing result to the further processing module through a subscription and release mechanism.
Although the present invention has been described with reference to the preferred embodiments, it is not intended to limit the present invention, and those skilled in the art can make variations and modifications of the present invention without departing from the spirit and scope of the present invention by using the methods and technical contents disclosed above.
Those skilled in the art will appreciate that the details of the invention not described in detail in the specification are within the skill of those skilled in the art.
Claims (10)
1. A software load computing resource virtualization distribution method is characterized by comprising the following steps:
1) monitoring the task state of the satellite-borne computing platform and the use state of heterogeneous computing resources of the satellite-borne computing platform to obtain monitoring data; the task states include: the state of the task to be processed and the state of the task being processed;
2) according to the task state, performing virtualization processing on the satellite-borne computing platform heterogeneous computing resources to obtain a heterogeneous computing resource virtualization division result;
3) dynamically allocating the satellite-borne computing platform heterogeneous computing resources according to the task state and heterogeneous computing resource use state monitoring data obtained in the step 1) and the heterogeneous computing resource virtualization division result obtained in the step 2), and obtaining an allocation scheme of the satellite-borne computing platform heterogeneous computing resources and using the allocation scheme as a hardware computing resource dynamic allocation result;
4) deploying the tasks to be processed and the tasks being processed according to the dynamic allocation result of the hardware computing resources in the step 3) to obtain a deployment mode of the processing tasks;
5) and (4) configuring a subscription and release client on the heterogeneous processor according to the deployment mode of the processing task in the step 4), so as to realize the interaction of data before and after processing.
2. The method for virtualization distribution of computing resources for software-based loads according to claim 1, wherein said heterogeneous computing resources comprise: the field programmable gate array, the digital signal processor and the general processor correspond to the processing resources.
3. The method for virtualizing and distributing the computing resources of the software-based load according to claim 2, wherein the step 2) of virtualizing the heterogeneous computing resources of the satellite-borne computing platform comprises the following steps: a method of virtualization processing of a field programmable gate array, a method of virtualization processing of a digital signal processor, and a method of virtualization processing of a general purpose processor;
the method for the virtualization processing of the field programmable gate array comprises the following steps: dividing the logic resources of the field programmable gate array into a high-speed communication client implementation area and a plurality of virtualization computing resource areas according to the task state, wherein the virtualization computing resource areas communicate with the outside through the communication client;
the virtualization processing method of the digital signal processor comprises the following steps: receiving and transmitting information based on a special digital signal processor task according to the task state, and distributing the residual virtualized computing resources as virtual resources;
the virtualization processing method of the general processor comprises the following steps: and carrying out division of virtualized computing resources based on the embedded operating system.
4. The method for distributing the software-based load computing resource virtualization according to claim 1, wherein the step 1) of monitoring the task state of the satellite-based computing platform and the use state of the heterogeneous computing resource of the satellite-based computing platform comprises:
monitoring and obtaining the number of idle area resources of each field programmable gate array FPGA and the data communication rate of the task being processed;
monitoring and obtaining the total resource number of each available digital signal processor and the data communication rate of the task being processed by the available digital signal processor;
monitoring and obtaining the total resource number of each available general processor and the data communication rate of the task being processed by the available general processor;
and when the task to be processed exists, acquiring the time delay requirement, the calculation requirement and the data communication requirement of the task to be processed according to the task configuration file to be processed.
5. The method for virtualizing and distributing the computing resources of the software-based load according to claim 1, wherein the step 3) of dynamically distributing the heterogeneous computing resources of the satellite-borne computing platform comprises the following steps: a dynamic allocation method of a general processor and a digital signal processor, and a dynamic allocation method in a field programmable gate array.
6. The method for virtualizing and allocating computing resources on a software-based load according to claim 5, wherein the method for dynamically allocating the general-purpose processor and the digital signal processor comprises:
A31) setting the input rate of data to be processed of a task i to be processed as Dibit/s, Ci execution cycles to be processed and the tolerance delay as Ti; the dominant frequency of the processor j is Fj, the current utilization rate is Pj, and the available communication bandwidth is Dj bit/s;
searching processors which simultaneously meet the conditions of Dj > Di and Ci/(Fj x (1-Pj)) < Ti in a general processor and a digital signal processor of the satellite-borne computing platform, sequencing the processors which meet the conditions by using (Dj-Di), and taking the processor with the minimum value of (Dj-Di) as a task execution processor; if no task execution processor meeting the condition exists in the on-board computing platform processor, the step A32) is carried out, otherwise, the step 4) is directly carried out;
A32) the task currently running and the task to be processed in the general processor and the digital signal processor are redistributed, and the redistribution method is that the task combination meeting the task execution time delay and the communication bandwidth requirement is searched based on the branch-and-bound method according to the task priority order, and the optimal matching of the processor and the task combination is obtained and used as the task redistribution result; if all tasks are allocated, ending the allocation, and entering the step 4), otherwise, entering the step A33); the processor includes: general processor and digital signal processor
A33) And 4) the unallocated task waits for the other tasks to be executed completely, and the step 4) is executed after the system computing resources are released.
7. The method for virtualizing and allocating computational resources of a software-based load according to claim 5, wherein the method for dynamically allocating a field programmable gate array specifically comprises:
B31) setting the input rate of data to be processed of a task i to be processed as Di bit/s, the number of needed virtualized computing resources as Ai, the number of resources of a virtualized computing resource area as Aj and the available communication bandwidth as Dj bit/s;
searching a virtualized computing resource area which simultaneously meets the conditions of Aj > Ai and Dj > Di in a field programmable gate array of a computing platform, and sequencing the virtualized computing resource areas which meet the conditions by using (Dj-Di), wherein the virtualized computing resource area with the minimum value (Dj-Di) is used as a task execution virtualized computing resource area; step B32) is entered when no virtualized computing resource region satisfying the condition exists in the computing platform; otherwise, ending the distribution and entering the step 5);
B32) reallocating the tasks being processed and the tasks to be processed in the virtualized computing resource region, wherein the reallocating method comprises the steps of setting the size of the virtualized computing resource region according to task requirements according to the priority order of the tasks, allocating the virtualized computing resource region by completely reconfiguring the field programmable gate array, ending allocation if all the tasks are allocated, and entering the step 5), and otherwise, entering the step B33);
B33) and 5) after the unallocated task waits for the other tasks to be executed and the system computing resources are released, executing the step 5).
8. The method for virtualizing and distributing software-based load computing resources according to any one of claims 5 to 7, wherein the method for implementing interaction between pre-processing data and post-processing data in step 5) specifically comprises:
51) the processors on the satellite-borne computing platform are interconnected through a high-speed switching network, and any one of the general processors is selected as a communication management control node and is used for data communication management among tasks on the processors;
52) the method comprises the steps that a subscription and release system client is realized on each satellite-borne computing platform processor;
53) and (4) creating a subscriber and a publisher for data interaction between tasks on the processors by the subscription and publication client on each satellite-borne computing platform processor according to the deployment mode of the processing tasks obtained in the step 4).
9. The method for virtualization allocation of computing resources for software load according to claim 8, wherein said inter-processor high-speed switching network comprises: any one of a high-speed optical switching network, a high-speed RapidIO switching network and/or an ethernet switching network.
10. A software load computing resource virtualization allocation apparatus for implementing a software load computing resource virtualization allocation method according to claim 9, comprising:
a system resource monitoring module: the system is responsible for monitoring system resources and task states, and monitoring the task state to be processed, the task state being processed and the use state of heterogeneous computing resources of the satellite-borne computing platform to obtain monitoring data;
a system task management module: the method is used for task configuration and operation control, and dynamically allocating the satellite-borne computing platform heterogeneous computing resources according to the task state to be processed and the task state being processed to obtain an allocation scheme of the satellite-borne computing platform heterogeneous computing resources;
the task dynamic deployment module: the system is responsible for deploying user tasks, and deploying tasks to be processed and tasks being processed according to dynamic allocation results of hardware computing resources;
the data subscription and release module: and the system is responsible for communication among tasks of the heterogeneous processors, and a subscription and release client is configured on the heterogeneous processors according to the deployment mode of the processing tasks, so that interaction of data before and after processing is realized.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110710511.2A CN113608861B (en) | 2021-06-25 | 2021-06-25 | Virtualized distribution method and device for software load computing resources |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110710511.2A CN113608861B (en) | 2021-06-25 | 2021-06-25 | Virtualized distribution method and device for software load computing resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113608861A true CN113608861A (en) | 2021-11-05 |
CN113608861B CN113608861B (en) | 2023-11-10 |
Family
ID=78336782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110710511.2A Active CN113608861B (en) | 2021-06-25 | 2021-06-25 | Virtualized distribution method and device for software load computing resources |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608861B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117170877A (en) * | 2023-10-26 | 2023-12-05 | 西安羚控电子科技有限公司 | Unmanned aerial vehicle virtualization task management device and method |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788920A (en) * | 2010-02-05 | 2010-07-28 | 北京航空航天大学 | CPU virtualization method based on processor partitioning technology |
US20160147550A1 (en) * | 2014-11-24 | 2016-05-26 | Aspen Timber LLC | Monitoring and Reporting Resource Allocation and Usage in a Virtualized Environment |
CN106293947A (en) * | 2016-08-17 | 2017-01-04 | 上海交通大学 | GPU CPU mixing resource allocation system and method under virtualization cloud environment |
US9641238B1 (en) * | 2016-10-19 | 2017-05-02 | Vector Launch Inc. | Virtualization-enabled satellite platforms |
US10007559B1 (en) * | 2013-09-20 | 2018-06-26 | EMP IP Holding Company LLC | Virtual tiering |
CN110704186A (en) * | 2019-09-25 | 2020-01-17 | 国家计算机网络与信息安全管理中心 | Computing resource allocation method and device based on hybrid distribution architecture and storage medium |
CN110719206A (en) * | 2019-10-21 | 2020-01-21 | 中国科学院空间应用工程与技术中心 | Space-based FPGA (field programmable Gate array) virtualization computing service system, method and readable storage medium |
US20200374186A1 (en) * | 2019-05-21 | 2020-11-26 | The Boeing Company | Method and Apparatus for a Software Defined Satellite and Network |
CN112260743A (en) * | 2020-09-16 | 2021-01-22 | 西安空间无线电技术研究所 | Computing resource allocation method and device |
-
2021
- 2021-06-25 CN CN202110710511.2A patent/CN113608861B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788920A (en) * | 2010-02-05 | 2010-07-28 | 北京航空航天大学 | CPU virtualization method based on processor partitioning technology |
US10007559B1 (en) * | 2013-09-20 | 2018-06-26 | EMP IP Holding Company LLC | Virtual tiering |
US20160147550A1 (en) * | 2014-11-24 | 2016-05-26 | Aspen Timber LLC | Monitoring and Reporting Resource Allocation and Usage in a Virtualized Environment |
CN106293947A (en) * | 2016-08-17 | 2017-01-04 | 上海交通大学 | GPU CPU mixing resource allocation system and method under virtualization cloud environment |
US9641238B1 (en) * | 2016-10-19 | 2017-05-02 | Vector Launch Inc. | Virtualization-enabled satellite platforms |
US20200374186A1 (en) * | 2019-05-21 | 2020-11-26 | The Boeing Company | Method and Apparatus for a Software Defined Satellite and Network |
CN110704186A (en) * | 2019-09-25 | 2020-01-17 | 国家计算机网络与信息安全管理中心 | Computing resource allocation method and device based on hybrid distribution architecture and storage medium |
CN110719206A (en) * | 2019-10-21 | 2020-01-21 | 中国科学院空间应用工程与技术中心 | Space-based FPGA (field programmable Gate array) virtualization computing service system, method and readable storage medium |
CN112260743A (en) * | 2020-09-16 | 2021-01-22 | 西安空间无线电技术研究所 | Computing resource allocation method and device |
Non-Patent Citations (3)
Title |
---|
刘红林;李英玉;杨震;王广钰;贺欢;: "基于能力分析的天基资源虚拟化方法的设计与实现", 上海航天(中英文), no. 04 * |
张玉洁: "基于多GPGPU并行计算的虚拟化技术研究", 中国优秀硕士学位论文全文数据库-信息科技辑 * |
贾明权;: "基于分布式战术云的下一代通用信号处理平台架构", 电讯技术, no. 07 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117170877A (en) * | 2023-10-26 | 2023-12-05 | 西安羚控电子科技有限公司 | Unmanned aerial vehicle virtualization task management device and method |
CN117170877B (en) * | 2023-10-26 | 2024-02-23 | 西安羚控电子科技有限公司 | Unmanned aerial vehicle virtualization task management device and method |
Also Published As
Publication number | Publication date |
---|---|
CN113608861B (en) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467725B2 (en) | Managing access to a resource pool of graphics processing units under fine grain control | |
CN112465129B (en) | On-chip heterogeneous artificial intelligent processor | |
US8811422B2 (en) | Single chip protocol converter | |
CN110719206B (en) | Space-based FPGA (field programmable Gate array) virtualization computing service system, method and readable storage medium | |
CN100399273C (en) | System of virtual machine, and method for configuring hardware | |
CN103019838B (en) | Multi-DSP (Digital Signal Processor) platform based distributed type real-time multiple task operating system | |
CN101652750B (en) | Data processing device, distributed processing system and data processing method | |
CN106648896B (en) | Method for dual-core sharing of output peripheral by Zynq chip under heterogeneous-name multiprocessing mode | |
CN116243995B (en) | Communication method, communication device, computer readable storage medium, and electronic apparatus | |
CN101288049A (en) | Use of a data engine within a data processing apparatus | |
CN116244229B (en) | Access method and device of hardware controller, storage medium and electronic equipment | |
WO2018182746A1 (en) | Hotpluggable runtime | |
CN116830082A (en) | Startup control method and device of embedded system, storage medium and electronic equipment | |
CN113608861B (en) | Virtualized distribution method and device for software load computing resources | |
CN112395056B (en) | Embedded asymmetric real-time system and electric power secondary equipment | |
CN116868170A (en) | Operation method and device of embedded system, embedded system and chip | |
CN114553980B (en) | Message service method for decoupling control flow and data flow | |
CN113076189B (en) | Data processing system with multiple data paths and virtual electronic device constructed using multiple data paths | |
US11797342B2 (en) | Method and supporting node for supporting process scheduling in a cloud system | |
CN106844021B (en) | Computing environment resource management system and management method thereof | |
US20240184624A1 (en) | Method and system for sequencing artificial intelligence (ai) jobs for execution at ai accelerators | |
CN113076180A (en) | Method for constructing uplink data path and data processing system | |
US11915041B1 (en) | Method and system for sequencing artificial intelligence (AI) jobs for execution at AI accelerators | |
CN105874757A (en) | Data processing method and multi-core processor system | |
WO2024087663A1 (en) | Job scheduling method and apparatus, and chip |
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 |