A resource management method and system based on embedded heterogeneous computing scenarios

By leveraging the OpenAMP framework and link layer extensions, tasks are dynamically allocated to heterogeneous units, solving the problems of uneven resource utilization and suboptimal power consumption control in embedded heterogeneous computing scenarios, and achieving balanced utilization and flexible management of heterogeneous units.

CN119690614BActive Publication Date: 2025-11-07HUAZHI (BEIJING) TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411746919.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2025-11-07
Estimated Expiration
2044-11-29

AI Technical Summary

Technical Problem

In embedded heterogeneous computing scenarios, uneven utilization of heterogeneous resources, unoptimized power consumption control, and inflexible overall system architecture make it difficult to adapt to the management of multi-chip heterogeneous units.

Method used

Using OpenAMP as the communication base, combined with PCIe and Ethernet link layers, tasks are dynamically allocated to heterogeneous units. Units with low utilization are used as secondary heterogeneous units to process tasks, and resource scheduling and power consumption optimization are achieved through the modular management of OpenAMP.

Benefits of technology

It achieves balanced utilization of heterogeneous units, optimized power consumption control, and improved system architecture flexibility, making it suitable for multi-chip heterogeneous management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119690614B_ABST
    Figure CN119690614B_ABST
Patent Text Reader

Abstract

The application discloses a resource management method and system based on an embedded heterogeneous computing scene, and comprises the following steps: after receiving a target type of task, the target type of task is distributed to a first heterogeneous unit in the system which can originally process the target type of task, the heterogeneous units are all based on OpenAMP as a communication base, the link layer of OpenAMP supports PCIe and Ethernet, so that heterogeneous management between the heterogeneous units of different chips is realized; the task exists in the form of a module; when the number of the obtained target type of task which is not processed exceeds a first threshold value, the utilization rates of all the heterogeneous units in the system are obtained, one or more second heterogeneous units are determined to send an algorithm for processing the target type of task to the second heterogeneous units, and the target type of task is distributed to the first heterogeneous unit and the second heterogeneous units on demand. Through the application, the utilization rates of the heterogeneous resources are balanced, and new functional characteristics do not need to be redeployed.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, in particular to a task scheduling system and method based on embedded heterogeneous computing scenarios. BACKGROUND

[0002] Heterogeneous computing resources refer to the use of different types of processors or cores in a system, each of which is good at processing a specific type of task. In the fields of communication devices, autonomous driving, high-performance computing, big data processing, etc., heterogeneous computing resources are widely used. Some common heterogeneous computing resources include CPU, GPU, DSP, FPGA, NPU, etc. The management of heterogeneous computing resources needs to effectively coordinate these different types of processors so that they can work together to complete tasks.

[0003] In the embedded heterogeneous computing scenario, each heterogeneous unit mostly runs a specific computing task independently, and the heterogeneous computing resources communicate through messages. There is no global heterogeneous resource scheduling management in the system, and all computing tasks and resources are statically allocated. Therefore, in the embedded heterogeneous computing scenario, the fixed computing task and resource allocation method has some shortcomings:

[0004] (1) The utilization rate of heterogeneous resources is not balanced;

[0005] (2) The power consumption control method cannot reach balance;

[0006] (3) The overall architecture of the system is not flexible, the scalability is limited, and it is not suitable for the management of multi-chip heterogeneous units.

[0007] Therefore, there is an urgent need for a task scheduling method based on embedded heterogeneous computing scenarios to solve the above problems. SUMMARY

[0008] Therefore, in view of the above technical problems, a resource management method and system based on embedded heterogeneous computing scenarios are provided to solve the problems of unbalanced utilization rate of heterogeneous resources, suboptimal power consumption control, and inflexible overall architecture of the system, limited scalability in embedded heterogeneous computing scenarios.

[0009] In a first aspect, a resource management method based on an embedded heterogeneous computing scenario is applied to a main processor unit, and the method comprises:

[0010] When a task of a target type is received, the task of the target type is assigned to a heterogeneous unit originally capable of processing the task of the target type in the system; the heterogeneous unit originally capable of processing the task of the target type is recorded as a first heterogeneous unit; the heterogeneous unit and the main processing unit are both based on OpenAMP as a communication base, and a link layer of the OpenAMP supports both PCIe and Ethernet, so as to realize heterogeneous management between heterogeneous units of different chips; the task exists in a form of a module;

[0011] When the number of acquired tasks of the target type that are not processed exceeds a first threshold value, utilization rates of all heterogeneous units in the system are acquired, and one or more second heterogeneous units are determined according to the number of acquired tasks of the target type that are not processed and the utilization rates of the heterogeneous units; the second heterogeneous units are heterogeneous units having utilization rates lower than a certain value in the system except the first heterogeneous unit;

[0012] An algorithm for processing a task of a target type is sent to the second heterogeneous unit, so that the second heterogeneous unit can process the task of the target type; the received task of the target type that is not processed is assigned to the first heterogeneous unit and the second heterogeneous unit on demand;

[0013] A calculation result returned by the first heterogeneous unit and the second heterogeneous unit is received.

[0014] In the above scheme, optionally, the method further includes: when a utilization rate of a task of a target type decreases to a second preset value, an instruction of unloading an algorithm corresponding to the task of the target type is issued to one or more heterogeneous units processing the task of the target type according to the number of acquired tasks of the target type that are not processed; the heterogeneous units processing the task of the target type are the first heterogeneous unit and the second heterogeneous unit.

[0015] In the above scheme, optionally, the method further includes:

[0016] When an instruction of adding a new function feature is received, a heterogeneous unit having a utilization rate lower than a certain value is selected according to utilization rates of all heterogeneous units in the system, and is recorded as a third heterogeneous unit;

[0017] A task of the new function feature is acquired, and an algorithm for processing the task of the new function feature is sent to the third heterogeneous unit, so that the third heterogeneous unit can process the task of the new function feature;

[0018] The task of the new function feature is assigned to the third heterogeneous unit.

[0019] Optionally, the method further comprises: when the heterogeneous unit is not powered on and reset, sending the power-on and reset operation by the remoteproc unit of the OpenAMP, so that the basic system is started after the power-on and reset.

[0020] Optionally, the method further comprises: obtaining monitoring data of all heterogeneous units in the system, and issuing operation and maintenance instructions; the monitoring information comprises resource utilization, hardware information, software state, and log.

[0021] Optionally, the method further comprises: the heterogeneous unit can send instructions for applying and releasing memory and copying and clearing memory to other heterogeneous units in the system through the rpmsg module of the OpenAMP and the Ethernet / PCIe data link.

[0022] Optionally, the method further comprises: the heterogeneous unit can send data to other storage resource-rich heterogeneous units in the system for storage.

[0023] In a second aspect, a resource management system based on an embedded heterogeneous computing scenario, the system comprises:

[0024] A task allocation module is configured to allocate a target type of task to a heterogeneous unit in a heterogeneous unit system that can originally process the target type of task when the target type of task is received; the heterogeneous unit that can originally process the target type of task is referred to as a first heterogeneous unit; the heterogeneous unit and the main processing unit are both based on OpenAMP as a communication base, and the link layer of the OpenAMP supports both PCIe and Ethernet, so that heterogeneous management between heterogeneous units of different chips is achieved; the task exists in the form of a module;

[0025] A second heterogeneous unit determination module is configured to determine one or more second heterogeneous units according to the number of unprocessed target type of tasks and the utilization rate of the heterogeneous units when the number of unprocessed target type of tasks obtained exceeds a first threshold; the second heterogeneous unit is a heterogeneous unit in the heterogeneous unit system whose utilization rate is lower than a certain value except the first heterogeneous unit;

[0026] A task scheduling module is configured to send an algorithm for processing a target type of task to a second heterogeneous unit, so that the second heterogeneous unit can process the target type of task; and allocate the received unprocessed target type of task to the first heterogeneous unit and the second heterogeneous unit on demand.

[0027] A computing result receiving module is configured to receive the computing result returned by the first heterogeneous unit and the second heterogeneous unit.

[0028] The algorithm offloading module: when the utilization rate of the target type of task decreases to a second preset value, the number of unprocessed target type of tasks is obtained, and the instruction of offloading the algorithm corresponding to the target type of task is issued to one or more heterogeneous units for processing the target type of task; the heterogeneous unit for processing the target type of task is the first heterogeneous unit and the second heterogeneous unit.

[0029] The present application has at least the following beneficial effects:

[0030] (1) The present application uses OpenAMP as the communication base between each heterogeneous unit, and the link layer of OpenAMP supports both PCIe and Ethernet, thereby realizing the heterogeneous mixed deployment within the chip and also suitable for heterogeneous interconnection management between multiple chips.

[0031] (2) When the target type of task is received, the target type of task is allocated to the first heterogeneous unit in the system which can originally process the target type of task; when the number of unprocessed target type of tasks increases beyond the first threshold, the heterogeneous unit with lower utilization rate is determined as the second heterogeneous unit, and the algorithm for processing the target type of task is sent to the second heterogeneous unit, so that the second heterogeneous unit can process the target type of task. The unprocessed target type of task is allocated to the first heterogeneous unit and the second heterogeneous unit according to the principle of utilization balance. Thus, the pressure of the first heterogeneous unit is relieved, and the utilization rate of the heterogeneous unit is balanced, and the power consumption control is improved.

[0032] (3) When a new function feature is added, a third heterogeneous unit with lower utilization rate in the system is selected, and the algorithm for processing the task of the new function feature is sent to the third heterogeneous unit, so that the third heterogeneous unit can process the task of the new function feature. Thus, when a new function feature is added, only the main processor needs to send the algorithm to the heterogeneous unit in the system, so that the corresponding task can be processed, and thus no additional deployment is needed. BRIEF DESCRIPTION OF DRAWINGS

[0033] Figure 1 A flowchart of a resource management method based on an embedded heterogeneous computing scenario is provided for an embodiment of the present application.

[0034] Figure 2 An architecture diagram of setting OpenAMP for a heterogeneous unit is provided for an embodiment of the present application. DETAILED DESCRIPTION

[0035] In order to make the purpose, technical scheme and advantages of the present application clearer, the present application is further described in detail below in combination with the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and do not limit the present application.

[0036] In the description of the present application: unless otherwise specified, the meaning of "multiple" is two or more. The terms "first", "second", "third" and the like in the present application are intended to distinguish the objects referred to, and do not have a special meaning in the technical connotation aspect (for example, it should not be understood as emphasizing importance or order, etc.). The expressions "include", "contain", "have" and the like also mean "not limited to" (some units, components, materials, steps, etc.).

[0037] Some common heterogeneous computing resources include:

[0038] CPU (Central Processing Unit): a traditional general-purpose processor that is good at handling complex control logic and multitasking.

[0039] GPU (Graphics Processing Unit): originally designed for graphics rendering, but modern GPUs are also good at parallel processing of large compute-intensive tasks.

[0040] DSP (Digital Signal Processor): designed specifically for fast and efficient execution of digital signal processing algorithms, such as digital signal processing in communication systems.

[0041] FPGA (Field Programmable Gate Array): a programmable hardware that can be reconfigured at runtime, suitable for scenarios that require highly customized computing tasks.

[0042] NPU (Neural Network Processor): a processor designed specifically for machine learning and deep learning workloads, capable of efficiently executing neural network algorithms.

[0043] In general, in a server-based heterogeneous computing scenario, all heterogeneous resources other than the server CPU exist in the form of PCIe cards, and the control and management of these heterogeneous resources are carried out through drivers and SDKs (Software Development Kits) running on the CPU. The CPU, as the master role, can easily manage and schedule the heterogeneous resources.

[0044] In one embodiment, as shown in Figure 1 a resource management method based on an embedded heterogeneous computing scenario is provided, applied to a main processor unit, the method comprising:

[0045] Step S1: when receiving a task of a target type, assign the task of the target type to a heterogeneous unit originally capable of processing the task of the target type in the system; record the heterogeneous unit originally capable of processing the task of the target type as a first heterogeneous unit; the heterogeneous unit and the main processing unit are based on OpenAMP as a communication base, the link layer of the OpenAMP supports both PCIe and Ethernet, so as to realize heterogeneous management between heterogeneous units of different chips; the task exists in the form of a module;

[0046] Step S2: when the number of acquired unprocessed tasks of the target type exceeds a first threshold value, acquire the utilization rates of all heterogeneous units in the system, and determine one or more second heterogeneous units according to the number of acquired unprocessed tasks of the target type and the utilization rates of the heterogeneous units; the second heterogeneous unit is a heterogeneous unit with a utilization rate lower than a certain value in the system except the first heterogeneous unit;

[0047] Step S3: send a processing algorithm of the target type of task to the second heterogeneous unit, so that the second heterogeneous unit can process the task of the target type of task; assign the received unprocessed tasks of the target type of task to the first heterogeneous unit and the second heterogeneous unit as needed;

[0048] Step S4: receive the calculation results returned by the first heterogeneous unit and the second heterogeneous unit.

[0049] In this embodiment, OpenAMP is used as the communication base of all heterogeneous computing resources.

[0050] OpenAMP (Open Asymmetric Multi-Processing) is an open source framework designed for communication and data exchange between heterogeneous multi-core processors. It allows different operating systems to run in parallel on the same chip, configures and interacts with these environments through a standardized shared memory scheme, thus simplifying the use of system-on-chip (SoC).

[0051] The core components of the OpenAMP framework include:

[0052] 1. Remoteproc: responsible for starting, stopping and managing the life cycle of remote processors, allowing the main processor to control the start and stop of remote processors and load the software version of remote processors.

[0053] 2. RPMsg (Remote Processor Messaging): a lightweight message passing mechanism for low-latency, high-performance data transmission between processors. RPMsg supports dynamic channel creation, making inter-process communication more flexible.

[0054] 3. Virtio: As a transport abstraction layer, Virtio implements efficient bidirectional communication buffer management in shared memory, reducing CPU burden and improving communication efficiency.

[0055] 4. Platform Abstraction Layer (PAL): Provides a set of APIs that hide the complexity of underlying hardware, enabling OpenAMP to run seamlessly on various platforms.

[0056] Conventional only applies to OpenAMP for heterogeneous deployment management of multi-core CPUs, such as Figure 2 As shown, the application extends the link layer of openAMP to support PCIe and Ethernet, the two most commonly used link modes, and of course can also extend to support other modes. Based on this extension, OpenAMP can support heterogeneous deployment within a multi-core SoC, and can also support deployment between heterogeneous chips, and can also support life cycle management between heterogeneous chips when the hardware provides a control channel.

[0057] All computing tasks running on all heterogeneous resources in this application exist in the form of modules, which can be dynamically loaded into the system for execution. In this way, the main processing unit in the system adjusts the types of tasks running on other heterogeneous units on demand and flexibly. Algorithms that are no longer needed can be unloaded and resources released.

[0058] At the same time, in this embodiment, the tasks of the target type mentioned include but are not limited to computing tasks and storage tasks.

[0059] At the same time, based on the rpmsg module, a remote call interface is developed to provide remote call capabilities for computing power. Heterogeneous units can trigger other heterogeneous units to execute specified computing tasks and return execution results through the computing power scheduling interface during system runtime, thereby achieving the effect of computing power scheduling.

[0060] It should be understood that although Figure 1 the steps in the flowchart of the application are displayed in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, the execution of these steps is not strictly limited in sequence, and these steps can be executed in other orders. Moreover, Figure 1 At least part of the steps in the flowchart of the application can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but can be executed in rotation or alternation with other steps or steps or stages in other steps.

[0061] In the resource management method based on the embedded heterogeneous computing scenario, OpenAMP is used as the communication base between each heterogeneous unit, and the link layer of OpenAMP supports both PCIe and Ethernet, so that the heterogeneous mixed deployment in the chip can be realized, and the heterogeneous interconnection management between multiple chips can also be realized. When a target type of task is received, the target type of task is assigned to a first heterogeneous unit in the system that can originally process the target type of task; when the number of unprocessed target type of tasks increases beyond a first threshold, a heterogeneous unit with lower utilization is determined as a second heterogeneous unit, and an algorithm for processing the target type of task is sent to the second heterogeneous unit, so that the second heterogeneous unit can process the target type of task. The unprocessed target type of task is allocated to the first heterogeneous unit and the second heterogeneous unit according to the principle of balanced utilization. In this way, the pressure on the first heterogeneous unit is relieved, the utilization of the heterogeneous units is balanced, and the power consumption control is improved.

[0062] In one embodiment, the method further comprises: when the utilization of the target type of task decreases to a second preset value, issuing an instruction to one or more heterogeneous units for processing the target type of task to unload the algorithm corresponding to the target type of task according to the number of unprocessed target type of tasks obtained; and the heterogeneous units for processing the target type of task are the first heterogeneous unit and the second heterogeneous unit.

[0063] In one embodiment, the method further comprises:

[0064] When the instruction of adding a new function feature is received, a heterogeneous unit with a utilization rate lower than a certain value is selected from all the heterogeneous units in the system, and is recorded as a third heterogeneous unit;

[0065] A task of the new function feature is obtained, and an algorithm for processing the task of the new function feature is sent to the third heterogeneous unit, so that the third heterogeneous unit can process the task of the new function feature.

[0066] The task of the new function feature is allocated to the third heterogeneous unit.

[0067] In this embodiment, when a new function feature is added, a third heterogeneous unit with lower utilization in the system is selected, an algorithm for processing the task of the new function feature is sent to the third heterogeneous unit, so that the third heterogeneous unit can process the task of the new function feature. Therefore, when a new function feature is added, only the host processor needs to send an algorithm to the heterogeneous unit in the system so that it can process the corresponding task, and thus no additional deployment is required.

[0068] In one embodiment, the method further comprises: when the heterogeneous unit is not powered on and reset, sending power-on and reset operations by the remoteproc unit of OpenAMP to start the basic system after power-on and reset.

[0069] In this embodiment, the main processing unit can perform power-on and reset operations on all heterogeneous resources through the remoteproc unit of OpenAMP. After the heterogeneous resources are reset, the basic system is started, and the algorithm is loaded.

[0070] In one embodiment, the method further comprises: obtaining monitoring data of all heterogeneous units in the system, and issuing operation and maintenance instructions; the monitoring information includes resource utilization, hardware information, software state, and log.

[0071] In this embodiment, the heterogeneous resources can be monitored and maintained by the heterogeneous resource management framework, such as querying resource utilization, hardware information, software state, and log.

[0072] In one embodiment, the method further comprises: the heterogeneous unit can send instructions for applying and releasing memory and performing copy and zero memory to other heterogeneous units in the system through the rpmsg module of OpenAMP and the Ethernet / PCIe data link.

[0073] In this embodiment, in the system, the heterogeneous units support applying and releasing remote memory, and provide copy and zero operations between remote memory and local memory.

[0074] In one embodiment, the method further comprises: the heterogeneous unit can send data to other storage resource-rich heterogeneous units in the system for storage.

[0075] In this embodiment, the resource-rich heterogeneous unit can provide data storage services to save specific data or logs for other computing units.

[0076] In one embodiment, a resource management system based on an embedded heterogeneous computing scenario is provided, and the system comprises:

[0077] A task allocation module is configured to allocate a target type of task to a heterogeneous unit originally capable of processing the target type of task in a heterogeneous unit system when the target type of task is received; the heterogeneous unit originally capable of processing the target type of task is recorded as a first heterogeneous unit; the heterogeneous unit and the main processing unit are based on OpenAMP as a communication base, and the link layer of the OpenAMP supports PCIe and Ethernet at the same time to realize heterogeneous management between heterogeneous units of different chips; the task exists in the form of a module.

[0078] The second heterogeneous unit determination module is configured to: when the number of the target type of tasks to be processed obtained exceeds the first threshold value, obtain utilization rates of all heterogeneous units in the heterogeneous unit system, and determine one or more second heterogeneous units according to the number of the target type of tasks to be processed obtained and the utilization rates of the heterogeneous units; the second heterogeneous unit is a heterogeneous unit in the heterogeneous unit system other than the first heterogeneous unit and having a utilization rate lower than a certain value.

[0079] The task scheduling module is configured to: send an algorithm for processing the target type of tasks to the second heterogeneous unit, so that the second heterogeneous unit can process the target type of tasks; and allocate the received target type of tasks to be processed to the first heterogeneous unit and the second heterogeneous unit on demand.

[0080] The calculation result receiving module is configured to receive calculation results returned by the first heterogeneous unit and the second heterogeneous unit.

[0081] The algorithm offloading module is configured to: when the utilization rate of the target type of tasks decreases to a second preset value, send an instruction of offloading an algorithm corresponding to the target type of tasks to one or more heterogeneous units for processing the target type of tasks according to the number of the target type of tasks to be processed obtained; the heterogeneous unit for processing the target type of tasks is the first heterogeneous unit and the second heterogeneous unit.

[0082] The specific definition of the resource management system based on the embedded heterogeneous computing scenario can refer to the definition of the task management method based on the embedded heterogeneous computing scenario in the above, and will not be described here. Each module in the resource management system based on the embedded heterogeneous computing scenario described above can be realized by software, hardware, and combinations thereof, in whole or in part. Each module described above can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory in the computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0083] Each technical feature of the above embodiments can be combined arbitrarily. To make the description concise, each technical feature in the above embodiments is not described in all possible combinations, but as long as the combinations of these technical features do not exist, they should be considered as the scope of the description.

[0084] The above embodiments only express several implementation manners of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent. It should be noted that for ordinary skilled persons in the art, without departing from the concept of the present application, some modifications and improvements can be made, which are all within the protection scope of the present application. Therefore, the protection scope of the patent of the present application should be subject to the appended claims.

Claims

1. A resource management method based on an embedded heterogeneous computing scenario, characterized in that, The method applied to the main processor unit comprises: When a target type of task is received, the target type of task is assigned to a heterogeneous unit originally capable of processing the target type of task in the system; the heterogeneous unit originally capable of processing the target type of task is recorded as a first heterogeneous unit; the heterogeneous unit and the main processing unit are based on OpenAMP as a communication base, and the link layer of the OpenAMP supports both PCIe and Ethernet, so as to realize heterogeneous management between heterogeneous units of different chips; the task exists in the form of a module; When the number of acquired unprocessed target type of tasks exceeds a first threshold value, the utilization rates of all heterogeneous units in the system are acquired, and one or more second heterogeneous units are determined according to the number of acquired unprocessed target type of tasks and the utilization rates of the heterogeneous units; the second heterogeneous unit is a heterogeneous unit with a utilization rate lower than a certain value in the system except the first heterogeneous unit; An algorithm for processing the target type of task is sent to the second heterogeneous unit, so that the second heterogeneous unit can process the target type of task; the received unprocessed target type of task is assigned to the first heterogeneous unit and the second heterogeneous unit as needed; A calculation result returned by the first heterogeneous unit and the second heterogeneous unit is received; The method further comprises: when the utilization rate of the target type of task decreases to a second preset value, an instruction for unloading an algorithm corresponding to the target type of task is issued to one or more heterogeneous units for processing the target type of task according to the number of acquired unprocessed target type of tasks; the heterogeneous unit for processing the target type of task is the first heterogeneous unit and the second heterogeneous unit.

2. The resource management method based on embedded heterogeneous computing scenarios according to claim 1, characterized in that, The method further comprises: When a new function feature is received, a heterogeneous unit with a utilization rate lower than a certain value is selected according to the utilization rates of all heterogeneous units in the system, and is recorded as a third heterogeneous unit; A task of the new function feature is acquired, and an algorithm for processing the task of the new function feature is sent to the third heterogeneous unit, so that the third heterogeneous unit can process the task of the new function feature; The task of the new function feature is assigned to the third heterogeneous unit.

3. The method for resource management in an embedded heterogeneous computing scenario according to claim 1, characterized in that, The method further comprises: when the heterogeneous unit is not powered on and reset, an upper power-on and reset operation is sent through the remoteproc unit of the OpenAMP, so that the basic system is started after the upper power-on and reset.

4. The resource management method based on embedded heterogeneous computing scenarios according to claim 1, characterized in that, The method further comprises: acquiring monitoring data of all heterogeneous units in the system, and issuing an operation and maintenance instruction; the monitoring data comprises resource utilization rate, hardware information, software state, and log.

5. The method for resource management in an embedded heterogeneous computing scenario according to claim 1, characterized in that, The method further comprises: the heterogeneous unit can send an instruction for applying and releasing memory and perform copying and zeroing memory to other heterogeneous units in the system through the rpmsg module of the OpenAMP and the Ethernet / PCIe data link.

6. The method for resource management in an embedded heterogeneous computing scenario according to claim 1, wherein, The method further comprises: the heterogeneous unit can send data to other storage resource-rich heterogeneous units in the system for storage.

7. A resource management system based on embedded heterogeneous computing scenarios, characterized in that, The system comprises: The task allocation module is configured to allocate the target type of task to a heterogeneous unit originally capable of processing the target type of task in the heterogeneous unit system when the target type of task is received; the heterogeneous unit originally capable of processing the target type of task is recorded as a first heterogeneous unit; the heterogeneous unit and the main processing unit are based on OpenAMP as a communication base, and a link layer of the OpenAMP supports both PCIe and Ethernet, so as to realize heterogeneous management between heterogeneous units of different chips; and the task exists in the form of a module. The second heterogeneous unit determination module is configured to acquire utilization rates of all heterogeneous units in the heterogeneous unit system when the number of acquired unprocessed target type of tasks exceeds a first threshold value, and determine one or more second heterogeneous units according to the number of acquired unprocessed target type of tasks and the utilization rates of the heterogeneous units; the second heterogeneous unit is a heterogeneous unit having a utilization rate lower than a certain value in the heterogeneous unit system except the first heterogeneous unit. The task scheduling module is configured to send an algorithm for processing the target type of task to the second heterogeneous unit, so that the second heterogeneous unit can process the target type of task; and allocate the received unprocessed target type of task to the first heterogeneous unit and the second heterogeneous unit on demand. The calculation result receiving module is configured to receive calculation results returned by the first heterogeneous unit and the second heterogeneous unit. The algorithm offloading module is configured to, when the utilization rate of the target type of task drops to a second preset value, issue an instruction of offloading an algorithm corresponding to the target type of task to one or more heterogeneous units for processing the target type of task according to the number of acquired unprocessed target type of tasks; the heterogeneous unit for processing the target type of task is the first heterogeneous unit and the second heterogeneous unit.

8. A processor comprising a memory, the memory storing a computer program, characterized in that, The processor executes the computer program to implement the steps of the method in any one of claims 1 to 6.

9. A computer program product comprising computer programs / instructions, characterized in that, The computer program / instruction is executed by the processor to implement the steps of the method in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Multi-tenant resource optimization scheduling method facing different types of loads

    CN106502792A

  • Heterogeneous platform online reconstruction method based on task scheduling strategy

    CN116909983A

  • Virtualized inter-core communication method of heterogeneous multi-core processor

    CN118193446A

  • Data transmission method and system facing multiple core particles

    CN118349514A