CN113608861A - Software load computing resource virtualization distribution method and device - Google Patents

Software load computing resource virtualization distribution method and device Download PDF

Info

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
Application number
CN202110710511.2A
Other languages
Chinese (zh)
Other versions
CN113608861B (en
Inventor
方海
杨旭
赵扬
高媛
陈显舟
白琳
施倩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Institute of Space Radio Technology
Original Assignee
Xian Institute of Space Radio Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Institute of Space Radio Technology filed Critical Xian Institute of Space Radio Technology
Priority to CN202110710511.2A priority Critical patent/CN113608861B/en
Publication of CN113608861A publication Critical patent/CN113608861A/en
Application granted granted Critical
Publication of CN113608861B publication Critical patent/CN113608861B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

Software load computing resource virtualization distribution method and device
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.
CN202110710511.2A 2021-06-25 2021-06-25 Virtualized distribution method and device for software load computing resources Active CN113608861B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (9)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
刘红林;李英玉;杨震;王广钰;贺欢;: "基于能力分析的天基资源虚拟化方法的设计与实现", 上海航天(中英文), no. 04 *
张玉洁: "基于多GPGPU并行计算的虚拟化技术研究", 中国优秀硕士学位论文全文数据库-信息科技辑 *
贾明权;: "基于分布式战术云的下一代通用信号处理平台架构", 电讯技术, no. 07 *

Cited By (2)

* Cited by examiner, † Cited by third party
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