+

CN113608861B - Virtualized distribution method and device for software load computing resources - Google Patents

Virtualized distribution method and device for software load computing resources Download PDF

Info

Publication number
CN113608861B
CN113608861B CN202110710511.2A CN202110710511A CN113608861B CN 113608861 B CN113608861 B CN 113608861B CN 202110710511 A CN202110710511 A CN 202110710511A CN 113608861 B CN113608861 B CN 113608861B
Authority
CN
China
Prior art keywords
tasks
task
computing
processor
processed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110710511.2A
Other languages
Chinese (zh)
Other versions
CN113608861A (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

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-based load computing resource virtualization allocation method and device. The method includes: monitoring the status of pending tasks, the status of tasks being processed, and the usage status of heterogeneous computing resources of the space-borne computing platform; performing virtualization processing on the heterogeneous computing resources of the space-borne computing platform according to the status of pending tasks; According to the data and processing task requirements, the heterogeneous computing resources of the satellite computing platform are dynamically allocated or reallocated; the processing tasks are deployed according to the dynamic reallocation results of the hardware computing resources; the heterogeneous computing resource subscription and publishing clients are configured according to the processing task deployment method to achieve Interaction of pre- and post-processed data. The present invention proposes a virtualization method for controlling and dynamically reconfiguring multi-type heterogeneous processing such as field programmable gate arrays, digital signal processors and general-purpose processors, and solves the problem of efficient implementation of virtualization of spaceborne computing platforms.

Description

一种软件化载荷计算资源虚拟化分配方法及装置A software-based load computing resource virtualization allocation method and device

技术领域Technical field

本发明涉及卫星载荷计算资源虚拟化技术领域,特别是一种计算资源虚拟化分配方法及装置。The present invention relates to the technical field of satellite load computing resource virtualization, in particular to a computing resource virtualization allocation method and device.

背景技术Background technique

在复杂任务环境下,要求卫星载荷系统快速适应复杂动态环境和任务需求,比如快速在不同功能波形间切换,实现不同的处理过程,传统以硬件平台为中心,面向专用功能设计的载荷,越来越难以满足应用需求,如何构建以软件服务为中心的载荷系统,使载荷系统具备可扩展的硬件重组能力和基于虚拟化的软件可重构能力,满足当前和未来卫星计算任务扩展的需求,是需要解决的问题。In complex mission environments, satellite payload systems are required to quickly adapt to complex dynamic environments and mission requirements, such as quickly switching between different functional waveforms to implement different processing processes. Traditionally, payloads designed with the hardware platform as the center and designed for special functions are becoming more and more popular. The more difficult it is to meet application requirements, how to build a software service-centered payload system so that the payload system has scalable hardware reconfiguration capabilities and virtualization-based software reconfiguration capabilities to meet the needs of current and future satellite computing mission expansion is issues that need resolving.

虚拟化是对硬件资源的配置和管理,虚拟化技术实现服务获得与实际提供服务的物理资源的逻辑分离,使其具备需求可定义能力的第一步,也是最重要的一步。基于虚拟化的卫星载荷计算平台对上提供功能应用服务适应各种功能任务的部署和执行,对下采用通用化、模块化、标准化、网络化设计,使其具备可扩展、可升级、可演进的能力。相较于桌面系统通用的CPU计算资源,卫星载荷系统由大量的异构处理资源组成,包括擅长逻辑处理的FPGA资源、擅长浮点运算的DSP资源和擅长实时计算的CPU资源。目前,虚拟化在桌面系统的发展相对成熟,如何在众多异构处理器的嵌入式系统实现资源的虚拟化是支撑下一代卫星载荷处理平台的一项关键技术。星载计算平台的发展趋势是混合异构,本发明提出了一种星载异构载荷的虚拟化技术的实现方法,实现基于操作系统的对FPGA、DSP和通用处理器等多类型异构处理的控制和动态重构,解决星载计算平台虚拟化的高效实现问题。Virtualization is the configuration and management of hardware resources. Virtualization technology realizes the logical separation of service acquisition and the physical resources that actually provide services, making it the first and most important step to have the ability to define requirements. The satellite payload computing platform based on virtualization provides functional application services on the upper side to adapt to the deployment and execution of various functional tasks, and adopts a general, modular, standardized, and networked design on the lower side, making it scalable, upgradable, and evolvable. Ability. Compared with the common CPU computing resources of desktop systems, satellite payload systems are composed of a large number of heterogeneous processing resources, including FPGA resources that are good at logic processing, DSP resources that are good at floating point operations, and CPU resources that are good at real-time calculations. At present, the development of virtualization in desktop systems is relatively mature. How to realize resource virtualization in embedded systems with many heterogeneous processors is a key technology to support the next generation of satellite payload processing platforms. The development trend of space-borne computing platforms is hybrid heterogeneity. The present invention proposes a virtualization technology implementation method for space-borne heterogeneous loads to realize operating system-based multi-type heterogeneous processing of FPGAs, DSPs, and general-purpose processors. control and dynamic reconstruction to solve the problem of efficient implementation of virtualization of spaceborne computing platforms.

发明内容Contents of the invention

本发明解决的技术问题是:克服现有技术的不足,提供了一种计算资源虚拟化分配方法及装置,解决了星载异构计算资源灵活使用的问题。The technical problem solved by the present invention is to overcome the shortcomings of the existing technology, provide a computing resource virtualization allocation method and device, and solve the problem of flexible use of satellite-borne heterogeneous computing resources.

本发明的技术解决方案是:The technical solution of the present invention is:

第一方面,一种软件化载荷计算资源虚拟化分配方法,包括以下步骤:The first aspect is a software-based load computing resource virtualization allocation method, including the following steps:

1)对星载计算平台任务状态及星载计算平台的异构计算资源使用状态进行监控,获得监控数据;所述任务状态包括:待处理任务的状态和正在处理任务的状态;1) Monitor the task status of the spaceborne computing platform and the usage status of heterogeneous computing resources of the spaceborne computing platform, and obtain monitoring data; the task status includes: the status of tasks to be processed and the status of tasks being processed;

2)根据任务状态,对星载计算平台异构计算资源进行虚拟化处理,获得异构计算资源虚拟化划分结果;2) According to the task status, perform virtualization processing on the heterogeneous computing resources of the spaceborne computing platform and obtain the virtualization division results of the heterogeneous computing resources;

3)根据步骤1)获得的任务状态和异构计算资源使用状态监控数据并根据步骤2)获得的异构计算资源虚拟化划分结果,对星载计算平台异构计算资源进行动态分配,获得星载计算平台异构计算资源的分配方案并作为硬件计算资源动态分配结果;3) Based on the task status and heterogeneous computing resource usage status monitoring data obtained in step 1) and the heterogeneous computing resource virtualization division results obtained in step 2), dynamically allocate the heterogeneous computing resources of the satellite computing platform to obtain the satellite The allocation plan of heterogeneous computing resources on the load computing platform is used as the dynamic allocation result of hardware computing resources;

4)根据步骤3)所述硬件计算资源动态分配结果,部署待处理任务和正在处理的任务,获得处理任务的部署方式;4) According to the dynamic allocation result of hardware computing resources described in step 3), deploy the tasks to be processed and the tasks being processed, and obtain the deployment method of processing tasks;

5)根据步骤4)处理任务的部署方式,在异构处理器上配置订阅发布客户端,实现处理前和处理后数据的交互。5) According to the deployment method of the processing task in step 4), configure the subscription publishing client on the heterogeneous processor to realize the interaction of pre-processing and post-processing data.

可选地,所述异构计算资源包括:现场可编程门阵列、数字信号处理器和通用处理器对应的处理资源。Optionally, the heterogeneous computing resources include: processing resources corresponding to field programmable gate arrays, digital signal processors, and general-purpose processors.

可选地,步骤2)所述对星载计算平台异构计算资源进行虚拟化处理的方法包括:现场可编程门阵列的虚拟化处理的方法、数字信号处理器的虚拟化处理的方法以及通用处理器的虚拟化处理的方法;Optionally, the method for virtualizing the heterogeneous computing resources of the spaceborne computing platform described in step 2) includes: a field programmable gate array virtualization processing method, a digital signal processor virtualization processing method, and a general-purpose virtualization processing method. Processor virtualization processing methods;

所述现场可编程门阵列的虚拟化处理的方法为:根据任务状态将现场可编程门阵列逻辑资源分为一个高速通信客户端实现区域,以及多个虚拟化计算资源区域,所述虚拟化计算资源区域通过通信客户端对外通信;The virtualization processing method of the field programmable gate array is: dividing the field programmable gate array logic resources into a high-speed communication client implementation area and multiple virtualization computing resource areas according to the task status. The virtualization computing The resource area communicates externally through the communication client;

所述数字信号处理器的虚拟化处理的方法为:根据任务状态,基于专门的数字信号处理器任务收发信息,剩余的虚拟化计算资源作为虚拟资源进行分配。The virtualization processing method of the digital signal processor is: according to the task status, the information is sent and received based on the special digital signal processor task, and the remaining virtualized computing resources are allocated as virtual resources.

所述通用处理器的虚拟化处理的方法为:基于嵌入式操作系统进行虚拟化计算资源的划分。The virtualization processing method of the general-purpose processor is to divide the virtualized computing resources based on the embedded operating system.

可选地,步骤1)所述对星载计算平台任务状态及星载计算平台的异构计算资源使用状态进行监控的方法,包括:Optionally, the method described in step 1) for monitoring the task status of the spaceborne computing platform and the usage status of heterogeneous computing resources of the spaceborne computing platform includes:

监控并获得各现场可编程门阵列FPGA的空闲区域资源数量及其正在处理任务的数据通信速率;Monitor and obtain the number of free area resources of each field programmable gate array FPGA and the data communication rate of the tasks being processed;

监控并获得各可用数字信号处理器的资源总数及可用数字信号处理器正在处理任务的数据通信速率;Monitor and obtain the total number of resources of each available digital signal processor and the data communication rate of the tasks being processed by the available digital signal processors;

监控并获得各可用通用处理器的资源总数及可用通用处理器正在处理任务的数据通信速率。Monitor and obtain the total number of resources of each available general-purpose processor and the data communication rate of the tasks being processed by the available general-purpose processor.

当存在待处理任务时,根据待处理任务配置文件,获取待处理任务的时延要求、计算需求和数据通信需求。When there is a task to be processed, the delay requirements, computing requirements and data communication requirements of the task to be processed are obtained according to the task configuration file to be processed.

可选地,步骤3)所述对星载计算平台异构计算资源进行动态分配的方法,包括:通用处理器和数字信号处理器的动态分配方法,以及在在现场可编程门阵列的动态分配方法。Optionally, the method for dynamically allocating heterogeneous computing resources on a spaceborne computing platform described in step 3) includes: a dynamic allocation method for general-purpose processors and digital signal processors, and a dynamic allocation method for field programmable gate arrays. method.

可选地,所述通用处理器和数字信号处理器的动态分配方法,具体为:Optionally, the dynamic allocation method of the general processor and digital signal processor is specifically:

A31)设待处理任务i需要处理数据的输入速率为Di bit/s,需要处理Ci个执行周期,设容忍延迟为Ti;处理器j的主频为Fj,当前使用率为Pj,可用通信带宽为Dj bit/s;A31) Assume that the input rate of data to be processed by task i to be processed is Di bit/s, Ci execution cycles need to be processed, and the tolerated delay is Ti; the main frequency of processor j is Fj, the current usage rate is Pj, and the available communication bandwidth is Dj bit/s;

在星载计算平台的通用处理器和数字信号处理器中查找同时满足Dj>Di和Ci/(Fj*(1-Pj))<Ti条件的处理器,并以(Dj-Di)对满足条件的处理器进行排序,将(Dj-Di)值最小的处理器作为任务执行处理器;如果在星载计算平台处理器中不存在满足条件的任务执行处理器时,进入步骤A32),反之,则直接进入步骤4);Find processors that satisfy the conditions of Dj>Di and Ci/(Fj*(1-Pj))<Ti among the general processors and digital signal processors of the spaceborne computing platform, and use (Dj-Di) to satisfy the conditions The processors are sorted, and the processor with the smallest (Dj-Di) value is used as the task execution processor; if there is no task execution processor that meets the conditions in the spaceborne computing platform processor, enter step A32), otherwise, Then go directly to step 4);

A32)对通用处理器和数字信号处理器中正在运行任务及待处理任务进行重分配,重分配方法为,按任务优先级顺序,基于分支定界法搜索满足任务执行时延和通信带宽要求的任务组合,获得处理器和任务组合的最佳匹配,作为任务重分配结果;如果所有任务均被分配完毕,则结束分配,进入步骤4),否则,进入步骤A33);所述处理器包括:通用处理器和数字信号处理器A32) Reallocate running tasks and pending tasks in general processors and digital signal processors. The reallocation method is to search for tasks that meet the task execution delay and communication bandwidth requirements based on the branch and bound method in order of task priority. Task combination, obtain the best match between processor and task combination, as the result of task reallocation; if all tasks are allocated, the allocation ends, and enters step 4), otherwise, enters step A33); the processor includes: General purpose processors and digital signal processors

A33)未分配的任务等待其他任务执行完毕,且系统计算资源释放后,再执行步骤4)。A33) The unassigned tasks wait for other tasks to be executed and the system computing resources are released before executing step 4).

可选地,所述的现场可编程门阵列的动态分配方法,具体为:Optionally, the dynamic allocation method of the field programmable gate array is specifically:

B31)设待处理任务i需要处理数据的输入速率为Di bit/s,所需虚拟化计算资源数为Ai,设虚拟化计算资源区域资源数为Aj,可用通信带宽为Dj bit/s;B31) Assume that the input rate of data to be processed by task i to be processed is Di bit/s, the number of virtualized computing resources required is Ai, the number of resources in the virtualized computing resource area is Aj, and the available communication bandwidth is Dj bit/s;

在计算平台现场可编程门阵列中查找同时满足Aj>Ai和Dj>Di条件的虚拟化计算资源区域,并以(Dj-Di)对满足条件的虚拟化计算资源区域进行排序,(Dj-Di)值最小的虚拟化计算资源区域作为任务执行虚拟化计算资源区域;在计算平台中不存在满足条件的虚拟化计算资源区域时,进入步骤B32);反之,则结束分配,进入步骤5);Search the virtualized computing resource areas that meet the conditions of Aj>Ai and Dj>Di in the field programmable gate array of the computing platform, and sort the virtualized computing resource areas that meet the conditions by (Dj-Di), (Dj-Di ) The virtualized computing resource area with the smallest value is used as the task execution virtualized computing resource area; when there is no virtualized computing resource area that meets the conditions in the computing platform, enter step B32); otherwise, end the allocation and enter step 5);

B32)对虚拟化计算资源区域正在处理任务及待处理任务进行重分配,重分配方法为,按任务优先级顺序,虚拟化计算资源区域根据任务需求设置大小,通过完全重新配置现场可编程门阵列来分配,如果所有任务均被分配完毕,则结束分配,并进入步骤5),否则,进入步骤B33);B32) Reallocate the tasks being processed and the tasks to be processed in the virtualized computing resource area. The reallocation method is to set the size of the virtualized computing resource area according to the task requirements in order of task priority, by completely reconfiguring the field programmable gate array. To allocate, if all tasks have been allocated, end the allocation and go to step 5), otherwise, go to step B33);

B33)未分配任务等待其他任务执行完毕,且系统计算资源释放后,再执行步骤5)。B33) The unallocated task waits for other tasks to be completed and the system computing resources are released before executing step 5).

可选地,步骤5)所述实现处理前和处理后数据交互的方法,具体为:Optionally, the method for realizing pre-processing and post-processing data interaction described in step 5) is specifically:

51)星载计算平台上各处理器之间通过高速交换网络互联,任选其中一个通用处理器作为通信管理控制节点,用于各处理器上任务间的数据通信管理;51) Each processor on the satellite computing platform is interconnected through a high-speed switching network, and one of the general-purpose processors is selected as a communication management control node for data communication management between tasks on each processor;

52)在各星载计算平台处理器上均实现订阅发布系统客户端;52) Implement the subscription publishing system client on each satellite computing platform processor;

53)各星载计算平台处理器上的订阅发布客户端根据步骤4)所获得的处理任务的部署方式,创建订阅者和发布者,用于处理器上任务间的数据交互。53) The subscription publishing client on each satellite computing platform processor creates subscribers and publishers based on the deployment method of processing tasks obtained in step 4) for data interaction between tasks on the processor.

可选地,所述处理器之间高速交换网络,包括:高速光交换网络、高速RapidIO交换网络和或以太网交换网络中的任意一个。Optionally, the high-speed switching network between processors 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 load computing resource virtualization allocation device for implementing the method described in the first aspect includes:

系统资源监控模块:负责系统资源和任务状态的监控,对星载计算平台待处理任务状态、正处理任务状态及异构计算资源使用状态进行监控,获得监控数据;System resource monitoring module: Responsible for monitoring system resources and task status, monitoring the status of pending tasks, status of tasks being processed, and usage status of heterogeneous computing resources on the space-borne computing platform, and obtaining monitoring data;

系统任务管理模块:负责任务配置和运行时控制,根据待处理任务状态、正处理任务状态,对星载计算平台异构计算资源进行动态分配,获得星载计算平台异构计算资源的分配方案;System task management module: Responsible for task configuration and runtime control, dynamically allocate heterogeneous computing resources of the space-borne computing platform based on the status of tasks to be processed and the status of tasks being processed, and obtain the allocation plan for the heterogeneous computing resources of the space-borne computing platform;

任务动态部署模块:负责对用户任务部署,根据硬件计算资源动态分配结果,部署待处理任务和正处理任务;Task dynamic deployment module: Responsible for user task deployment, deploying pending tasks and ongoing tasks based on the dynamic allocation results of hardware computing resources;

数据订阅发布模块:负责各异构处理器任务之间的通信,根据处理任务的部署方式,在异构处理器上配置订阅发布客户端,实现处理前和处理后数据的交互。Data subscription and publishing module: Responsible for communication between heterogeneous processor tasks. According to the deployment method of processing tasks, the subscription and publishing client is configured on the heterogeneous processor to realize the interaction of pre-processing and post-processing data.

本发明与现有技术相比的优点在于:The advantages of the present invention compared with the prior art are:

本发明实施例提供的计算资源虚拟化分配方法及装置,基于数据订阅发布的异构资源接入方法,提供了任务的移动性和位置透明性,使得在同一处理器与在远程处理器中计算处理相比没有差别,适合多星协同处理,基于互连把硬件作为一种可调度的资源,与传统硬件加速方法不同,FPGA与通用处理器完全解耦,直接作为计算资源接入数据网络,有利于任务处理的去耦合,根据任务需要进行按需分配,提高资源互联能力、处理吞吐量、计算资源利用率和系统的灵活性。The computing resource virtualization allocation method and device provided by the embodiments of the present invention and the heterogeneous resource access method based on data subscription publishing provide task mobility and location transparency, so that calculations can be performed on the same processor and in a remote processor. There is no difference in processing, and it is suitable for multi-star collaborative processing. Based on interconnection, the hardware is used as a schedulable resource. Different from the traditional hardware acceleration method, the FPGA is completely decoupled from the general processor and directly connected to the data network as a computing resource. It is conducive to the decoupling of task processing, on-demand allocation according to task needs, and improves resource interconnection capabilities, processing throughput, computing resource utilization and system flexibility.

附图说明Description of the drawings

图1为本发明实施例提供的一种软件化载荷计算资源虚拟化分配方法的步骤流程图;Figure 1 is a step flow chart of a software-based load computing resource virtualization allocation method provided by an embodiment of the present invention;

图2为本发明实施例提供的一种软件化载荷计算资源虚拟化分配装置的结构示意图。Figure 2 is a schematic structural diagram of a software-based load computing resource virtualization allocation device provided by an embodiment of the present invention.

具体实施方式Detailed ways

本发明一种软件化载荷计算资源虚拟化分配方法,包括以下步骤:A software-based load computing resource virtualization allocation method of the present invention includes the following steps:

1)对星载计算平台任务状态及星载计算平台的异构计算资源使用状态进行监控,获得监控数据;所述任务状态包括:待处理任务的状态和正在处理任务的状态;1) Monitor the task status of the spaceborne computing platform and the usage status of heterogeneous computing resources of the spaceborne computing platform, and obtain monitoring data; the task status includes: the status of tasks to be processed and the status of tasks being processed;

2)根据任务状态,对星载计算平台异构计算资源进行虚拟化处理,获得异构计算资源虚拟化划分结果;2) According to the task status, perform virtualization processing on the heterogeneous computing resources of the spaceborne computing platform and obtain the virtualization division results of the heterogeneous computing resources;

3)根据步骤1)获得的任务状态和异构计算资源使用状态监控数据并根据步骤2)获得的异构计算资源虚拟化划分结果,对星载计算平台异构计算资源进行动态分配,获得星载计算平台异构计算资源的分配方案并作为硬件计算资源动态分配结果;3) Based on the task status and heterogeneous computing resource usage status monitoring data obtained in step 1) and the heterogeneous computing resource virtualization division results obtained in step 2), dynamically allocate the heterogeneous computing resources of the satellite computing platform to obtain the satellite The allocation plan of heterogeneous computing resources on the load computing platform is used as the dynamic allocation result of hardware computing resources;

4)根据步骤3)所述硬件计算资源动态分配结果,部署待处理任务和正在处理的任务,获得处理任务的部署方式;4) According to the dynamic allocation result of hardware computing resources described in step 3), deploy the tasks to be processed and the tasks being processed, and obtain the deployment method of processing tasks;

5)根据步骤4)处理任务的部署方式,在异构处理器上配置订阅发布客户端,实现处理前和处理后数据的交互。具体的:5) According to the deployment method of the processing task in step 4), configure the subscription publishing client on the heterogeneous processor to realize the interaction of pre-processing and post-processing data. specific:

51)星载计算平台上各处理器之间通过高速交换网络互联,任选其中一个通用处理器作为通信管理控制节点,用于各处理器上任务间的数据通信管理;51) Each processor on the satellite computing platform is interconnected through a high-speed switching network, and one of the general-purpose processors is selected as a communication management control node for data communication management between tasks on each processor;

52)在各星载计算平台处理器上均实现订阅发布系统客户端;52) Implement the subscription publishing system client on each satellite computing platform processor;

53)各星载计算平台处理器上的订阅发布客户端根据步骤4)所获得的处理任务的部署方式,创建订阅者和发布者,用于处理器上任务间的数据交互。53) The subscription publishing client on each satellite computing platform processor creates subscribers and publishers based on the deployment method of processing tasks obtained in step 4) for data interaction between tasks on the processor.

异构计算资源包括:现场可编程门阵列、数字信号处理器和通用处理器处理资源。Heterogeneous computing resources include: field programmable gate arrays, digital signal processors, and general-purpose processor processing resources.

步骤2)所述对星载计算平台异构计算资源进行虚拟化处理的方法包括:现场可编程门阵列的虚拟化处理的方法、数字信号处理器的虚拟化处理的方法以及通用处理器的虚拟化处理的方法;Step 2) The method for virtualizing heterogeneous computing resources of a spaceborne computing platform includes: a virtualization processing method for a field programmable gate array, a virtualization processing method for a digital signal processor, and a virtualization processing method for a general-purpose processor. Chemical treatment methods;

21)所述现场可编程门阵列的虚拟化处理的方法为,根据任务状态将现场可编程门阵列逻辑资源分为一个高速通信客户端实现区域和多个虚拟化计算资源区域,所述虚拟化计算资源区域通过通信客户端对外通信;21) The virtualization processing method of the field programmable gate array is to divide the field programmable gate array logical resources into a high-speed communication client implementation area and multiple virtualized computing resource areas according to the task status, and the virtualization The computing resource area communicates externally through the communication client;

22)所述数字信号处理器的虚拟化处理的方法为,根据任务状态,基于专门的数字信号处理器任务收发信息,剩余的计算资源作为虚拟资源进行分配。22) The virtualization processing method of the digital signal processor is to send and receive information based on a dedicated digital signal processor task according to the task status, and the remaining computing resources are allocated as virtual resources.

23)所述通用处理器的虚拟化处理的方法为,基于嵌入式操作系统进行计算资源划分。23) The virtualization processing method of the general-purpose processor is to divide computing resources based on the embedded operating system.

步骤1)所述对星载计算平台任务状态及星载计算平台的异构计算资源使用状态进行监控的方法,包括:The method described in step 1) for monitoring the mission status of the spaceborne computing platform and the usage status of heterogeneous computing resources of the spaceborne computing platform includes:

监控并获得各现场可编程门阵列FPGA的空闲区域资源数量及其正在处理任务的数据通信速率;Monitor and obtain the number of free area resources of each field programmable gate array FPGA and the data communication rate of the tasks being processed;

监控并获得各可用数字信号处理器的资源总数及可用数字信号处理器正在处理任务的数据通信速率;Monitor and obtain the total number of resources of each available digital signal processor and the data communication rate of the tasks being processed by the available digital signal processors;

监控并获得各可用通用处理器的资源总数及可用通用处理器正在处理任务的数据通信速率。Monitor and obtain the total number of resources of each available general-purpose processor and the data communication rate of the tasks being processed by the available general-purpose processor.

当存在待处理任务时,根据待处理任务配置文件,获取待处理任务的时延要求、计算需求和数据通信需求。When there is a task to be processed, the delay requirements, computing requirements and data communication requirements of the task to be processed are obtained according to the task configuration file to be processed.

步骤3)所述对星载计算平台异构计算资源进行动态分配的方法,包括:通用处理器和数字信号处理器的动态分配方法,以及在在现场可编程门阵列的动态分配方法;Step 3) The method for dynamically allocating heterogeneous computing resources on a spaceborne computing platform includes: a dynamic allocation method for general-purpose processors and digital signal processors, and a dynamic allocation method for field programmable gate arrays;

所述通用处理器和数字信号处理器的动态分配方法,具体为:The dynamic allocation method of the general processor and the digital signal processor is specifically:

A31)设待处理任务i需要处理数据的输入速率为Di bit/s,需要处理Ci个执行周期,设容忍延迟为Ti;处理器j的主频为Fj,当前使用率为Pj,可用通信带宽为Dj bit/s;A31) Assume that the input rate of data to be processed by task i to be processed is Di bit/s, Ci execution cycles need to be processed, and the tolerated delay is Ti; the main frequency of processor j is Fj, the current usage rate is Pj, and the available communication bandwidth is Dj bit/s;

在星载计算平台的通用处理器和数字信号处理器中查找同时满足Dj>Di和Ci/(Fj*(1-Pj))<Ti条件的处理器,并以(Dj-Di)对满足条件的处理器进行排序,将(Dj-Di)值最小的处理器作为任务执行处理器;如果在星载计算平台处理器中不存在满足条件的任务执行处理器时,进入步骤A32),反之,则直接进入步骤4);Find processors that satisfy the conditions of Dj>Di and Ci/(Fj*(1-Pj))<Ti among the general processors and digital signal processors of the spaceborne computing platform, and use (Dj-Di) to satisfy the conditions The processors are sorted, and the processor with the smallest (Dj-Di) value is used as the task execution processor; if there is no task execution processor that meets the conditions in the spaceborne computing platform processor, enter step A32), otherwise, Then go directly to step 4);

A32)对通用处理器和数字信号处理器中正在运行任务及待处理任务进行重分配,重分配方法为,按任务优先级顺序,基于分支定界法搜索满足任务执行时延和通信带宽要求的任务组合,获得处理器和任务组合的最佳匹配,作为任务重分配结果;如果所有任务均被分配完毕,则结束分配,进入步骤4),否则,进入步骤A33);所述处理器包括:通用处理器和数字信号处理器A32) Reallocate running tasks and pending tasks in general processors and digital signal processors. The reallocation method is to search for tasks that meet the task execution delay and communication bandwidth requirements based on the branch and bound method in order of task priority. Task combination, obtain the best match between processor and task combination, as the result of task reallocation; if all tasks are allocated, the allocation ends, and enters step 4), otherwise, enters step A33); the processor includes: General purpose processors and digital signal processors

A33)未分配的任务等待其他任务执行完毕,且系统计算资源释放后,再执行步骤4)。A33) The unassigned tasks wait for other tasks to be executed and the system computing resources are released before executing step 4).

所述的现场可编程门阵列的动态分配方法,具体为:The dynamic allocation method of the field programmable gate array is specifically:

B31)设待处理任务i需要处理数据的输入速率为Di bit/s,所需虚拟化计算资源数为Ai,设虚拟化计算资源区域资源数为Aj,可用通信带宽为Dj bit/s;B31) Assume that the input rate of data to be processed by task i to be processed is Di bit/s, the number of virtualized computing resources required is Ai, the number of resources in the virtualized computing resource area is Aj, and the available communication bandwidth is Dj bit/s;

在计算平台现场可编程门阵列中查找同时满足Aj>Ai和Dj>Di条件的虚拟化计算资源区域,并以(Dj-Di)对满足条件的虚拟化计算资源区域进行排序,(Dj-Di)值最小的虚拟化计算资源区域作为任务执行虚拟化计算资源区域;在计算平台中不存在满足条件的虚拟化计算资源区域时,进入步骤B32);反之,则结束分配,进入步骤5);Search the virtualized computing resource areas that meet the conditions of Aj>Ai and Dj>Di in the field programmable gate array of the computing platform, and sort the virtualized computing resource areas that meet the conditions by (Dj-Di), (Dj-Di ) The virtualized computing resource area with the smallest value is used as the task execution virtualized computing resource area; when there is no virtualized computing resource area that meets the conditions in the computing platform, enter step B32); otherwise, end the allocation and enter step 5);

B32)对虚拟化计算资源区域正在处理任务及待处理任务进行重分配,重分配方法为,按任务优先级顺序,虚拟化计算资源区域根据任务需求设置大小,通过完全重新配置现场可编程门阵列来分配,如果所有任务均被分配完毕,则结束分配,并进入步骤5),否则,进入步骤B33);B32) Reallocate the tasks being processed and the tasks to be processed in the virtualized computing resource area. The reallocation method is to set the size of the virtualized computing resource area according to the task requirements in order of task priority, by completely reconfiguring the field programmable gate array. To allocate, if all tasks have been allocated, end the allocation and go to step 5), otherwise, go to step B33);

B33)未分配任务等待其他任务执行完毕,且系统计算资源释放后,再执行步骤5)。B33) The unallocated task waits for other tasks to be completed and the system computing resources are released before executing step 5).

步骤5)中处理前和处理后数据交互的方法,包括:Methods for interacting with pre-processing and post-processing data in step 5) include:

处理器之间基于高速交换网络进行基于数据订阅发布的系统架构进行数据收发,基于通用处理器作为主控节点实现节点通信管理,其余处理器实现订阅发布系统客户端,客户端在主控节点创建通信实体,通信实体由主控负责存储;Data is sent and received between processors based on a high-speed switching network based on a system architecture based on data subscription and publishing. A general-purpose processor is used as the main control node to implement node communication management. The remaining processors implement the subscription and publishing system client. The client is created on the main control node. Communication entity, the communication entity is stored by the master;

通信实体包括写数据实体和读数据;通信实体用于实现数据通信;各通信实体之间通过高速交换网络进行互联,实现异构互联数据共享;控制数据流和业务数据流采用不同的主题进行数据发送和接收。Communication entities include writing data entities and reading data; communication entities are used to implement data communication; each communication entity is interconnected through a high-speed switching network to realize heterogeneous interconnection data sharing; control data flow and business data flow use different themes to carry out data Send and receive.

所述处理器之间高速交换网络,包括:The high-speed switching network between the processors includes:

计算资源之间采用全交换方式,具体可以为高速光交换网络、高速RapidIO交换网络和或以太网交换网络。Computing resources adopt a full switching method, which can be a high-speed optical switching network, a high-speed RapidIO switching network, or an Ethernet switching network.

一种软件化载荷计算资源虚拟化分配装置,包含四个功能模块:A software-based load computing resource virtualization allocation device includes four functional modules:

系统资源监控模块:负责系统资源和任务状态的监控,对星载计算平台待处理任务状态、正处理任务状态及异构计算资源使用状态进行监控,获得监控数据;System resource monitoring module: Responsible for monitoring system resources and task status, monitoring the status of pending tasks, status of tasks being processed, and usage status of heterogeneous computing resources on the space-borne computing platform, and obtaining monitoring data;

系统任务管理模块:负责任务配置和运行时控制,根据待处理任务状态、正处理任务状态,对星载计算平台异构计算资源进行动态分配,获得星载计算平台异构计算资源的分配方案;System task management module: Responsible for task configuration and runtime control, dynamically allocate heterogeneous computing resources of the space-borne computing platform based on the status of tasks to be processed and the status of tasks being processed, and obtain the allocation plan for the heterogeneous computing resources of the space-borne computing platform;

任务动态部署模块:负责对用户任务部署,根据硬件计算资源动态分配结果,部署待处理任务和正处理任务;Task dynamic deployment module: Responsible for user task deployment, deploying pending tasks and ongoing tasks based on the dynamic allocation results of hardware computing resources;

数据订阅发布模块:负责各异构处理器任务之间的通信,根据处理任务的部署方式,在异构处理器上配置订阅发布客户端,实现处理前和处理后数据的交互。Data subscription and publishing module: Responsible for communication between heterogeneous processor tasks. According to the deployment method of processing tasks, the subscription and publishing client is configured on the heterogeneous processor to realize the interaction of pre-processing and post-processing data.

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。The technical solutions 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.

参照图1,示出了本发明实施例提供的一种软件化载荷计算资源虚拟化分配方法的步骤流程图,如图1所示,该软件化载荷计算资源虚拟化方法,可以应用于对卫星的计算处理平台,在本实施例中,卫星计算平台包含四块板卡,板卡1包括2片Power PC处理器和1片存储芯片、板卡2包括4片FPGA,每片FPGA分成4个可重构区域、板卡3包括4片DSP,每片DSP包括8个核。各板卡计算芯片之间通过以太网协议实现全交换传输数据。Referring to Figure 1, there is shown a step flow chart of a software-based load computing resource virtualization allocation method provided by an embodiment of the present invention. As shown in Figure 1, the software-based load calculation resource virtualization method can be applied to satellites. In this embodiment, the satellite computing platform includes four boards. Board 1 includes 2 Power PC processors and 1 memory chip. Board 2 includes 4 FPGAs. Each FPGA is divided into 4 Reconfigurable area, board 3 includes 4 DSPs, each DSP includes 8 cores. The computing chips of each board realize full exchange and transmission of data through the Ethernet protocol.

如图1所示,具体可以包括如下步骤:As shown in Figure 1, the specific steps may include:

步骤101:对星载计算平台处理待任务状态、正处理任务状态及异构计算资源使用状态进行监控;Step 101: Monitor the status of pending tasks, the status of tasks being processed, and the usage status of heterogeneous computing resources on the spaceborne computing platform;

存在待处理任务时,根据待处理任务配置文件,获取待处理任务的时延要求、计算需求和数据通信需求;When there is a task to be processed, the delay requirements, computing requirements and data communication requirements of the task to be processed are obtained according to the task configuration file to be processed;

另外还要获取系统资源状态信息,包括:In addition, system resource status information must be obtained, including:

各现场可编程门阵列的空闲区域资源数量及其正处理任务数据通信速率;The number of free area resources of each field programmable gate array and the data communication rate of the tasks being processed;

各可用数字信号处理器的资源总数及其正处理任务数据通信速率;The total number of resources of each available digital signal processor and the data communication rate of the task being processed;

各可用通用处理器的资源总数及其正处理任务数据通信速率。The total resources of each available general-purpose processor and the communication rate of the task being processed.

步骤102:根据待处理任务状态对星载计算平台异构计算资源进行虚拟化;Step 102: Virtualize the heterogeneous computing resources of the spaceborne computing platform according to the status of the tasks to be processed;

Power PC处理器运行嵌入式实时操作系统,作为系统主控节点,获取任务信息和系统状态信息,管理系统计算任务,进行系统计算资源分配控制。The Power PC processor runs an embedded real-time operating system and serves as the system master control node to obtain task information and system status information, manage system computing tasks, and perform system computing resource allocation control.

FPGA包括分为一个高速通信客户端实现区域和多个虚拟化计算资源区域,现场可编程门阵列与其它处理器通过高速接口连接,虚拟化计算资源区域通过高速通信客户端对外通信,根据虚拟化计算资源区域执行任务的通信需求和任务优先级对通信接口进行配置,保证高数据需求和高优先级任务执行。每个虚拟化计算资源区域具有地址/数据接口,中断接口以及时钟和复位信号。实现同时多个任务同时运行。The FPGA is divided into a high-speed communication client implementation area and multiple virtualized computing resource areas. The field programmable gate array is connected to other processors through high-speed interfaces. The virtualized computing resource area communicates externally through the high-speed communication client. According to the virtualization The communication interface is configured according to the communication requirements and task priority of execution tasks in the computing resource area to ensure the execution of high data requirements and high priority tasks. Each virtualized computing resource region has an address/data interface, an interrupt interface, and clock and reset signals. Achieve multiple tasks running at the same time.

DSP其中Core0实现订阅发布客户端,实现数据的发送和接收,剩余的资源作为虚拟资源进行分配,根据执行任务的通信需求和任务优先级对通信接口进行配置,保证高数据需求和高优先级任务执行。In DSP, Core0 implements the subscription publishing client to realize the sending and receiving of data. The remaining resources are allocated as virtual resources. The communication interface is configured according to the communication requirements and task priority of the execution task to ensure high data requirements and high priority tasks. implement.

步骤103:根据监控数据和处理任务要求,对星载计算平台异构计算资源进行动态分配或者重分配;Step 103: Dynamically allocate or reallocate the heterogeneous computing resources of the spaceborne computing platform according to the monitoring data and processing task requirements;

设待处理任务1需要处理数据的输入速率为1M bit/s,需要处理10M个执行周期,设容忍延迟为50ms;处理器Power PC 1的主频为1GHz,当前使用率为20%,可用通信带宽为20M bit/s。处理器Power PC 2的主频为1GHz,当前使用率为30%,可用通信带宽为10Mbit/s。Assume that the input rate of data to be processed by task 1 is 1M bit/s, 10M execution cycles need to be processed, and the tolerated delay is 50ms; the main frequency of the processor Power PC 1 is 1GHz, the current usage rate is 20%, and communication is available The 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 10Mbit/s.

在计算平台处理器中查找同时满足Dj>Di和Ci/(Fj*(1-Pj))<Ti条件的处理器,并以(Dj-Di)对满足条件的处理器进行排序,(Dj-Di)值最小的处理器作为任务执行处理器。分配处理器Power PC 2进行任务1的处理。Search the computing platform processors for processors that satisfy both Dj>Di and Ci/(Fj*(1-Pj))<Ti conditions, and sort the processors that meet the conditions by (Dj-Di), (Dj- The processor with the smallest Di) value is used as the task execution processor. The processor Power PC 2 is assigned to process task 1.

在计算平台处理器中不存在满足条件的处理器时,对处理器正在运行任务及待处理任务进行重分配,重分配方法为,按任务优先级顺序,基于分支定界法搜索满足任务执行时延和通信带宽要求的任务组合,获得处理器和任务组合的最佳匹配,作为任务重分配具体实施方式。When there is no processor that meets the conditions in the computing platform processor, the processor's running tasks and to-be-processed tasks are reallocated. The reallocation method is to search for tasks that satisfy the task execution based on the branch and bound method in order of task priority. The task combination of delay and communication bandwidth requirements is used to obtain the best match between the processor and the task combination as a specific implementation method of task redistribution.

如果所有任务均分配到相应处理,则分配结束,否则,未分配任务等待其他任务执行完毕,系统计算资源释放,再执行步骤103过程。If all tasks are assigned to corresponding processing, the assignment ends. Otherwise, the unassigned tasks wait for other tasks to be completed, the system computing resources are released, and then step 103 is performed.

对于在现场可编程门阵列上执行的任务,设待处理任务2需要处理数据的输入速率为1G bit/s,所需虚拟化计算资源区域可编程逻辑块数量为2300,设虚拟化计算资源区域1可编程逻辑块数量为5000,可用通信带宽为500M bit/s,设虚拟化计算资源区域2可编程逻辑块数量为3000,可用通信带宽为1500M bit/s在计算平台现场可编程门阵列中查找同时满足Aj>Ai和Dj>Di条件的虚拟化计算资源区域,并以(Dj-Di)对满足条件的虚拟化计算资源区域进行排序,(Dj-Di)值最小的虚拟化计算资源区域作为任务执行虚拟化计算资源区域。因此使用虚拟化计算资源区域2作为任务执行区域。For tasks executed on field programmable gate arrays, assume that the input rate of data to be processed by task 2 is 1G bit/s, and the number of programmable logic blocks in the required virtualized computing resource area is 2300. Assume that the virtualized computing resource area 1. The number of programmable logic blocks is 5000, and the available communication bandwidth is 500M bit/s. Assume that the number of programmable logic blocks in the virtualized computing resource area 2 is 3000, and the available communication bandwidth is 1500M bit/s. In the computing platform field programmable gate array Find the virtualized computing resource areas that satisfy both Aj>Ai and Dj>Di conditions, and sort the virtualized computing resource areas that meet the conditions by (Dj-Di). The virtualized computing resource area with the smallest (Dj-Di) value Execute virtualized computing resource areas as tasks. Therefore, virtualized computing resource area 2 is used as the task execution area.

在计算平台中不存在满足条件的虚拟化计算资源区域时,对虚拟化计算资源区域正在运行任务及待处理任务进行重分配,重分配方法为,按任务优先级顺序,虚拟化计算资源区域根据任务需求设置大小,通过完全重新配置现场可编程门阵列来更改,如果所有任务均分配到相应处理,则分配结束,否则,未分配任务等待其他任务执行完毕,系统计算资源释放,再执行步骤103过程。When there is no virtualized computing resource area that meets the conditions in the computing platform, the running tasks and pending tasks in the virtualized computing resource area are reallocated. The reallocation method is, in order of task priority, the virtualized computing resource area is based on The task requirement setting size is changed by completely reconfiguring the field programmable gate array. If all tasks are allocated to the corresponding processing, the allocation is completed. Otherwise, the unallocated tasks wait for other tasks to be completed, the system computing resources are released, and then step 103 is performed. process.

步骤104:根据硬件计算资源动态重分配结果部署处理任务;Step 104: Deploy processing tasks according to the dynamic reallocation results of hardware computing resources;

编译好的任务执行比特流文件和相应的配置文件存储在计算平台存储单元上,计算平台根据用户任务要求加载相应的比特流文件到步骤103分配的处理器,并对任务执行进行启动、配置、停止和卸载管理。The compiled task execution bitstream file and the corresponding configuration file are stored in the storage unit of the computing platform. The computing platform loads the corresponding bitstream file to the processor assigned in step 103 according to the user's task requirements, and starts, configures, and executes the task. Stop and uninstall management.

步骤105:根据处理任务部署方式配置异构计算资源订阅发布客户端,实现处理前和处理后数据的交互。Step 105: Configure the heterogeneous computing resource subscription and publishing client according to the processing task deployment method to realize the interaction of pre-processing and post-processing data.

处理器之间基于高速以太网交换网络进行基于数据订阅发布的系统架构进行数据收发,基于通用处理器作为主控节点实现节点通信管理,其余处理器实现订阅发布系统客户端,客户端在主控节点创建通信实体,通信实体由主控负责存储。The processors use a high-speed Ethernet switching network to send and receive data based on a system architecture based on data subscription and release. The general processor is used as the main control node to implement node communication management. The other processors implement the subscription and release system client. The client is in the main control unit. The node creates a communication entity, and the master is responsible for storing the communication entity.

通信实体包括写数据实体和读数据实体用于实现数据通信。各实体基于高速以太网交换网络互联,实现异构互联数据共享。控制数据流和业务数据流采用不同的主题进行数据发送和接收。Communication entities include writing data entities and reading data entities for realizing data communication. Each entity is interconnected based on high-speed Ethernet switching network to realize heterogeneous interconnection data sharing. Control data flow and business data flow use different topics to send and receive data.

根据应用模块的实际需要设置相对应的操作,包括初始化,配置,查询,启动,停止、应用数据传输等,对操作进行编码,操作的识别和处理由订阅发布适配单元完成。对所有的需要数据传输的操作由订阅发布机制来实现。Set corresponding operations according to the actual needs of the application module, including initialization, configuration, query, start, stop, application data transmission, etc., and code the operations. The identification and processing of the operations are completed by the subscription-publishing adaptation unit. All operations requiring data transmission are implemented by the subscription-publish mechanism.

参照图2示出了本发明实施例提供的一种软件化载荷计算资源虚拟化分配装置的结构示意图,如图2所示,具体可以包括如下模块:Referring to Figure 2, a schematic structural diagram of a software-based load computing resource virtualization allocation device provided by an embodiment of the present invention is shown. As shown in Figure 2, it may specifically include the following modules:

系统资源监控模块:负责系统资源和任务状态的监控;System resource monitoring module: responsible for monitoring system resources and task status;

系统任务管理模块:负责任务配置和运行时控制;System task management module: responsible for task configuration and runtime control;

任务动态部署模块:负责对用户任务部署和计算资源的动态灵活配置;Task dynamic deployment module: responsible for user task deployment and dynamic and flexible configuration of computing resources;

数据订阅发布模块:负责各处理器任务之间的通信。Data subscription and publishing module: responsible for communication between processor tasks.

所述的数据订阅发布模块分为5个功能单元,包括:The data subscription and publishing module is divided into 5 functional units, including:

订阅发布管理单元:负责订阅发布通信管理;Subscription and publication management unit: responsible for subscription and publication communication management;

订阅发布接收单元:负责解析通信报文头信息;Subscription publishing receiving unit: responsible for parsing communication message header information;

订阅发布发送单元:负责封装通信报文头信息;Subscription publishing sending unit: responsible for encapsulating communication message header information;

接收操作适配单元:负责解析与每个应用模块相关的操作名称和参数,然后将数据传递给特定的FPGA或DSP或CPU逻辑模块进行处理;Receiving operation adaptation unit: responsible for parsing the operation names and parameters related to each application module, and then passing the data to a specific FPGA or DSP or CPU logic module for processing;

发送操作适配单元:负责封装与每个应用模块相关的操作名称和参数。Send operation adaptation unit: Responsible for encapsulating the operation name and parameters related to each application module.

如果处理结果需要向外部发送,则订阅发布引擎根据预先配置的信息,将结果封装为请求报文或应答报文,并通过订阅发布机制进行传输。If the processing results need to be sent externally, the subscription publishing engine encapsulates the results into a request message or a response message based on the preconfigured information, and transmits it through the subscription publishing mechanism.

处理功能由应用模块实现,每个应用模块都有自己专属的处理操作名称和参数的处理单元,操作名称和参数从配置文件获得。应用模块根据控制信息和订阅发布数据完成相应的计算处理,给出处理结果,并通过订阅发布机制发送到进一步处理模块。The processing function is implemented by the application module. Each application module has its own processing unit for processing operation names and parameters. The operation names and parameters are obtained from the configuration file. The application module completes corresponding calculation processing based on the control information and subscription and publication data, gives the processing results, and sends them to the further processing module through the subscription and publication mechanism.

本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。Although the present invention has been disclosed above in terms of preferred embodiments, they are not intended to limit the present invention. Any person skilled in the art can utilize the methods and technical contents disclosed above to improve the present invention without departing from the spirit and scope of the present invention. Possible changes and modifications are made to the technical solution. Therefore, any simple modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solution of the present invention, all belong to the technical solution of the present invention. protected range.

本发明说明书中未作详细描述的内容属本领域专业技术人员的公知技术。Contents not described in detail in the specification of the present invention belong to the well-known techniques of those skilled in the art.

Claims (3)

1.一种软件化载荷计算资源虚拟化分配方法,其特征在于,包括以下步骤:1. A software-based load computing resource virtualization allocation method, characterized by including the following steps: 1)对星载计算平台任务状态及星载计算平台的异构计算资源使用状态进行监控,获得监控数据;所述任务状态包括:待处理任务的状态和正在处理任务的状态;1) Monitor the task status of the spaceborne computing platform and the usage status of heterogeneous computing resources of the spaceborne computing platform, and obtain monitoring data; the task status includes: the status of tasks to be processed and the status of tasks being processed; 2)根据任务状态,对星载计算平台异构计算资源进行虚拟化处理,获得异构计算资源虚拟化划分结果;2) According to the task status, perform virtualization processing on the heterogeneous computing resources of the spaceborne computing platform and obtain the virtualization division results of the heterogeneous computing resources; 3)根据步骤1)获得的任务状态和异构计算资源使用状态监控数据并根据步骤2)获得的异构计算资源虚拟化划分结果,对星载计算平台异构计算资源进行动态分配,获得星载计算平台异构计算资源的分配方案并作为硬件计算资源动态分配结果;3) Based on the task status and heterogeneous computing resource usage status monitoring data obtained in step 1) and the heterogeneous computing resource virtualization division results obtained in step 2), dynamically allocate the heterogeneous computing resources of the satellite computing platform to obtain the satellite The allocation plan of heterogeneous computing resources on the load computing platform is used as the dynamic allocation result of hardware computing resources; 4)根据步骤3)所述硬件计算资源动态分配结果,部署待处理任务和正在处理的任务,获得处理任务的部署方式;4) According to the dynamic allocation result of hardware computing resources described in step 3), deploy the tasks to be processed and the tasks being processed, and obtain the deployment method of processing tasks; 5)根据步骤4)处理任务的部署方式,在异构处理器上配置订阅发布客户端,实现处理前和处理后数据的交互;5) According to the deployment method of processing tasks in step 4), configure the subscription publishing client on the heterogeneous processor to realize the interaction of pre-processing and post-processing data; 所述异构计算资源包括:现场可编程门阵列、数字信号处理器和通用处理器对应的处理资源;The heterogeneous computing resources include: processing resources corresponding to field programmable gate arrays, digital signal processors and general-purpose processors; 步骤2)所述对星载计算平台异构计算资源进行虚拟化处理的方法包括:现场可编程门阵列的虚拟化处理的方法、数字信号处理器的虚拟化处理的方法以及通用处理器的虚拟化处理的方法;Step 2) The method for virtualizing heterogeneous computing resources of a spaceborne computing platform includes: a virtualization processing method for a field programmable gate array, a virtualization processing method for a digital signal processor, and a virtualization processing method for a general-purpose processor. Chemical treatment methods; 所述现场可编程门阵列的虚拟化处理的方法为:根据任务状态将现场可编程门阵列逻辑资源分为一个高速通信客户端实现区域,以及多个虚拟化计算资源区域,所述虚拟化计算资源区域通过通信客户端对外通信;The virtualization processing method of the field programmable gate array is: dividing the field programmable gate array logic resources into a high-speed communication client implementation area and multiple virtualization computing resource areas according to the task status. The virtualization computing The resource area communicates externally through the communication client; 所述数字信号处理器的虚拟化处理的方法为:根据任务状态,基于专门的数字信号处理器任务收发信息,剩余的虚拟化计算资源作为虚拟资源进行分配;The virtualization processing method of the digital signal processor is: according to the task status, based on the dedicated digital signal processor task to send and receive information, the remaining virtualized computing resources are allocated as virtual resources; 所述通用处理器的虚拟化处理的方法为:基于嵌入式操作系统进行虚拟化计算资源的划分;The virtualization processing method of the general processor is: dividing virtualized computing resources based on the embedded operating system; 步骤3)所述对星载计算平台异构计算资源进行动态分配的方法,包括:通用处理器和数字信号处理器的动态分配方法,以及在在现场可编程门阵列的动态分配方法;Step 3) The method for dynamically allocating heterogeneous computing resources on a spaceborne computing platform includes: a dynamic allocation method for general-purpose processors and digital signal processors, and a dynamic allocation method for field programmable gate arrays; 所述通用处理器和数字信号处理器的动态分配方法,具体为:The dynamic allocation method of the general processor and the digital signal processor is specifically: A31)设待处理任务i需要处理数据的输入速率为Di bit/s,需要处理Ci个执行周期,设容忍延迟为Ti;处理器j的主频为Fj,当前使用率为Pj,可用通信带宽为Dj bit/s;A31) Assume that the input rate of data to be processed by task i to be processed is Di bit/s, Ci execution cycles need to be processed, and the tolerated delay is Ti; the main frequency of processor j is Fj, the current usage rate is Pj, and the available communication bandwidth is Dj bit/s; 在星载计算平台的通用处理器和数字信号处理器中查找同时满足Dj>Di和Ci/(Fj*(1-Pj))<Ti条件的处理器,并以(Dj-Di)对满足条件的处理器进行排序,将(Dj-Di)值最小的处理器作为任务执行处理器;如果在星载计算平台处理器中不存在满足条件的任务执行处理器时,进入步骤A32),反之,则直接进入步骤4);Find processors that satisfy the conditions of Dj>Di and Ci/(Fj*(1-Pj))<Ti among the general processors and digital signal processors of the spaceborne computing platform, and use (Dj-Di) to satisfy the conditions The processors are sorted, and the processor with the smallest (Dj-Di) value is used as the task execution processor; if there is no task execution processor that meets the conditions in the spaceborne computing platform processor, enter step A32), otherwise, Then go directly to step 4); A32)对通用处理器和数字信号处理器中正在运行任务及待处理任务进行重分配,重分配方法为,按任务优先级顺序,基于分支定界法搜索满足任务执行时延和通信带宽要求的任务组合,获得处理器和任务组合的最佳匹配,作为任务重分配结果;如果所有任务均被分配完毕,则结束分配,进入步骤4),否则,进入步骤A33);所述处理器包括:通用处理器和数字信号处理器A32) Reallocate running tasks and pending tasks in general processors and digital signal processors. The reallocation method is to search for tasks that meet the task execution delay and communication bandwidth requirements based on the branch and bound method in order of task priority. Task combination, obtain the best match between processor and task combination, as the result of task reallocation; if all tasks are allocated, the allocation ends, and enters step 4), otherwise, enters step A33); the processor includes: General purpose processors and digital signal processors A33)未分配的任务等待其他任务执行完毕,且系统计算资源释放后,再执行步骤4);A33) The unallocated tasks wait for other tasks to be executed and the system computing resources are released before executing step 4); 所述的现场可编程门阵列的动态分配方法,具体为:The dynamic allocation method of the field programmable gate array is specifically: B31)设待处理任务i需要处理数据的输入速率为Di bit/s,所需虚拟化计算资源数为Ai,设虚拟化计算资源区域资源数为Aj,可用通信带宽为Dj bit/s;B31) Assume that the input rate of data to be processed by task i to be processed is Di bit/s, the number of virtualized computing resources required is Ai, the number of resources in the virtualized computing resource area is Aj, and the available communication bandwidth is Dj bit/s; 在计算平台现场可编程门阵列中查找同时满足Aj>Ai和Dj>Di条件的虚拟化计算资源区域,并以(Dj-Di)对满足条件的虚拟化计算资源区域进行排序,(Dj-Di)值最小的虚拟化计算资源区域作为任务执行虚拟化计算资源区域;在计算平台中不存在满足条件的虚拟化计算资源区域时,进入步骤B32);反之,则结束分配,进入步骤5);Search the virtualized computing resource areas that meet the conditions of Aj>Ai and Dj>Di in the field programmable gate array of the computing platform, and sort the virtualized computing resource areas that meet the conditions by (Dj-Di), (Dj-Di ) The virtualized computing resource area with the smallest value is used as the task execution virtualized computing resource area; when there is no virtualized computing resource area that meets the conditions in the computing platform, enter step B32); otherwise, end the allocation and enter step 5); B32)对虚拟化计算资源区域正在处理任务及待处理任务进行重分配,重分配方法为,按任务优先级顺序,虚拟化计算资源区域根据任务需求设置大小,通过完全重新配置现场可编程门阵列来分配,如果所有任务均被分配完毕,则结束分配,并进入步骤5),否则,进入步骤B33);B32) Reallocate the tasks being processed and the tasks to be processed in the virtualized computing resource area. The reallocation method is to set the size of the virtualized computing resource area according to the task requirements in order of task priority, by completely reconfiguring the field programmable gate array. To allocate, if all tasks have been allocated, end the allocation and go to step 5), otherwise, go to step B33); B33)未分配任务等待其他任务执行完毕,且系统计算资源释放后,再执行步骤5);B33) The unallocated task waits for other tasks to be executed and the system computing resources are released before executing step 5); 步骤5)所述实现处理前和处理后数据交互的方法,具体为:The method for realizing pre-processing and post-processing data interaction described in step 5) is specifically: 51)星载计算平台上各处理器之间通过高速交换网络互联,任选其中一个通用处理器作为通信管理控制节点,用于各处理器上任务间的数据通信管理;51) Each processor on the satellite computing platform is interconnected through a high-speed switching network, and one of the general-purpose processors is selected as a communication management control node for data communication management between tasks on each processor; 52)在各星载计算平台处理器上均实现订阅发布系统客户端;52) Implement the subscription publishing system client on each satellite computing platform processor; 53)各星载计算平台处理器上的订阅发布客户端根据步骤4)所获得的处理任务的部署方式,创建订阅者和发布者,用于处理器上任务间的数据交互;53) The subscription publishing client on each satellite computing platform processor creates subscribers and publishers based on the deployment method of processing tasks obtained in step 4) for data interaction between tasks on the processor; 所述处理器之间高速交换网络,包括:高速光交换网络、高速RapidIO交换网络和或以太网交换网络中的任意一个。The high-speed switching network between processors includes: any one of a high-speed optical switching network, a high-speed RapidIO switching network, and/or an Ethernet switching network. 2.根据权利要求1所述的一种软件化载荷计算资源虚拟化分配方法,其特征在于,步骤1)所述对星载计算平台任务状态及星载计算平台的异构计算资源使用状态进行监控的方法,包括:2. A software-based load computing resource virtualization allocation method according to claim 1, characterized in that step 1) describes the task status of the spaceborne computing platform and the heterogeneous computing resource usage status of the spaceborne computing platform. Monitoring methods include: 监控并获得各现场可编程门阵列FPGA的空闲区域资源数量及其正在处理任务的数据通信速率;Monitor and obtain the number of free area resources of each field programmable gate array FPGA and the data communication rate of the tasks being processed; 监控并获得各可用数字信号处理器的资源总数及可用数字信号处理器正在处理任务的数据通信速率;Monitor and obtain the total number of resources of each available digital signal processor and the data communication rate of the tasks being processed by the available digital signal processors; 监控并获得各可用通用处理器的资源总数及可用通用处理器正在处理任务的数据通信速率;Monitor and obtain the total number of resources of each available general-purpose processor and the data communication rate of the tasks being processed by the available general-purpose processor; 当存在待处理任务时,根据待处理任务配置文件,获取待处理任务的时延要求、计算需求和数据通信需求。When there is a task to be processed, the delay requirements, computing requirements and data communication requirements of the task to be processed are obtained according to the task configuration file to be processed. 3.用于实现如权利要求2所述的一种软件化载荷计算资源虚拟化分配方法的一种软件化载荷计算资源虚拟化分配装置,其特征在于,包括:3. A software-based load computing resource virtualization allocation device used to implement a software-based load computing resource virtualization allocation method as claimed in claim 2, characterized in that it includes: 系统资源监控模块:负责系统资源和任务状态的监控,对星载计算平台待处理任务状态、正处理任务状态及异构计算资源使用状态进行监控,获得监控数据;System resource monitoring module: Responsible for monitoring system resources and task status, monitoring the status of pending tasks, status of tasks being processed, and usage status of heterogeneous computing resources on the space-borne computing platform, and obtaining monitoring data; 系统任务管理模块:负责任务配置和运行时控制,根据待处理任务状态、正处理任务状态,对星载计算平台异构计算资源进行动态分配,获得星载计算平台异构计算资源的分配方案;System task management module: Responsible for task configuration and runtime control, dynamically allocate heterogeneous computing resources of the space-borne computing platform based on the status of tasks to be processed and the status of tasks being processed, and obtain the allocation plan for the heterogeneous computing resources of the space-borne computing platform; 任务动态部署模块:负责对用户任务部署,根据硬件计算资源动态分配结果,部署待处理任务和正处理任务;Task dynamic deployment module: Responsible for user task deployment, deploying pending tasks and ongoing tasks based on the dynamic allocation results of hardware computing resources; 数据订阅发布模块:负责各异构处理器任务之间的通信,根据处理任务的部署方式,在异构处理器上配置订阅发布客户端,实现处理前和处理后数据的交互。Data subscription and publishing module: Responsible for communication between heterogeneous processor tasks. According to the deployment method of processing tasks, the subscription and publishing client is configured on the heterogeneous processor to realize the interaction of pre-processing and post-processing data.
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 CN113608861A (en) 2021-11-05
CN113608861B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117170877B (en) * 2023-10-26 2024-02-23 西安羚控电子科技有限公司 Unmanned aerial vehicle virtualization task management device and method

Citations (7)

* 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
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
CN112260743A (en) * 2020-09-16 2021-01-22 西安空间无线电技术研究所 A computing resource allocation method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588795B2 (en) * 2014-11-24 2017-03-07 Aspen Timber LLC Monitoring and reporting resource allocation and usage in a virtualized environment
US11063818B2 (en) * 2019-05-21 2021-07-13 The Boeing Company Method and apparatus for a software defined satellite and network

Patent Citations (7)

* 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
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
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 西安空间无线电技术研究所 A computing resource allocation method and device

Non-Patent Citations (3)

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

Also Published As

Publication number Publication date
CN113608861A (en) 2021-11-05

Similar Documents

Publication Publication Date Title
US11934883B2 (en) Computer cluster arrangement for processing a computation task and method for operation thereof
KR100986006B1 (en) Microprocessor subsystem
CN109240832B (en) Hardware reconfiguration system and method
CN1934831B (en) Integrated circuit and method for communication service mapping
CN111324558A (en) Data processing method and device, distributed data stream programming framework and related components
CN111694789A (en) Embedded reconfigurable heterogeneous determination method, system, storage medium and processor
CN115705247A (en) A method for running a process and related equipment
CN113608861B (en) Virtualized distribution method and device for software load computing resources
CN116126459A (en) Heterogeneous computing environment-oriented FPGA virtualization implementation method
CN109101457B (en) Method for realizing NDK communication and SRIO transmission based on C6678 single core
Zhao et al. The deployment of FPGA Based on Network in Ultra-large-scale Data Center
Cao et al. Design of hpc node with heterogeneous processors
Ullmann et al. Communication concept for adaptive intelligent run-time systems supporting distributed reconfigurable embedded systems
Balakrishnan et al. Knowledge based expert system for forging die design
HK40007444A (en) A computer cluster arrangement for processing a computation task and method for operation thereof
HK1187431A (en) A computer cluster arrangement for processing a computation task and method for operation thereof
WO2017003295A1 (en) A computing platform system arranged for executing a plurality of processes and a method for handling processes in one of a plurality of connected computing platforms comprised in a computing platform system
HK1187431B (en) A computer cluster arrangement for processing a computation task and method for operation thereof

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
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载