Resource management method and resource management device

By employing target communication methods and RPC technology in a multi-core heterogeneous system, the problem of hardware sharing and calling between systems was solved, enabling efficient processing of artificial intelligence services and improving system performance.

CN119961018BActive Publication Date: 2025-12-30BEIJING SEMIDRIVE TECHNOLOGY LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411833699.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-12
Publication Date
2025-12-30
Estimated Expiration
2044-12-12

AI Technical Summary

Technical Problem

In a multi-system platform, how to achieve efficient sharing or access of hardware devices between systems, especially in multi-core heterogeneous systems, how to effectively utilize the advantages of different processors to accelerate the processing of artificial intelligence applications.

Method used

By adopting target communication methods in multi-core heterogeneous systems, communication connections between domain systems are established, and efficient RPC technology is used to realize the sharing and calling of processor resources. In particular, for artificial intelligence business, processors with strong adaptability are given priority for accelerated processing.

Benefits of technology

It enables efficient access to or sharing of critical resources in multi-core heterogeneous systems under a security protection mechanism, thereby improving the processing efficiency of artificial intelligence services and enhancing the overall performance of multi-system platforms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119961018B_ABST
    Figure CN119961018B_ABST
Patent Text Reader

Abstract

The application discloses a resource management method and a resource management device, wherein the method comprises the following steps: obtaining a first resource request from a first application, the first application being an application of a first domain system in each domain system, and the first resource request being used for requesting a first processor of other domain systems in the each domain system except the first domain system; obtaining first identification information of the other domain systems requested by the first application in the first resource request; and adopting a target communication mode to perform communication connection on the first domain system and a domain system with the first identification information in the other domain systems, so that the first application transmits the first resource request to the domain system with the first identification information based on the communication connection, and requests the domain system with the first identification information to realize or assist to realize processing of a target application service of the first application. Technical support is provided for efficient sharing or calling of hardware devices between systems of a multi-system platform.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of resource management technology, and in particular to a resource management method and a resource management device. Background Technology

[0002] A multi-system platform consists of two or more systems. Considering the independence between systems within a multi-system platform, each system typically has its own hardware devices, such as processors and interrupt controllers. Generally, a system's hardware devices serve its own system. However, in practical applications, there may be situations where one system needs to use the hardware devices of other systems. For multi-system platforms, how to achieve efficient sharing or access to hardware devices between systems has become a pressing technical problem to be solved. Summary of the Invention

[0003] This application provides a resource management method and a resource management device to at least solve the above-mentioned technical problems existing in the prior art.

[0004] According to a first aspect of this application, a resource management method is provided, the method being applied to a multi-core heterogeneous system, the multi-core heterogeneous system comprising at least two hardware domains; each hardware domain consists of multiple processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to each processor core, the hardware domains being isolated from each other; each hardware domain and its corresponding operating system constitute a domain system; at least one of the domain systems comprises a first processor; the method includes:

[0005] A first resource request is received from a first application, which is an application of a first domain system in each domain system. The first resource request is used to request a first processor of another domain system in each domain system besides the first domain system. The first application generates the first resource request when accelerating or assisting in accelerating the implementation of a target application service, and the target application service includes artificial intelligence (AI) services. The multi-core heterogeneous system includes at least two types of processors, and among the at least two types of processors, the first processor has a stronger adaptability to AI services than other types of processors besides the first processor.

[0006] Obtain the first identification information of other domain systems requested by the first application in the first resource request;

[0007] Using a target communication method, a communication connection is established between the first domain system and the other domain systems that have the first identification information, so that the first application can transmit a first resource request to the domain system with the first identification information based on the communication connection, so as to request the first processor to implement or assist in implementing the target application service of the first application from the domain system with the first identification information.

[0008] In the multi-core heterogeneous system, among at least two types of processors, the first processor has a higher processing efficiency for the target application service than the other types of processors. The first application also includes non-target application services, and the first processor is capable of processing the non-target application services. The superiority of the first processor in processing the target application service is significantly greater than the superiority of the first processor in processing the non-target application services.

[0009] In one embodiment, the multi-core heterogeneous system includes N subsystems, where N is a positive integer greater than or equal to 1, and each subsystem includes at least one domain system; the method further includes:

[0010] In response to the fact that the domain system with the first identification information is located in the same subsystem as the first domain system, the business data generated by the first processing resource to be invoked when implementing and / or assisting in the implementation of the application business is saved to the shared memory of the same subsystem. The shared memory is used for the first application to obtain the business data from the communication connection so that the first application can implement the target application business.

[0011] In one possible implementation, the first domain system includes a first logical communication card, the domain system having first identification information includes a second logical communication card, and the method further includes:

[0012] In response to the domain system with first identification information being located in the same subsystem as the first domain system, under the communication connection, the first resource request is transmitted to the second logical communication card via the first logical communication card, and the first feedback information for the first resource request is received via the first logical communication card from the domain system with first identification information transmitted via the second logical communication card, the first feedback information being used to enable the first application to obtain business data from shared memory.

[0013] In one embodiment, the multi-core heterogeneous system includes P subsystems, where P is a positive integer greater than or equal to 2, and each subsystem includes at least one domain system; the method further includes:

[0014] In response to the fact that the domain system with the first identification information is located in a different subsystem from the first domain system, the first domain system receives, through the communication connection, business data generated by the first processing resource of the domain system with the first identification information when implementing and / or assisting in the implementation of the target application business, so as to enable the first application to obtain the business data to implement the target application business;

[0015] Alternatively, the first domain system obtains business data generated by the first processing resources in implementing and / or assisting in implementing the target application business from the agreed area of ​​the first domain system and the domain system with the first identification information, so that the first application can obtain the business data to implement the target application business.

[0016] In one possible implementation, the first domain system includes a first physical communication card, and the domain system having the first identification information includes a second physical communication card; the method further includes:

[0017] In response to the domain system having the first identification information being located in a different subsystem from the first domain system, under the communication connection, a first resource request is transmitted to a second physical communication card via a first physical communication card, and a second feedback information regarding the first resource request is received via the first physical communication card from the domain system having the first identification information via the second physical communication card, the second feedback information being used to enable the first application to obtain business data.

[0018] In one possible implementation, the first domain system includes a first logical communication card, and the domain system having the first identification information includes a second logical communication card; the method further includes:

[0019] Under the communication connection, the first resource request is stored in the message pool of the first domain system through the first logical communication card, so as to transmit the first resource request in the message pool to the second physical communication card through the first physical communication card; and the second feedback information of the first resource request is stored in the message pool of the domain system having the first identification information through the second logical communication card, so as to transmit the second feedback information to the first physical communication card through the second physical communication card.

[0020] In one possible implementation, the method further includes:

[0021] A second resource request is received from a first application, which is an application of a first domain system in each domain system. The second resource request is used to request a first processing resource, which is located in another multi-core heterogeneous system besides the multi-core heterogeneous system. The other multi-core heterogeneous system includes at least two hardware domains. Each hardware domain of the other multi-core heterogeneous system consists of multiple processor cores with different architectures and hardware resources connected to each processor core. The hardware domains are isolated from each other. Each hardware domain of the other multi-core heterogeneous system and the corresponding operating system constitute the domain system of the other multi-core heterogeneous system.

[0022] Obtain the second identification information of the domain system in the other multi-core heterogeneous systems requested by the first application in the second resource request;

[0023] Using a target communication method, a communication connection is established between the first domain system and the other multi-core heterogeneous systems containing the second identification information, so that the first application can transmit a second resource request to the other multi-core heterogeneous systems containing the second identification information based on the communication connection, so as to call the first processing resource in the domain system containing the second identification information, wherein the first processing resource is used to enable the first application to implement the target application business and / or assist the first application in implementing the target application business.

[0024] In one possible implementation, the method further includes:

[0025] If the first domain system includes a physical communication network card, and the other domain systems in the multi-core heterogeneous system that have the second identification information also include physical communication network cards, then

[0026] Under the communication connection, the second resource request is transmitted to the domain system with the second identification information in the other multi-core heterogeneous system through the physical communication network card of the first domain system;

[0027] as well as,

[0028] Under the communication connection, the first domain system receives service data transmitted by the domain system with second identification information in the other multi-core heterogeneous systems through its physical communication network card, so that the first application can realize the target application service.

[0029] The business data refers to the data generated by the first processing resource of the domain system with second identification information when implementing and / or assisting in the implementation of the target application business.

[0030] In one possible implementation, the method further includes:

[0031] Also includes:

[0032] If the first domain system includes a physical communication network interface card (NIC), and the domain system with the second identification information in the other multi-core heterogeneous systems does not include a physical communication network interface card (NIC), while the second domain system in the other multi-core heterogeneous systems includes a physical communication network interface card (NIC), then

[0033] The second domain system is used as a proxy domain system for the other multi-core heterogeneous systems;

[0034] Under the communication connection, the first domain system transmits the second resource request to the proxy domain system of the other multi-core heterogeneous system through the physical communication network card. The second resource request is transmitted by the proxy domain system in the multi-core heterogeneous system to the domain system with the second identification information in the other multi-core heterogeneous system.

[0035] as well as,

[0036] Under the aforementioned communication connection, the first domain system receives service data transmitted via the physical communication network card of the proxy domain system utilizing the physical communication network card of the other multi-core heterogeneous systems, so that the first application can realize the target application service.

[0037] The business data refers to the data generated by the first processing resource of the domain system with second identification information in the other multi-core heterogeneous system when implementing and / or assisting in the implementation of the target application business, and is transmitted from the domain system with second identification information in the other multi-core heterogeneous system to the proxy domain system.

[0038] In one possible implementation, the method further includes:

[0039] Also includes:

[0040] If the first domain system does not include a physical communication network interface card (NIC), while a third domain system in the multi-core heterogeneous system (excluding the first domain system) includes a physical communication NIC, and the domain systems in the other multi-core heterogeneous systems that have the second identification information include physical communication NICs, then

[0041] The third domain system is used as the proxy domain system of the multi-core heterogeneous system;

[0042] Under the communication connection, the first domain system transmits the second resource request to the proxy domain system of the multi-core heterogeneous system. The second resource request is transmitted by the proxy domain system of the multi-core heterogeneous system to the domain system with the second identification information in the other multi-core heterogeneous systems through the physical communication network card.

[0043] as well as,

[0044] Under the aforementioned communication connection, the first domain system receives service data received by the proxy domain system of the multi-core heterogeneous system through its physical communication network card, so that the first application can realize the target application service;

[0045] The business data refers to the data generated by the domain system with the second identification information in the other multi-core heterogeneous system when its first processing resources implement and / or assist in implementing the target application business. The business data is transmitted from the domain system with the second identification information in the other multi-core heterogeneous system to the proxy domain system of the multi-core heterogeneous system through a physical communication network card.

[0046] In one possible implementation, the method further includes:

[0047] If the first domain system does not include a physical communication network interface card (NIC), while the fifth domain system in the multi-core heterogeneous system (excluding the first domain system) includes a physical communication NIC, and the domain system with the second identification information in the other multi-core heterogeneous systems does not include a physical communication NIC, while the fourth domain system in the other multi-core heterogeneous systems includes a physical communication NIC, then

[0048] The fifth domain system is used as a proxy domain system for the multi-core heterogeneous system, and the fourth domain system is used as a proxy domain system for the other multi-core heterogeneous systems.

[0049] Under the communication connection, the first domain system transmits the second resource request to the proxy domain system of the multi-core heterogeneous system, and the second resource request is transmitted by the proxy domain system of the multi-core heterogeneous system to the proxy domain system of the other multi-core heterogeneous systems through the physical communication network card;

[0050] as well as,

[0051] Under the aforementioned communication connection, the first domain system receives service data received by the proxy domain system of the multi-core heterogeneous system through its physical communication network card, so that the first application can realize the target application service;

[0052] Wherein, the business data is data generated by the domain system with the second identification information in the other multi-core heterogeneous system when its first processing resources implement and / or assist in implementing the target application business, and the business data is transmitted from the domain system with the second identification information in the other multi-core heterogeneous system to the proxy domain system of the other multi-core heterogeneous system, and then transmitted from the proxy domain system of the other multi-core heterogeneous system to the proxy domain of the multi-core heterogeneous system through the physical communication network card.

[0053] According to a second aspect of this application, a resource management method is provided, the method comprising:

[0054] A second resource request is received from a first application, which is an application of a first domain system in various domain systems of a multi-core heterogeneous system. The second resource request is used to request a first processing resource, which is located in other multi-core heterogeneous systems besides the aforementioned multi-core heterogeneous system. The multi-core heterogeneous system and the other multi-core heterogeneous systems include at least two hardware domains. Each hardware domain of the multi-core heterogeneous system and the other multi-core heterogeneous systems consists of multiple processor cores with different architectures and hardware resources connected to each processor core, and the hardware domains are isolated from each other. Each hardware domain of the multi-core heterogeneous system and the other multi-core heterogeneous systems, and the operating system corresponding to each hardware domain, constitute each domain system.

[0055] Obtain the second identification information of the domain system in the other multi-core heterogeneous systems requested by the first application in the second resource request;

[0056] Using a target communication method, a communication connection is established between the first domain system and the other multi-core heterogeneous systems containing the second identification information, so that the first application can transmit a second resource request to the other multi-core heterogeneous systems containing the second identification information based on the communication connection, so as to call the first processing resource in the domain system containing the second identification information, wherein the first processing resource is used to enable the first application to implement the target application business and / or assist the first application in implementing the target application business.

[0057] According to a third aspect of this application, a resource management device is provided, applied in a multi-core heterogeneous system, the multi-core heterogeneous system including at least two hardware domains; each hardware domain consists of multiple processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to each processor core, the hardware domains being isolated from each other; each hardware domain and its corresponding operating system constitute a domain system; at least one of the domain systems includes a first processor in its hardware domain; the resource management device includes:

[0058] A first obtaining unit is configured to obtain a first resource request from a first application, wherein the first application is an application of a first domain system in each domain system, and the first resource request is configured to request a first processor of a domain system other than the first domain system in each domain system; wherein the first application generates the first resource request when accelerating or assisting in accelerating the implementation of a target application service, and the target application service includes artificial intelligence (AI) services; the multi-core heterogeneous system includes at least two types of processors, wherein the first processor has a stronger adaptability to AI services than other types of processors other than the first processor;

[0059] The second obtaining unit is used to obtain the first identification information of other domain systems requested by the first application in the first resource request;

[0060] The first communication unit is configured to establish a communication connection between the first domain system and the other domain systems having the first identification information using a target communication method, so that the first application can transmit a first resource request to the domain system having the first identification information based on the communication connection, so as to request the first processor to implement or assist in implementing the target application service of the first application from the domain system having the first identification information.

[0061] In the multi-core heterogeneous system, among at least two types of processors, the first processor has a higher processing efficiency for the target application service than the other types of processors. The first application also includes non-target application services, and the first processor is capable of processing the non-target application services. The superiority of the first processor in processing the target application service is significantly greater than the superiority of the first processor in processing the non-target application services.

[0062] According to a fourth aspect of this application, an electronic device is provided, comprising:

[0063] At least one processor; and

[0064] A memory communicatively connected to the at least one processor; wherein,

[0065] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method described in this application.

[0066] According to a fifth aspect of this application, a non-transitory computer-readable storage medium is provided storing computer instructions for causing the computer to perform the methods described in this application.

[0067] According to a sixth aspect of this application, a computer program product is provided, comprising a computer program or instructions that, when executed by a processor, implement the method described in this application.

[0068] This application presents a solution that, under a security protection mechanism, utilizes efficient communication methods to enable the access or sharing of critical resources, providing a highly efficient access or sharing solution. It offers technical support for the efficient sharing or access of hardware devices between multiple system platforms.

[0069] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this application, nor is it intended to limit the scope of this application. Other features of this application will become readily apparent from the following description. Attached Figure Description

[0070] The above and other objects, features, and advantages of exemplary embodiments of this application will become readily apparent from the following detailed description taken in conjunction with the accompanying drawings. Several embodiments of this application are illustrated in the drawings by way of example and not limitation, in which:

[0071] In the accompanying drawings, the same or corresponding reference numerals indicate the same or corresponding parts.

[0072] Figure 1A schematic diagram of a multi-core heterogeneous system in an embodiment of this application is shown. Figure 1 ;

[0073] Figure 2 A schematic diagram of a multi-core heterogeneous system in an embodiment of this application is shown. Figure 2 ;

[0074] Figure 3 A schematic diagram of a multi-core heterogeneous system in an embodiment of this application is shown. Figure 3 ;

[0075] Figure 4 This paper illustrates the implementation flow of the resource management method in an embodiment of this application. Figure 1 ;

[0076] Figure 5 A block diagram illustrating RPC communication implemented using a single-domain connection method in an embodiment of this application is shown;

[0077] Figure 6 A block diagram illustrating RPC communication implemented using a multi-domain connection method in an embodiment of this application is shown;

[0078] Figure 7 A block diagram illustrating RPC communication implemented using the Tracker mode in an embodiment of this application is shown;

[0079] Figure 8 A schematic diagram of a multi-core heterogeneous system in an embodiment of this application is shown. Figure 4 ;

[0080] Figure 9 This paper illustrates a block diagram of cross-domain calls within the same die in an embodiment of this application.

[0081] Figure 10 This paper illustrates an implementation block diagram of cross-subsystem calls within the same die in an embodiment of this application.

[0082] Figure 11 This paper illustrates the implementation flow of the resource management method in an embodiment of this application. Figure 2 ;

[0083] Figure 12 The diagram illustrates the implementation block diagram of direct mode invocation for different dies in embodiments of this application;

[0084] Figure 13 This document illustrates the implementation block of the first-level proxy mode invocation for different dies in an embodiment of this application. Figure 1 ;

[0085] Figure 14 This document illustrates the implementation block of the first-level proxy mode invocation for different dies in an embodiment of this application. Figure 2 ;

[0086] Figure 15 The diagram illustrates the implementation block diagram of the secondary proxy mode invocation for different dies in the embodiments of this application;

[0087] Figure 16 A schematic diagram of the composition structure of the resource management device in an embodiment of this application is shown;

[0088] Figure 17 A schematic diagram of the composition structure of the electronic device in an embodiment of this application is shown. Detailed Implementation

[0089] To make the objectives, features, and advantages of this application more apparent and understandable, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0090] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0091] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0092] In the following description, the terms "first" and "second" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first" and "second" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0093] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0094] It should be understood that in the various embodiments of this application, the sequence number of each implementation process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0095] The resource management device of this application is located in a multi-core heterogeneous system. The processing logic of the resource management method of this application is deployed in a multi-core heterogeneous system. In the embodiments of this application, the multi-core heterogeneous system is a multi-core heterogeneous chip. A multi-core heterogeneous chip refers to a chip that integrates two or more processor cores within a single chip. For example, a single SOC (System-on-a-Chip) chip integrating two or more processor cores. Each processor core in a multi-core heterogeneous chip can act as an independent processor, independently executing the instructions required by each processor core and fulfilling the tasks required by each processor core. It can be understood that a multi-core heterogeneous chip is a chip with multiple processor cores. Compared with a single-core processor chip, the independent operation of each core's tasks can speed up the operation, improve multi-tasking capabilities, and thus bring the advantage of high performance. Moreover, the multiple processors are set on the same chip, which has the advantage of low cost.

[0096] like Figure 1 As shown, the multi-core heterogeneous chip includes multiple processor cores, including a first processor core, a second processor core, ..., an Lth processor core. L is a positive integer greater than or equal to 2, and can be flexibly set according to actual needs. Each processor core is essentially a computing engine, and its type and / or number can differ. The types of processor cores include cores with high computing power and cores with high real-time performance (fast computation). In practical applications, most of the multiple processor cores are of different types, while a few are of the same type. Alternatively, the multiple processor cores can be of different types; thus, the multi-core heterogeneous chip is composed of two or more processor cores with different architectures. Differences in the type and / or number of processor cores can, to a certain extent, achieve architectural differences between the processor cores.

[0097] In practical applications, among all processor cores, as long as there are two or more processor cores of different types, such processor cores can be called multi-core heterogeneous, and chips including these processor cores can be regarded as multi-core heterogeneous chips.

[0098] For example, embedded processors (ARM) offer advantages in low cost and low power consumption, digital signal processors (DSPs) offer advantages in dedicated digital processing, and programmable logic arrays (FPGAs) offer advantages in high-speed processing. Each type of processor is used as a processor core. When these types of processors are designed on the same SoC chip, a multi-core heterogeneous SoC chip is obtained.

[0099] like Figure 2As shown, each processor core and the hardware resources connected to each other, such as clock controllers, interrupt controllers, and memory space, constitute each hardware domain. That is, a multi-core heterogeneous chip includes multiple hardware domains. In a multi-core heterogeneous chip, each hardware domain is a collection of hardware resources. Different hardware domains are isolated from each other; this isolation can be considered a physical isolation. For example, hardware designs within the same hardware domain may be located close to each other on the multi-core heterogeneous chip, while hardware designs within different hardware domains may be located at different locations on the multi-core heterogeneous chip, thus achieving physical isolation. Of course, the mutual isolation between different hardware domains in this embodiment may not be physical isolation, but logical isolation. This logical isolation can be reflected in the following: hardware resources within the same hardware domain need to use the same communication identifier to access each other within that hardware domain. That is, different hardware resources within the same hardware domain can access each other based on the communication identifier within that hardware domain. Hardware resources within different hardware domains use different communication identifiers to access each other.

[0100] In practical applications, it is preferable to isolate different hardware domains as a form of logical isolation, which can at least save chip space.

[0101] like Figure 3 As shown, in a multi-core heterogeneous chip, an operating system can be configured for each hardware domain. For example, a first operating system can be configured for the first hardware domain, and a second operating system for the second hardware domain. The operating systems configured for different hardware domains can be the same or different, preferably different. For example, the first operating system configured for the first hardware domain is Linux, and the second operating system configured for the second hardware domain is Android. Because Linux has high security and Android is lightweight, tasks with high security requirements in a multi-core heterogeneous system can be executed by Linux, while tasks requiring lightweight operation can be executed by Android. Therefore, different operating systems on different hardware domains can be used in a multi-core heterogeneous system to achieve efficient execution of various tasks.

[0102] In multi-core heterogeneous chips, operating systems can be configured for most hardware domains according to actual needs, while a small number of hardware domains can be left unconfigured, depending on the specific usage.

[0103] In this embodiment, communication needs also exist between hardware domains. When communication needs exist between different hardware domains, an inter-core communication mechanism can be used to achieve communication between hardware domains. Among these, inter-core communication mechanisms in multi-core heterogeneous systems include a mailbox mechanism suitable for instruction transmission and a memory sharing mechanism suitable for data sharing. Inter-core communication within a single SOC chip can ensure data transmission within the same chip, guaranteeing data security and transmission speed.

[0104] Typically, hardware resources differ across different hardware domains, and these differences may manifest in hardware type, model, quantity, and other aspects. This variability, to some extent, reflects the heterogeneity of multi-core heterogeneous systems. As discussed earlier, the multi-core heterogeneity in this application is a hardware-level concept and is unrelated to the software level.

[0105] like Figure 1 As shown, the multi-core heterogeneous chip in this embodiment also includes various types of control units. These control units include, but are not limited to, a power control unit, a non-volatile memory control unit, and a volatile memory control unit. The power control unit controls the power supply unit to provide power to the multi-core heterogeneous chip. The non-volatile memory control unit controls access to non-volatile memory units by at least one processor core in the multi-core heterogeneous chip. The volatile memory control unit controls access to volatile memory units by at least one processor core in the multi-core heterogeneous chip.

[0106] Among them, the power supply unit, non-volatile memory unit, and volatile memory unit, as hardware resources outside the multi-core heterogeneous chip, can be called upon when needed by the multi-core heterogeneous chip. In addition, hardware such as audio output units (such as speakers), audio acquisition units (such as microphones), and video output units (such as displays), as hardware resources outside the multi-core heterogeneous chip, can also be called upon when needed by the multi-core heterogeneous chip to achieve normal audio and video output.

[0107] The resource management method in this application is implemented on a multi-core heterogeneous system. The multi-core heterogeneous system involved in the resource management method of this application includes M hardware domains, where M is a positive integer greater than or equal to 2. These M hardware domains can be... Figure 2 The L hardware domains shown represent all or part of the hardware domains, preferably all of them. Each hardware domain is configured as an independently running operating system, meaning each hardware domain corresponds to one operating system. For example, hardware domain 1 corresponds to the first operating system, hardware domain 2 corresponds to the second operating system, and so on, with hardware domain M corresponding to the Mth operating system. Each hardware domain consists of multiple processor cores with different architectures in a multi-core heterogeneous system and the hardware resources connecting these processor cores. The hardware domains are isolated from each other; this isolation can be physical or logical, as described in the preceding explanation.

[0108] In this application, a hardware domain and its corresponding operating system can constitute a domain system. A multi-core heterogeneous chip may include two or more such domain systems. Each domain system can access system resources through a system bus. System resources may include peripherals such as an integrated circuit bus (I2C), a universal asynchronous transceiver (UART), and interfaces (IO), as well as resources that can be shared between domain systems, such as speakers, microphones, and interrupt controllers.

[0109] The technical solution of this application is described below.

[0110] In this application, the multi-core heterogeneous system can be viewed as a multi-system platform, including multiple domain systems. Different types of processors are configured among the different domain systems. For example, domain system 1 includes a Neural Processing Unit (NPU) for accelerating neural network computation; domain system 2 includes a Graphics Processing Unit (GPU); and domain system 3 includes a Digital Signal Processing Unit (DSP). The NPU is a processor that optimizes hardware-level AI computation by simulating the neuronal and synaptic structures of the human brain to improve performance and energy efficiency.

[0111] In this application, at least one of the domain systems in each domain system includes a first processor in its hardware domain. The first processor may be an NPU. A multi-core heterogeneous system may also include other types of processors besides an NPU, such as GPUs and DSPs. It is understood that each type of processor has its own advantages and uses. For a single-domain system, considering cost constraints, it is generally not possible to use all types of processors. Thus, there are situations where processors are shared or accessed between domain systems within the same multi-core heterogeneous system, or between different multi-core heterogeneous systems. The technical solution of this application aims to achieve efficient sharing or access to the processor between different domain systems within the same multi-core heterogeneous system, or efficient sharing or access to the processor between different multi-core heterogeneous systems.

[0112] Figure 4 This paper illustrates the implementation flow of the resource management method in an embodiment of this application. Figure 1 This method is applied to a multi-core heterogeneous system, which includes at least two hardware domains. Each hardware domain consists of multiple processor cores with different architectures and hardware resources connected to each processor core. The hardware domains are isolated from each other. Each hardware domain and its corresponding operating system constitute a domain system. At least one of the domain systems includes a first processor in its hardware domain. Figure 4 As shown, the method includes:

[0113] S401: Obtain a first resource request from a first application, wherein the first application is an application of the first domain system in each domain system, and the first resource request is used to request the first processor of other domain systems besides the first domain system in each domain system; wherein the first application generates the first resource request when accelerating or assisting in accelerating the implementation of a target application service, and the target application service includes artificial intelligence (AI) service; the multi-core heterogeneous system includes at least two types of processors, and among the at least two types of processors, the first processor has a stronger adaptability to AI service than other types of processors besides the first processor.

[0114] In this step, the multi-core heterogeneous system includes at least two domain systems, one of which is a first domain system running the first application. When the first application accelerates or assists in accelerating artificial intelligence (AI) business, i.e., handles AI business needs, it generates a first resource request to request NPUs located in other domain systems to accelerate or assist in accelerating AI business.

[0115] Multi-core heterogeneous systems can be configured with various types of processors. Among them, the NPU (Neural Processing Unit) is a processor specifically designed to accelerate neural network computations, speeding up the implementation of AI applications and offering high processing efficiency for AI tasks. Therefore, when a primary application requests the implementation of AI tasks, it will expect to call upon or share the NPU to either implement the AI ​​tasks desired by the primary application or to assist in implementing the AI ​​tasks desired by the primary application.

[0116] In layman's terms, when an application generates its first resource request for different types of processors in a multi-core heterogeneous system, it expects to request an NPU-type processor from among the many types of processors, in order to take advantage of the NPU's ability to accelerate neural network computation and thus accelerate the processing of AI applications.

[0117] The purpose of requesting an NPU (Neural Processing Unit) from among many types of processors is to implement model inference tasks. For example, if a multi-core heterogeneous system is installed in a car, the automatic generation of driving routes, automatic detection of parking spaces, and driver voice recognition can be achieved through calls to the NPU by the first application.

[0118] S402: Obtain the first identification information of other domain systems requested by the first application in the first resource request.

[0119] In this step, the first resource request carries or indicates identification information for other domain systems. This could be the system identifier of another domain system, or the URL or IP address of another domain system.

[0120] S403: Using a target communication method, a communication connection is established between the first domain system and the other domain systems containing the first identification information, so that the first application transmits a first resource request to the domain system containing the first identification information based on the communication connection, in order to request the first processor to implement or assist in implementing the processing of the target application service of the first application from the domain system containing the first identification information; wherein, in at least two processors of a multi-core heterogeneous system, the processing efficiency of the first processor for the target application service is superior to the processing efficiency of the other processors for the target application service; the first application also includes non-target application services, the first processor is capable of processing non-target application services, and the superiority of the first processor in processing the target application service is significantly greater than the superiority of the first processor in processing non-target application services.

[0121] As can be understood, RPC (Remote Procedure Call) is a technology used to enable communication and interaction between different computers. Through RPC, a program on one computer can call a program on another computer, just as if calling a local program, without requiring developers to manually handle network communication details, making it a highly efficient communication method. The target communication method in this application can be a communication method implemented using RPC technology. This method can be used to achieve communication between different domains of the same multi-core heterogeneous system, or communication between different multi-core heterogeneous systems.

[0122] By using RPC technology to enable communication between different domains of the same multi-core heterogeneous system, the first application can transmit a first resource request to the domain system with the first identification information based on the communication connection, so as to request the first processor to implement or assist in the implementation of the target application service of the first application from the domain system with the first identification information.

[0123] In this application, requesting the first processor to perform processing of the target application business of the first application can be understood as: the first application no longer requests any processor other than the first processor, and only the first processor performs processing of the AI ​​business of the first application. Requesting the first processor to assist in performing processing of the target application business of the first application can be understood as: when the first application requests the first processor to perform AI business processing, it also requests other processors to perform AI business processing.

[0124] It's understandable that the first application's processing task could be AI-related, and the NPU requested by the first application is a processor specifically designed for AI processing. For this type of processor, its processing efficiency for AI tasks (the target application's task) is superior to that of other types of processors. Of course, the first application's processing task could also be non-AI (non-target application's task). Compared to AI tasks, the NPU's superior processing efficiency for AI tasks is significantly greater than its superior processing efficiency for non-AI tasks. Based on this, for the first resource request generated by the first application in the case of processing AI tasks, it is expected to invoke the NPU type of processor among the many processors available.

[0125] In practical applications, because NPUs perform neural network operations using a large number of multipliers and adders, the sheer number of multipliers and adders accelerates the deriving of computation results and shortens computation time. Therefore, NPUs are also considered AI accelerators. The first application in this application can accelerate AI business processing by requesting NPU-type processing, achieving efficient business processing and improving the performance of multi-core heterogeneous systems.

[0126] It is understandable that the NPU requested by the first application can be an idle NPU of another domain system that can communicate with the domain system on which the first application runs via RPC, or an NPU that can also perform AI business processing.

[0127] Under the hard isolation mechanism of domain systems within the same multi-core heterogeneous system, the schemes shown in S401-S403, based on the target communication method, realize the sharing or scheduling of NPUs from other domain systems. Considering that the hard isolation mechanism is a security protection mechanism, the target communication method is an efficient communication method, and the NPU processor is an important processing resource, the technical solution of this application can be considered as a scheme for calling or sharing important resources under a security protection mechanism using an efficient communication method, which is an efficient calling or sharing scheme. It provides technical support for the efficient sharing or calling of hardware devices between systems on multiple system platforms.

[0128] In this application, in the scheme of using RPC to invoke the NPU of other domain systems, if the requester initiating the (first and second) resource request is regarded as a client, then the requested party receiving the request can be regarded as a server. In RPC, the communication methods between the client and the server can include direct connection mode and tracker mode.

[0129] In direct connection mode, there are single-domain and multiple-domain connection methods. A single-domain connection can be viewed as a method where the client connects to a single server. For example... Figure 5 As shown, a client with IP address 170.20.2.35 establishes a communication connection with a server with IP address 172.20.2.36 through the corresponding URL (Uniform Resource Locator) and port. The corresponding URL and port refer to the URL and port that enable the client to establish a communication connection with the server with IP address 172.20.2.36.

[0130] Multi-domain connection can be viewed as a way for a client to connect to two or more servers. For example... Figure 6 The diagram illustrates RPC communication between a client and three servers. The client communicates with each server via corresponding URLs and ports. For example, the client communicates with server 1 via URL 1 and port 1. The client communicates with server 2 via URL 2 and port 2. The client communicates with server 3 via URL 3 and port 3.

[0131] In this application, for the direct connection mode, a PRC service can be set up on the server side. The client uses the RPC service and the Connect function to directly establish an RPC connection with the server.

[0132] For RPC communication using Tracker mode, see [link / reference]. Figure 7 As shown. The RPC Tracker pattern comprises three important components: Client, Server, and Tracker Service (Tracker Server). The roles of these three components in RPC communication are as follows:

[0133] Server: Uses the Tracker service as a registry center to register information such as the server's address (addr), port (port), and key.

[0134] Tracker service: Listens for server registration requests on port 9010, binding each server's key to its corresponding IP address. It responds to client requests with the requested key value and returns the IP address associated with that key to the client.

[0135] Client: Requests a specific key value from the Tracker service and receives the IP address of the server associated with that key value from the Tracker service. Based on the IP address returned by the Tracker service, it establishes an RPC connection with the server that has that IP address.

[0136] In this application, in RPC communication using direct connection mode or Tracker mode, the information transmission between the client and server (first resource request, second resource request, and feedback data generated by other domain systems in response to the first or second resource request) is all achieved through the efficient communication method of RPC. Under a hard-isolation security protection mechanism, the established RPC connection enables the invocation or sharing of important resources.

[0137] In this application, a multi-core heterogeneous system can be considered as a die (chip). A multi-core heterogeneous system can include N subsystems, where N is a positive integer greater than or equal to 1, and each subsystem includes at least one domain system. For example... Figure 8 As shown, a multi-core heterogeneous system includes N=2 subsystems: Subsystem A (SSA) and Subsystem B (SSB). For example, one subsystem can be a smart cockpit system, and the other a smart driving system. Each subsystem includes two or more domain systems. Taking a subsystem with two domain systems as an example, one domain system's operating system can be one of Linux (a Unix-like operating system), Android, or QNX (a commercial Unix-like real-time operating system), and the other domain system's operating system can be an RTOS (real-time operating system). Of course, the above is just a specific example; the number of subsystems in a multi-core heterogeneous system, and the actual number of domain systems included in each subsystem, can be determined according to the specific circumstances.

[0138] In practical applications, if a multi-core heterogeneous system comprises two subsystems, the Client and Server—that is, the first domain system and the domain system with the first identification information—may reside in the same subsystem or in different subsystems. If they reside in the same subsystem, it is considered that the NPU being called or shared is located in a different domain within the same subsystem (either a case of different domains within the same subsystem or a cross-domain call within the same die). If they reside in different subsystems, it is considered that the NPU being called or shared is located in a different domain within a different subsystem (either a case of different domains within a different subsystem or a cross-subsystem call within the same die).

[0139] In this application, we first introduce a scheme in which the first domain system and the domain system with first identification information are located in the same subsystem.

[0140] In a cross-domain call scheme within the same die, the first domain system includes a first logical communication card, and the domain system with the first identification information includes a second logical communication card. The first and second logical communication cards can be virtual network cards. Based on this, the resource management method of this application further includes:

[0141] In response to the domain system with the first identification information being located in the same subsystem as the first domain system, under the communication connection, a first resource request is transmitted to a second logical communication card via a first logical communication card, and a first feedback message regarding the first resource request is received via the second logical communication card from the domain system with the first identification information. This first feedback message is used to enable the first application to obtain service data from shared memory. Specifically, the first feedback message may be a message from the domain system with the first identification information informing the first domain system that the NPU called by the domain system has completed processing or assisting in processing the first application.

[0142] In cross-domain call schemes within the same die, the resource management method of this application also includes:

[0143] In response to the domain system with the first identification information being located in the same subsystem as the first domain system, the service data generated by the invoked first processing resource during the implementation and / or assistance in implementing the target application service is saved to the shared memory of the same subsystem. This shared memory is used by the first application to obtain the service data via a communication connection, enabling the first application to implement the target application service. It is understood that in this application, because the domain system with the first identification information and the first domain system are located in the same subsystem, and the same subsystem typically has shared memory, the service data generated by the invoked NPU during the implementation and / or assistance in implementing the target application service can be saved to the shared memory. When the first domain system receives the first feedback information, the processing result generated by the invoked NPU can be obtained by reading data from the shared memory.

[0144] Cross-domain calls within the same die, Figure 9 The SSA subsystem shown includes Domain-1 and Domain-2 as an example. Domain-1 uses Android as its operating system, while Domain-2 uses QNX. Domain-2 has an NPU. Domain-1 does not have an NPU. Domain-1 wants to call Domain-2's NPU via an RPC connection. The specific process is as follows:

[0145] The first application (Application App of Domain-1) needs to call the NPU of Domain-2 for model inference. The application generates a (first) resource request, from which the IP address and port of the domain system where the NPU to be called resides are obtained. On the Domain-1 side, this request is transmitted to a socket via a Client Session. The socket then transmits the resource request to the switch via the virtual network card of Domain-1. The request travels from Domain-1 to the virtual network card of Domain-2 via the switch, and finally to the Local Session of Domain-2 via the socket, thus enabling the application App of Domain-1 to call the NPU in Domain-2. The NPU of Domain-2 performs model inference and saves the inference results to the shared memory of the SSA. The message indicating that the model inference process is complete, or the address where the inference result is stored in shared memory (the first feedback message), is sent from Domain-2's socket and virtual network card to the switch. From the switch, it travels through Domain-1's virtual network card, socket, and Client Session to the application in Domain-1. In other words, the first feedback message, via the reverse path of the first resource request, is sent from Domain-2 to the application in Domain-1, instructing the application in Domain-1 to read the model inference result from shared memory and complete the model inference task.

[0146] In this application, Client Session, socket, virtual network card, switch, etc. can be considered as sessions and interfaces established to implement the technical solution of this application, and can be sessions and interfaces implemented by RPC technology.

[0147] In this application, a scheme is further introduced in which the first domain system and the domain system with the first identification information are located in different subsystems.

[0148] In this application, in the scheme of cross-subsystem calls within the same die, the multi-core heterogeneous system includes P subsystems, where P is a positive integer greater than or equal to 2, and each subsystem includes at least one domain system. Thus, the resource management method also includes:

[0149] In response to the domain system with the first identification information being located in a different subsystem from the first domain system, the first domain system receives service data generated by the first processing resources of the domain system with the first identification information in implementing and / or assisting in implementing the target application service through the communication connection, so that the first application can obtain the service data to implement the target application service. And / or, the first domain system obtains the service data generated by the first processing resources in implementing and / or assisting in implementing the target application service from a predetermined area of ​​the first domain system and the domain system with the first identification information, so that the first application can obtain the service data to implement the target application service.

[0150] It is understandable that, in the aforementioned schemes, the model inference results in cross-domain calls within the same die can be saved to the shared memory of the subsystem and retrieved from the shared memory. In cross-subsystem calls within the same die, the model inference results can be directly fed back from the recipient of the first resource request to the initiator of the first resource request. Alternatively, the recipient of the first resource request can save the model inference results to an agreed-upon area between the two parties, and the initiator of the first resource request can retrieve them from the agreed-upon area.

[0151] In a scheme for cross-subsystem calls within the same die, the first domain system includes a first physical communication card, and the domain system with the first identification information includes a second physical communication card. The first and second physical communication cards can be PCIe interface cards (high-speed serial computer expansion bus standard interface cards). Thus, the resource management method also includes:

[0152] In response to the fact that the domain system with the first identification information and the first domain system are located in different subsystems, under the communication connection, a first resource request is transmitted to a second physical communication card via a first physical communication card, and a second feedback message for the first resource request is received via the first physical communication card from the domain system with the first identification information transmitted via the second physical communication card. The second feedback message is used to enable the first application to obtain business data. In this application, a scheme for cross-subsystem calls within the same die can be implemented using a PCIe interface. The second feedback message can be a message from the domain system with the first identification information informing the first domain system that the called NPU has completed processing or auxiliary processing. The second feedback message can also carry model inference results, or the storage address of the model inference results in a predetermined area.

[0153] The first logical communication card included in the first domain system, and the second logical communication card included in the domain system having the first identification information. The scheme for cross-subsystem calls within the same die in this application also includes:

[0154] Under the aforementioned communication connection (RPC communication connection), a first resource request is stored in the message pool of the first domain system via the first logical communication card, so that the first resource request in the message pool can be transmitted to the second physical communication card via the first physical communication card; and, a second feedback information of the first resource request is stored in the message pool of the domain system with first identification information via the second logical communication card, so that the second feedback information can be transmitted to the first physical communication card via the second physical communication card. In this application, a scheme for cross-subsystem calls within the same die can be implemented using a virtual network card, a PCIe interface, and a message pool (MP). This is a highly practical and feasible cross-subsystem call scheme.

[0155] Cross-subsystem calls within the same die, Figure 10 The SSA and SSB subsystems shown are both Domain-1 and Domain-2. Domain-1 of the SSA subsystem runs Linux; Domain-2 of the SSB subsystem runs Android. Domain-2 in both subsystems can run an RTOS. Domain-1 in both subsystems has an NPU, while Domain-2 does not. Domain-1 in the SSA subsystem wants to call the NPU of Domain-1 in the SSB subsystem via an RPC connection. The specific process is as follows:

[0156] The first application (Application App of Domain-1 in SSA subsystem) needs to call the NPU of Domain-2 in SSB for model inference. The App generates a (first) resource request, from which the IP address and port of the domain system where the NPU to be called resides can be obtained. On the SSA Domain-1 side, this request is transmitted to the socket via the Client Session. The socket then transmits the resource request to the switch via the virtual network card of Domain-1 in SSA, and stores it in the MP of SSA. In the MP, the request is transmitted to the PCIe interface of SSB via the PCIe interface of SSA, thus reaching the SSB side. The request on the SSB side then reaches the virtual network card of Domain-1 in SSB via the switch. Finally, it reaches the Local Session in Domain-1 via the socket in Domain-1, enabling the application App in Domain-1 of SSA to call the NPU in Domain-1 of SSB.

[0157] Applications in Domain-1 of the SSA subsystem call the local NPU for model inference through a local session. When local NPU resources are limited and model inference cannot be successfully performed, auxiliary computation for model inference can be achieved by calling the NPU in Domain-1 of the local SSB. The NPU in Domain-1 of the SSB performs auxiliary computation for model inference, and the results can be saved to a pre-agreed area between the SSA and SSB. Furthermore, the auxiliary computation results can be fed back from the SSB to the SSA as information carried in the second feedback message.

[0158] The second feedback information reaches the SSB switch via the socket and virtual network card of SSB Domain-1 and is stored in the SSB MP. The second feedback information in the MP is then transmitted to the SSA PCIe via the SSB PCIe. Finally, it reaches the application in SSA Domain-1 via the SSA switch, the virtual network card of SSA Domain-1, the socket, and the Client Session. In other words, the second feedback information, via the reverse path of the first resource request, is notified from SSB Domain-1 to the application in SSA Domain-1, enabling the application in SSA Domain-1 to obtain the model inference result obtained through assisted computation by the invoked NPU, thus completing the model inference task.

[0159] exist Figure 9 , Figure 10 This paper describes a novel NPU invocation scheme that utilizes RPC connections and corresponding logical interfaces (logical communication cards) and physical interfaces (physical communication cards) to enable NPU calls in various scenarios, including cross-domain calls within the same die and cross-subsystem calls within the same die. This efficient communication method, RPC, facilitates the invocation or sharing of the NPU, a crucial resource. The cross-domain and cross-subsystem call schemes within the same die presented in this application represent a novel technical solution that provides technical support for the efficient sharing or invocation of hardware devices across multiple system platforms.

[0160] It is understood that in this application, a multi-core heterogeneous system can be considered as a die (chip). The foregoing descriptions of NPU calls between different domains within the same subsystem on the same die and NPU calls between different subsystems on the same die are relevant. That is, for the first resource request, NPU calls between different domain systems within the same multi-core heterogeneous system are implemented. In addition, this application also involves NPU calls between different multi-core heterogeneous systems or different dies. That is, for the second resource request, NPU calls between different multi-core heterogeneous systems are implemented. It should be noted that NPU calls between different domains within the same multi-core heterogeneous system, or NPU calls between different multi-core heterogeneous systems, all use RPC communication.

[0161] Figure 11 This paper illustrates the implementation flow of the resource management method in an embodiment of this application. Figure 2 This is a communication scheme that uses RPC to achieve communication between different multi-core heterogeneous systems. For example... Figure 11 As shown, the method includes:

[0162] S1101: Obtain a second resource request from a first application, where the first application is an application of the first domain system in each domain system. The second resource request is used to request a first processing resource, which is located in another multi-core heterogeneous system besides the multi-core heterogeneous system. The other multi-core heterogeneous system includes at least two hardware domains. Each hardware domain of the other multi-core heterogeneous system consists of multiple processor cores with different architectures and hardware resources connected to each processor core. The hardware domains are isolated from each other. Each hardware domain of the other multi-core heterogeneous system and the corresponding operating system constitute the domain system of the other multi-core heterogeneous system.

[0163] In this step, when the first application is accelerating or assisting in accelerating the implementation of AI business, that is, processing artificial intelligence business needs, it generates a second resource request to request the NPU of the domain system located in other multi-core heterogeneous systems, in order to accelerate or assist in accelerating the implementation of AI business.

[0164] For descriptions of other multi-core heterogeneous systems, please refer to [link / reference]. Figures 1-3 The relevant explanations will not be repeated here.

[0165] S1102: Obtain the second identification information of the domain system in the other multi-core heterogeneous system requested by the first application in the second resource request;

[0166] In this step, the second resource request carries or indicates identification information of a domain system in another multi-core heterogeneous system. This could be a domain system identifier, or the domain system's URL or IP address.

[0167] S1103: Using a target communication method, a communication connection is established between the first domain system and the domain systems with the second identification information in the other multi-core heterogeneous systems, so that the first application can transmit the second resource request to the domain system with the second identification information in the other multi-core heterogeneous systems based on the communication connection, so as to call the first processing resource in the domain system with the second identification information, wherein the first processing resource is used to enable the first application to implement the target application business and / or assist the first application in implementing the target application business.

[0168] In this application, the second resource request is implemented as communication between different multi-core heterogeneous systems. By implementing communication between different multi-core heterogeneous systems through RPC technology, the first application can transmit the second resource request to a domain system with second identification information in other multi-core heterogeneous systems based on the communication connection, so as to request the first processor to implement or assist in implementing the target application service of the first application from the domain system with second identification information in other multi-core heterogeneous systems.

[0169] Under the hard isolation mechanism of different dies, the schemes shown in S1101 to S1103 are adopted to realize the sharing or scheduling of NPUs of other dies based on the target communication method. Under the security protection mechanism of hard isolation, using an efficient communication method to realize the calling or sharing of the NPU, an important resource, is an efficient calling or sharing scheme.

[0170] in, Figure 11 The target communication method and Figure 4 The target communication methods in all cases are the same, both based on RPC technology. Therefore, it can be understood that this application not only utilizes... Figure 4 The scheme shown enables efficient NPU invocation or sharing between different domain systems within the same die, and also enables efficient NPU invocation or sharing between different dies.

[0171] It is understandable that in different die calling schemes, a single die, i.e., a single multi-core heterogeneous system, can include two domain systems, such as... Figure 9 As shown, Domain-1 and Domain-2 constitute a single Die. In this case, the concept of subsystems may not exist. A single multi-core heterogeneous system can also include three or more domain systems, such as... Figure 8As shown, four domain systems constitute two subsystems, and the two subsystems constitute a single die. In this case, the functional division of the die can be achieved through the concept of subsystems. Of course, in some extreme scenarios, a single multi-core heterogeneous system may include only one domain system. In the different die calling schemes of this application, the domain systems included in the die include the aforementioned scenarios, and any other reasonable scenarios are also covered within the technical solution of this application.

[0172] It should be noted that the descriptions involved in different dies may be similar to those involved between different domain systems or different subsystems within the same die. For such descriptions, please refer to the explanation section, which will not be elaborated upon here.

[0173] In practical applications, if different dies are used in vehicles such as cars and buses, taking a car as an example, one of the dies can be used to implement the car's smart cockpit function, forming the smart cockpit system. Another die is used to implement the car's autonomous driving function, forming the autonomous driving system. The domain systems within a die are domain systems set up to implement their respective functions.

[0174] In this application, taking the NPU call between two different dies using an RPC connection as an example, the call scheme between different dies can be implemented through direct mode and proxy mode.

[0175] In cases where the first domain system includes a physical communication network card, and other domain systems with second identification information in multi-core heterogeneous systems also include physical communication network cards, a direct mode can be used to implement a calling scheme between different dies. The physical communication network card can be an Ethernet interface. Based on this, the resource management method for NPU calling via direct mode in this application can be considered to also include:

[0176] If the first domain system includes a physical communication network card (NIC), and the other multi-core heterogeneous system also includes a NIC with second identification information, then under the communication connection, the second resource request is transmitted through the NIC of the first domain system to the other multi-core heterogeneous system with the second identification information; and under the communication connection, the first domain system receives service data transmitted by the other multi-core heterogeneous system with the second identification information through its NIC, so that the first application can realize the target application service; wherein, the service data is data generated by the first processing resource of the domain system with the second identification information when realizing and / or assisting in realizing the target application service.

[0177] The aforementioned solution is for NPU calls between two domain systems with Ethernet interfaces in different dies. Combined with... Figure 12 As shown, taking two multi-core heterogeneous systems as two dies: SOC-1 and SOC-2, each sub-SOC includes two subsystems, SSA and SSB, as an example. In the two dies, Domain-1 of the SSA has an Ethernet card and an NPU.

[0178] When an application in Domain-1 of SSA in SOC-1 (used as the first domain system) fails to perform model inference using its local NPU, there is a need to call the NPU of Domain-1 of SSA in SOC-2 (used as a domain system with second identification information) via RPC connection, allowing the called NPU to perform assisted model inference. On the Domain-1 side of SSA in SOC-1, a (second) resource request is generated. This second resource request reveals the IP address and port of the domain system where the NPU to be called resides. This resource request is transmitted to a socket via the Client Session. The socket then transmits the resource request to the gateway device via the eth network card of Domain-1. The gateway then transmits the request to the eth network card of Domain-1 of SSA in SOC-2. On the Domain-1 side of SSA in SOC-2, the request reaches the Local Session of Domain-1 via the socket of Domain-1, thus enabling SOC-1 to call the NPU in SOC-2.

[0179] The invoked NPU performs model inference and feeds back the inference results (used as business data) and / or the inference completion message from the SOC-2 side to the SOC-1 side via the reverse path of the second resource request. Taking business data feedback as an example, on the Domain-1 side of the SSA in SOC-2, business data is transmitted to the socket via the Client Session. The socket then transmits the business data to the gateway via the eth network card of Domain-1. The gateway then transmits the business data to the eth network card of Domain-1 of the SSA in SOC-1. Finally, the data reaches the application (App) of Domain-1 of the SSA in SOC-1 via the socket and Client Session. This allows the application to complete the computation of the model inference task with the assistance of the invoked NPU.

[0180] The above solution addresses the cross-die scenario, allowing two domain systems with eth network cards within each die to directly connect via eth network cards and RPC to make cross-die calls to the NPU. This solution employs a direct mode for cross-die NPU calls. It considers practical application needs and provides technical support for cross-die calls or sharing of critical resources.

[0181] The above solutions employ a direct approach for cross-die calls. In addition, cross-die call solutions also include a proxy approach. The proxy approach for cross-die calls includes a first-level proxy and a second-level proxy. The first-level proxy approach is described below.

[0182] It can be understood that the first-level proxy pattern refers to a situation where either the initiator or receiver of the second resource request lacks an eth network card and needs to be proxied through a domain system with an eth network card to achieve cross-Die calls. Furthermore, the first-level proxy pattern includes two scenarios: Scenario 1: The initiator of the second resource request does not need a proxy, but the receiver does. Scenario 2: The initiator of the second resource request needs a proxy, but the receiver does not. Specifically,

[0183] Scenario 1: If the first domain system includes a physical communication network interface card (NIC), and the domain system with the second identification information in the other multi-core heterogeneous system does not include a physical communication network interface card (NIC), while the second domain system in the other multi-core heterogeneous system includes a physical communication network interface card (NIC), then the second domain system is designated as the proxy domain system of the other multi-core heterogeneous system. Under the communication connection, the first domain system transmits a second resource request to the proxy domain system of the other multi-core heterogeneous system via the physical communication network interface card. The second resource request is transmitted by the proxy domain system in the multi-core heterogeneous system to the domain system with the second identification information in the other multi-core heterogeneous system. Furthermore, under the communication connection, the first domain system receives service data transmitted using the physical communication network interface card of the proxy domain system in the other multi-core heterogeneous system, so that the first application can implement the target application service. The service data is data generated by the first processing resource of the domain system with the second identification information in the other multi-core heterogeneous system when implementing and / or assisting in implementing the target application service, and is transmitted by the domain system with the second identification information in the other multi-core heterogeneous system to the proxy domain system.

[0184] Combination Figure 13 As shown, scenario one could specifically be:

[0185] In SOC-1, an application in Domain-1 of the SSA (used as the first domain system) needs to call the NPU in Domain-1 of the SSB in SOC-2 (as a domain system with second identification information) via RPC connection. When the called NPU performs a model inference task, the application generates a (second) resource request on the Domain-1 side of the SSA in SOC-1. This second resource request reveals the IP address and port of the domain system where the called NPU resides. This resource request is transmitted to a socket via the Client Session. The socket then transmits the resource request to the gateway via the eth network card of Domain-1. Finally, the gateway transmits the request to the eth network card of Domain-1 of the SSA in SOC-2. On the Domain-1 side of the SSA in SOC-2, Domain-1 acts as a proxy domain system. It uses the Client Session to transmit requests to the Switch via sockets and a virtual network card for storage in the MP (Multi-Level Manager). The requests for storage in the MP are then sent out through the PCIe interface of the SSA in SOC-2, and transmitted from the SSA side to the PCIe interface of the SSB side in SOC-2. In other words, Domain-1 in the SSA of SOC-2 acts as a proxy domain system receiving resource requests, transmitting resource requests from the SOC-1 side to Domain-1 in the SSB of SOC-2 via a proxy method. In the SSB of SOC-2, the request reaches the virtual network card of Domain-1 via the Switch, and then reaches the Local Session of Domain-1 via a socket, thus enabling SOC-1 to call the NPU in SOC-2 through the proxy domain system.

[0186] The invoked NPU performs model inference and feeds back the inference results (used as business data) and / or the inference completion message from the SOC-2 side to the SOC-1 side via the proxy domain system, following the reverse path of the second resource request. Taking business data feedback as an example, on the Domain-1 side of the SSB in SOC-2, business data is transmitted to the socket via the Client Session. The socket transmits the business data to the Switch for storage in the MP via the virtual network card of Domain-1. The request to store the data in the MP is sent out through the PCIe interface of the SSB in SOC-2, and transmitted from the SSB side of SOC-2 to the PCIe interface of the SSA side of SOC-2. In the SSA of SOC-2, the business data reaches the virtual network card of Domain-1 via the Switch, and then reaches the eth network card of Domain-1 via the socket, and is transmitted to the gateway via the eth network card. The gateway then transmits the business data to the eth network card of Domain-1 of the SSA in SOC-1. In other words, business data transmission is achieved through a proxy domain system using a proxy method. The application (App) in Domain-1 of SSA within SOC-1 is reached through the socket and Client Session of Domain-1 of SSA. This allows the application to perform computations on the model inference task under the call of the NPU.

[0187] Scenario 2: If the first domain system does not include a physical communication network interface card (NIC), but the third domain system in the multi-core heterogeneous system (excluding the first domain system) includes a physical communication network interface card, and the domain system with the second identification information in the other multi-core heterogeneous systems also includes a physical communication network interface card, then the third domain system is designated as the proxy domain system of the multi-core heterogeneous system. Under the communication connection, the first domain system transmits a second resource request to the proxy domain system of the multi-core heterogeneous system. The second resource request is transmitted by the proxy domain system of the multi-core heterogeneous system to the domain system with the second identification information in the other multi-core heterogeneous systems via the physical communication network interface card. Furthermore, under the communication connection, the first domain system receives service data received by the proxy domain system of the multi-core heterogeneous system through its physical communication network interface card, so that the first application can implement the target application service. The service data is data generated by the first processing resources of the domain system with the second identification information in the other multi-core heterogeneous systems when implementing and / or assisting in implementing the target application service, and the service data is transmitted by the domain system with the second identification information in the other multi-core heterogeneous systems to the proxy domain system of the multi-core heterogeneous system via the physical communication network interface card.

[0188] Combination Figure 14 As shown, scenario two can specifically be:

[0189] In SOC-1, an application in Domain-1 of the SSB (used as the first domain system) needs to call the NPU in Domain-1 of the SSA in SOC-2 (a domain system with second identification information) via RPC connection. When the called NPU performs a model inference task, the application generates a (second) resource request on the Domain-1 side of the SSB in SOC-1. This second resource request reveals the IP address and port of the domain system where the called NPU resides. This resource request is transmitted to a socket via the Client Session. The socket then transmits the resource request to the SSB's switch via the Domain-1's virtual networkcard and stores it in the MP (Multi-Level Manager). The resource request stored in the MP is then transmitted to the SSA's PCIE via the SSB's PCIE. On the SSA side of SOC-1, the resource request from the SSB is received via PCIE. This resource request is then transmitted to the socket in Domain-1 of the SSA via the switch. In SOC-1, SSA Domain-1 acts as a proxy domain system initiating resource requests. It uses a Client Session to transmit requests to the gateway via a socket and an eth network card. The gateway then transmits the request to the eth network card of SSA Domain-1 in SOC-2. On the Domain-1 side of SSA in SOC-2, the request reaches the Local Session of Domain-1 via the Domain-1 socket, thus enabling cross-die calls from SOC-1 to the NPU in SOC-2 through a proxy mechanism.

[0190] The invoked NPU performs model inference and feeds back the inference results (used as business data) and / or the inference completion message from the SOC-2 side to the SOC-1 side via the reverse path of the second resource request. Taking business data feedback as an example, on the Domain-1 side of the SSA in SOC-2, business data is transmitted to the socket via the Client Session. The socket then transmits the business data to the gateway via the Domain-1's eth network card. The gateway then transmits the business data to the eth network card of the SSA's Domain-1 in SOC-1. The SSA's Domain-1 in SOC-1, acting as a proxy domain system, transmits the business data to the SSA's Switch via the socket and virtual network card in the SOC-1's Domain-1, storing it in the MP. The business data stored in the MP is then transmitted to the SSB's PCIE in SOC-1 via the SSA's PCIE. On the SSB side of SOC-1, business data from the SSA side is received via PCIE. The service data is transmitted via the SSB switch to the virtual network card in Domain-1 and then to the socket. It then reaches the application in Domain-1 of the SSB within SOC-1 via the Client Session. This allows the application to complete the computation of the model inference task under the invocation of the NPU.

[0191] It is understandable that in scenarios one and two above, in the cross-die scenario, cross-die domain systems with physical communication network cards can directly perform RPC communication, thereby enabling cross-die calls to the NPU, i.e., cross-die calls can be performed in direct mode. However, for domain systems that do not have physical communication network cards themselves, if they want to achieve cross-die calls, they need to use a domain system belonging to the same die and possessing a physical communication network card as a proxy domain system. Cross-die calls are then achieved through the proxy domain system's proxy mechanism. This solution takes into account practical application needs and provides technical support for cross-die calls or sharing of important resources.

[0192] The two-tier agent model is described below.

[0193] Unlike the first-level proxy model, the second-level proxy model requires that neither the initiator nor the receiver of the second resource request has a physical network interface card (NIC). Instead, it requires another domain system belonging to the same die that does have a physical NIC to act as a proxy domain system for RPC communication, enabling cross-die calls. Further, a scheme for cross-die calls using the second-level proxy model is as follows:

[0194] If the first domain system does not include a physical communication network interface card (NIC), while the fifth domain system in the multi-core heterogeneous system (excluding the first domain system) includes a physical communication network interface card (NIC), and the domain system with the second identification information in the other multi-core heterogeneous systems does not include a physical communication network interface card (NIC), while the fourth domain system in the other multi-core heterogeneous systems includes a physical communication network interface card (NIC), then the fifth domain system is designated as the proxy domain system of the multi-core heterogeneous system, and the fourth domain system is designated as the proxy domain system of the other multi-core heterogeneous systems. Under the communication connection, the first domain system transmits the second resource request to the proxy domain system of the multi-core heterogeneous system, and the second resource request is transmitted by the proxy domain system of the multi-core heterogeneous system through the physical communication network interface card. The proxy domain system of the other multi-core heterogeneous system; and, under the communication connection, the first domain system receives service data received by the proxy domain system of the multi-core heterogeneous system through its physical communication network card, so as to enable the first application to realize the target application service; wherein, the service data is data generated by the first processing resources of the domain system with the second identification information in the other multi-core heterogeneous system when realizing and / or assisting in realizing the target application service, and the service data is transmitted from the domain system with the second identification information in the other multi-core heterogeneous system to the proxy domain system of the other multi-core heterogeneous system, and transmitted from the proxy domain system of the other multi-core heterogeneous system to the proxy domain of the multi-core heterogeneous system through the physical communication network card.

[0195] Combination Figure 15 As shown, the specific solution for cross-die calls using the two-level proxy pattern can be:

[0196] In SOC-1, an application in Domain-1 of the SSB (used as the first domain system) needs to call the NPU in Domain-1 of the SSB in SOC-2 (a domain system with second identification information) via RPC connection. When the called NPU performs model inference tasks, the application generates a (second) resource request on the Domain-1 side of the SSB in SOC-1. The generated second resource request reveals the IP address and port of the domain system where the called NPU resides. This resource request is transmitted to a socket via the Client Session. The socket then transmits the resource request to the SSB's switch via the Domain-1 virtual network card for storage in the MP (Multi-Level Manager). The resource request stored in the MP is transmitted to the SSA's PCIE via the SSB's PCIE. On the SSA side of SOC-1, the resource request from the SSB is received via PCIE. This resource request is transmitted to the virtual network card and socket of Domain-1 of the SSA via the switch. In SOC-1, SSA Domain-1 acts as a proxy domain system for initiating resource requests, using a Client Session and an eth network card to transmit the request to the gateway. The gateway then transmits the request to the eth network card of SSA Domain-1 in SOC-2.

[0197] Resource requests from SOC-1 are transmitted via a proxy to Domain-1 in the SSA of SOC-2. Domain-1 in the SSA of SOC-2 acts as the proxy domain system for receiving resource requests. Within the SSA of SOC-2, requests reach the virtual network card via a socket, then the switch, and are stored in the MP of the SSA. The resource requests stored in the MP of the SSA are then transmitted to the PCIe of the SSB via the PCIe of the SSA. On the SSB side of SOC-2, resource requests from the SSA are received via PCIe. These resource requests are then transmitted via the switch to the virtual network card and socket in Domain-1 of the SSB, utilizing the Local Session to invoke the local NPU, thus enabling SOC-1 to invoke the NPU in SOC-2 through the two proxy domain systems.

[0198] The invoked NPU performs model inference and feeds back the inference results (used as business data) and / or the inference completion message from the SOC-2 side to the SOC-1 side via the proxy domain system, following the reverse path of the second resource request. Taking business data feedback as an example, on the Domain-1 side of the SSB in SOC-2, business data is transmitted to the socket via the Client Session. The socket transmits the business data to the Switch and stores it in the MP via the virtual network card of Domain-1. The business data stored in the MP is then sent out through the PCIe interface of the SSB in SOC-2, and transmitted from the SSB side of SOC-2 to the PCIe interface of the SSA side of SOC-2. In the SSA of SOC-2, the business data reaches the virtual network card of Domain-1 via the Switch, and then reaches the eth network card of Domain-1 via the socket, and is transmitted to the gateway via the eth network card. The gateway then transmits the business data to the eth network card of Domain-1 of the SSA in SOC-1. In other words, business data transmission is achieved through a proxy domain system using a proxy method.

[0199] In SOC-1, SSA Domain-1 acts as a proxy domain system. Service data is transmitted to the SSA switch via the socket and virtual network card of SSA Domain-1 within SOC-1 and stored in the MP (Multi-Level Manager). The service data stored in the MP is then transmitted via the SSA's PCIe to the SSB's PCIe in SOC-1. On the SSB side of SOC-1, service data from the SSA is received via PCIe. This service data is then transmitted via the SSB switch to the virtual network card of Domain-1 and reaches the socket. Finally, it reaches the application (App) in SSB Domain-1 via the Client Session. This allows the application to perform model inference tasks under the invocation of the NPU.

[0200] Unlike the first-level proxy scheme, where one of the resource request initiator or receiver needs to use a proxy domain system for communication, the above scheme requires both the resource request initiator and receiver to use their respective proxy domain systems for cross-die calls. Therefore, it is considered a second-level proxy scheme. Both first-level and second-level proxy schemes utilize RPC, an efficient communication method, to achieve the invocation or sharing of important resources based on a proxy mechanism, under security protection mechanisms such as isolation between dies and hard isolation between domain systems. This provides technical support for the efficient sharing or invocation of hardware devices between systems on multiple system platforms.

[0201] This efficient call or sharing scheme is suitable for practical application needs, highly practical, and feasible. The rapid or timely access to the NPU, a crucial processing resource, can quickly or promptly complete business processing, improving the processing efficiency and performance of multi-core heterogeneous systems.

[0202] The technical solution of this application can be applied to vehicles such as automobiles and buses. Taking automobiles as an example, as the AI ​​computing power on in-vehicle SOCs gradually increases, the number of AI-related applications in vehicles is also constantly increasing. Using the technical solution of this application, AI computing power (such as the NPU processor) can be deployed in a distributed manner across different domain systems according to different application needs. Using the technical solution of this application, under the hard isolation mechanism of the SOC itself, cross-domain calls, cross-subsystem calls, and cross-die calls of AI computing power can be efficiently realized through RPC technology.

[0203] In practical applications, distributing AI computing power across different domain systems enables efficient handling of the actual call requirements of multiple concurrent applications through cross-domain, cross-subsystem, and cross-die calls, thereby improving the overall performance and response speed of the automotive system. Furthermore, hard isolation mechanisms ensure security and stability between different domain systems while supporting RPC cross-domain, cross-subsystem, and cross-die calls, effectively achieving interoperability and collaborative work between different domain systems and enhancing the overall performance of the automotive system.

[0204] In this application, AI computing power on the vehicle-mounted SOC can be flexibly deployed and scheduled according to specific application requirements, thereby achieving more efficient resource utilization and business allocation. Through the vehicle system's support for hard isolation mechanisms and cross-domain, cross-subsystem, and cross-die RPC calls, information sharing and collaborative processing between different domains can be achieved, providing stronger support and guarantees for vehicle intelligence and safety.

[0205] The aforementioned scheme takes calling an NPU as an example. In addition, the called processor can also be a DSP, GPU, CPU, etc. For the specific calling process, please refer to the explanation, which will not be elaborated here.

[0206] This application also provides another resource management method, the method comprising:

[0207] A second resource request is received from a first application, which is an application of a first domain system in various domain systems of a multi-core heterogeneous system. The second resource request is used to request a first processing resource, which is located in other multi-core heterogeneous systems besides the aforementioned multi-core heterogeneous system. The multi-core heterogeneous system and the other multi-core heterogeneous systems include at least two hardware domains. Each hardware domain of the multi-core heterogeneous system and the other multi-core heterogeneous systems consists of multiple processor cores with different architectures and hardware resources connected to each processor core, and the hardware domains are isolated from each other. Each hardware domain of the multi-core heterogeneous system and the other multi-core heterogeneous systems, and the operating system corresponding to each hardware domain, constitute each domain system.

[0208] Obtain the second identification information of the domain system in the other multi-core heterogeneous systems requested by the first application in the second resource request;

[0209] Using a target communication method, a communication connection is established between the first domain system and the other multi-core heterogeneous systems containing the second identification information, so that the first application can transmit a second resource request to the other multi-core heterogeneous systems containing the second identification information based on the communication connection, so as to call the first processing resource in the domain system containing the second identification information, wherein the first processing resource is used to enable the first application to implement the target application business and / or assist the first application in implementing the target application business.

[0210] Another resource management method in this application is the aforementioned cross-die call scheme, which can be combined with... Figures 11-15 The proposed solution should be understood, and repetitions will not be repeated.

[0211] This application provides a resource management device applied to a multi-core heterogeneous system, the multi-core heterogeneous system including at least two hardware domains; each hardware domain consists of multiple processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to each processor core, the hardware domains are isolated from each other; each hardware domain and the operating system corresponding to each hardware domain constitute each domain system; at least one of the hardware domain systems includes a first processor.

[0212] like Figure 16 As shown, the device includes:

[0213] The first obtaining unit 1301 is used to obtain a first resource request from a first application, wherein the first application is an application of the first domain system in each domain system, and the first resource request is used to request the first processor of other domain systems in each domain system besides the first domain system; wherein the first application generates the first resource request when accelerating or assisting in accelerating the implementation of a target application service, and the target application service includes artificial intelligence (AI) service; the multi-core heterogeneous system includes at least two types of processors, and among the at least two types of processors, the first processor has a stronger adaptability to AI service than other types of processors besides the first processor;

[0214] The second obtaining unit 1302 is used to obtain the first identification information of other domain systems requested by the first application in the first resource request;

[0215] The first communication unit 1303 is used to establish a communication connection between the first domain system and the other domain systems that have the first identification information using a target communication method, so that the first application can transmit a first resource request to the domain system with the first identification information based on the communication connection, so as to request the first processor to implement or assist in implementing the target application service of the first application from the domain system with the first identification information.

[0216] In the multi-core heterogeneous system, among at least two types of processors, the first processor has a higher processing efficiency for the target application service than the other types of processors. The first application also includes non-target application services, and the first processor is capable of processing the non-target application services. The superiority of the first processor in processing the target application service is significantly greater than the superiority of the first processor in processing the non-target application services.

[0217] In some embodiments, the multi-core heterogeneous system includes N subsystems, where N is a positive integer greater than or equal to 1, and each subsystem includes at least one domain system. The resource management device further includes a first storage unit for:

[0218] In response to the fact that the domain system with the first identification information is located in the same subsystem as the first domain system, the business data generated by the first processing resource to be invoked when implementing and / or assisting in the implementation of the target application business is saved to the shared memory of the same subsystem. The shared memory is used for the first application to obtain the business data from the communication connection so that the first application can implement the target application business.

[0219] In some embodiments, the first domain system includes a first logical communication card, and the domain system having first identification information includes a second logical communication card.

[0220] The first communication unit 1303 is further configured to, in response to a domain system having first identification information being located in the same subsystem as the first domain system, transmit the first resource request to a second logical communication card via the first logical communication card under the communication connection, and receive, via the first logical communication card, first feedback information for the first resource request transmitted by the domain system having first identification information via the second logical communication card, wherein the first feedback information is used to enable the first application to obtain business data from shared memory.

[0221] In some embodiments, the multi-core heterogeneous system includes P subsystems, where P is a positive integer greater than or equal to 2, and each subsystem includes at least one domain system.

[0222] The first communication unit 1303 is also used for:

[0223] In response to the fact that the domain system with the first identification information is located in a different subsystem from the first domain system, the first domain system receives, through the communication connection, business data generated by the first processing resource of the domain system with the first identification information when implementing and / or assisting in the implementation of application services, so as to enable the first application to obtain business data to implement the target application service;

[0224] And / or, the first domain system obtains business data generated by the first processing resources in implementing and / or assisting in implementing the target application business from the agreed area of ​​the first domain system and the domain system with the first identification information, so that the first application can obtain the business data to implement the target application business.

[0225] In some embodiments, the first domain system includes a first physical communication card, and the domain system having the first identification information includes a second physical communication card;

[0226] The first communication unit 1303 is also used for:

[0227] In response to the domain system having the first identification information being located in a different subsystem from the first domain system, under the communication connection, a first resource request is transmitted to a second physical communication card via a first physical communication card, and a second feedback information regarding the first resource request is received via the first physical communication card from the domain system having the first identification information via the second physical communication card, the second feedback information being used to enable the first application to obtain business data.

[0228] In some embodiments, the first domain system includes a first logical communication card, and the domain system having the first identification information includes a second logical communication card.

[0229] The first communication unit 1303 is also used for:

[0230] Under the communication connection, the first resource request is stored in the message pool of the first domain system through the first logical communication card, so as to transmit the first resource request in the message pool to the second physical communication card through the first physical communication card; and the second feedback information of the first resource request is stored in the message pool of the domain system having the first identification information through the second logical communication card, so as to transmit the second feedback information to the first physical communication card through the second physical communication card.

[0231] In some embodiments, the resource management device further includes:

[0232] The third obtaining unit is used to obtain a second resource request from a first application, wherein the first application is an application of the first domain system in each domain system, and the second resource request is used to request a first processing resource, which is located in other multi-core heterogeneous systems besides the multi-core heterogeneous system; wherein, the other multi-core heterogeneous system includes at least two hardware domains; each hardware domain of the other multi-core heterogeneous system consists of multiple processor cores with different architectures in the other multi-core heterogeneous system and hardware resources connected to each processor core, and the hardware domains are isolated from each other; each hardware domain of the other multi-core heterogeneous system and the operating system corresponding to each hardware domain constitute the domain system of the other multi-core heterogeneous system;

[0233] The fourth obtaining unit is used to obtain the second identification information of the domain system in the other multi-core heterogeneous system requested by the first application in the second resource request;

[0234] The second communication unit is used to establish a communication connection between the first domain system and the other multi-core heterogeneous systems that have the second identification information using a target communication method, so that the first application can transmit the second resource request to the other multi-core heterogeneous systems that have the second identification information based on the communication connection, so as to call the first processing resource to the domain system with the second identification information, wherein the first processing resource is used to enable the first application to implement the target application business and / or assist the first application in implementing the target application business.

[0235] In some embodiments, the second communication unit is configured to: if the first domain system includes a physical communication network interface card (NIC), and the other domain system in the multi-core heterogeneous system having the second identification information also includes a physical communication NIC, then

[0236] Under the communication connection, the second resource request is transmitted to the domain system with the second identification information in the other multi-core heterogeneous system through the physical communication network card of the first domain system;

[0237] as well as,

[0238] Under the communication connection, the first domain system receives service data transmitted by the domain system with second identification information in the other multi-core heterogeneous systems through its physical communication network card, so that the first application can realize the target application service.

[0239] The business data refers to the data generated by the first processing resource of the domain system with second identification information when implementing and / or assisting in the implementation of the target application business.

[0240] In some embodiments, the second communication unit is used for:

[0241] If the first domain system includes a physical communication network interface card (NIC), and the domain system with the second identification information in the other multi-core heterogeneous systems does not include a physical communication network interface card (NIC), while the second domain system in the other multi-core heterogeneous systems includes a physical communication network interface card (NIC), then

[0242] The second domain system is used as a proxy domain system for the other multi-core heterogeneous systems;

[0243] Under the communication connection, the first domain system transmits the second resource request to the proxy domain system of the other multi-core heterogeneous system through the physical communication network card. The second resource request is transmitted by the proxy domain system in the multi-core heterogeneous system to the domain system with the second identification information in the other multi-core heterogeneous system.

[0244] as well as,

[0245] Under the aforementioned communication connection, the first domain system receives service data transmitted via the physical communication network card of the proxy domain system utilizing the physical communication network card of the other multi-core heterogeneous systems, so that the first application can realize the target application service.

[0246] The business data refers to the data generated by the first processing resource of the domain system with second identification information in the other multi-core heterogeneous system when implementing and / or assisting in the implementation of the target application business, and is transmitted from the domain system with second identification information in the other multi-core heterogeneous system to the proxy domain system.

[0247] In some embodiments, the second communication unit is used for:

[0248] If the first domain system does not include a physical communication network interface card (NIC), while a third domain system in the multi-core heterogeneous system (excluding the first domain system) includes a physical communication NIC, and the domain systems in the other multi-core heterogeneous systems that have the second identification information include physical communication NICs, then

[0249] The third domain system is used as the proxy domain system of the multi-core heterogeneous system;

[0250] Under the communication connection, the first domain system transmits the second resource request to the proxy domain system of the multi-core heterogeneous system. The second resource request is transmitted by the proxy domain system of the multi-core heterogeneous system to the domain system with the second identification information in the other multi-core heterogeneous systems through the physical communication network card.

[0251] as well as,

[0252] Under the aforementioned communication connection, the first domain system receives service data received by the proxy domain system of the multi-core heterogeneous system through its physical communication network card, so that the first application can realize the target application service;

[0253] The business data refers to the data generated by the domain system with the second identification information in the other multi-core heterogeneous system when its first processing resources implement and / or assist in implementing the target application business. The business data is transmitted from the domain system with the second identification information in the other multi-core heterogeneous system to the proxy domain system of the multi-core heterogeneous system through a physical communication network card.

[0254] In some embodiments, the second communication unit is used for:

[0255] If the first domain system does not include a physical communication network interface card (NIC), while the fifth domain system in the multi-core heterogeneous system (excluding the first domain system) includes a physical communication NIC, and the domain system with the second identification information in the other multi-core heterogeneous systems does not include a physical communication NIC, while the fourth domain system in the other multi-core heterogeneous systems includes a physical communication NIC, then

[0256] The fifth domain system is used as a proxy domain system for the multi-core heterogeneous system, and the fourth domain system is used as a proxy domain system for the other multi-core heterogeneous systems.

[0257] Under the communication connection, the first domain system transmits the second resource request to the proxy domain system of the multi-core heterogeneous system, and the second resource request is transmitted by the proxy domain system of the multi-core heterogeneous system to the proxy domain system of the other multi-core heterogeneous systems through the physical communication network card;

[0258] as well as,

[0259] Under the aforementioned communication connection, the first domain system receives service data received by the proxy domain system of the multi-core heterogeneous system through its physical communication network card, so that the first application can realize the target application service;

[0260] Wherein, the business data is data generated by the domain system with the second identification information in the other multi-core heterogeneous system when its first processing resources implement and / or assist in implementing the target application business, and the business data is transmitted from the domain system with the second identification information in the other multi-core heterogeneous system to the proxy domain system of the other multi-core heterogeneous system, and then transmitted from the proxy domain system of the other multi-core heterogeneous system to the proxy domain of the multi-core heterogeneous system through the physical communication network card.

[0261] It should be noted that the resource management device in this application embodiment solves the problem in a similar way to the aforementioned resource management method. Therefore, the implementation process and implementation principle of the resource management device can be found in the description of the implementation process and implementation principle of the aforementioned method, and the repeated parts will not be repeated.

[0262] According to embodiments of this application, this application also provides an electronic device and a readable storage medium.

[0263] The electronic device includes at least one processor and a memory communicatively connected to the at least one processor. The memory stores instructions executable by the at least one processor, which, when executed, enable the at least one processor to perform the resource management method described in this application. The computer instructions are used to cause the computer to perform the resource management method described in this application.

[0264] This application also provides a computer program product, including a computer program / instructions, which, when executed by a processor, implement the resource management method of this application.

[0265] Figure 17 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of this application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the application described and / or claimed herein.

[0266] like Figure 17As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.

[0267] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0268] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as resource management methods. For example, in some embodiments, the resource management method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the resource management method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform resource management methods by any other suitable means (e.g., by means of firmware).

[0269] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0270] The program code used to implement the methods of this application may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0271] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0272] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0273] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0274] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0275] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A resource management method characterized by, The method is applied to a multi-core heterogeneous system, the multi-core heterogeneous system comprising at least two hardware domains; each hardware domain being composed of a plurality of processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to each processor core, the hardware domains being isolated from each other; each hardware domain and an operating system corresponding to each hardware domain forming a domain system; a hardware domain of at least one of the domain systems comprising a first processor; the method comprising: obtaining a first resource request from a first application, the first application being an application of a first domain system in the domain systems, the first resource request being used to request a first processor of a domain system other than the first domain system in the domain systems; wherein the first application generates the first resource request when accelerating or assisting in accelerating a target application service, the target application service comprising an artificial intelligence (AI) service; the multi-core heterogeneous system comprising at least two types of processors, the first processor having stronger adaptability to the AI service than other types of processors other than the first processor; obtaining first identification information of the other domain system requested by the first application in the first resource request; using a target communication mode to communicatively connect the first domain system and a domain system having the first identification information in the other domain systems, so that the first application transmits the first resource request to the domain system having the first identification information based on the communication connection, to request the first processor of the domain system having the first identification information to implement or assist in implementing processing of the target application service of the first application; wherein, in the at least two types of processors of the multi-core heterogeneous system, the first processor has higher processing efficiency for the target application service than the other types of processors; the first application further comprises a non-target application service, and the first processor can process the non-target application service, the superiority of the first processor in processing efficiency for the target application service being more significant than the superiority of the first processor in processing efficiency for the non-target application service.

2. The method of claim 1, wherein, The multi-core heterogeneous system comprises N subsystems, N being a positive integer greater than or equal to 1, each subsystem comprising at least one domain system; the method further comprising: in response to the domain system having the first identification information and the first domain system being located in the same subsystem, saving service data generated by the first processor resource to be invoked when implementing and / or assisting in implementing an application service to a shared memory of the same subsystem, the shared memory being used by the first application to obtain the service data therefrom based on the communication connection, so that the first application implements the target application service.

3. The method of claim 2, wherein, The first domain system comprises a first logical communication card, and the domain system having the first identification information comprises a second logical communication card, the method further comprising: In response to the domain system with the first identification information and the first domain system being located in the same subsystem, transmitting the first resource request to the second logical communication card through the first logical communication card under the communication connection, and receiving the first feedback information for the first resource request transmitted by the domain system with the first identification information through the second logical communication card through the first logical communication card, the first feedback information being used for the first application to obtain the service data from the shared memory.

4. The method of claim 1, wherein, The multi-core heterogeneous system includes P subsystems, P being a positive integer greater than or equal to 2, each subsystem including at least one domain system; the method further includes: In response to the domain system with the first identification information and the first domain system being located in different subsystems, the first domain system receiving the service data generated by the first processing resource in the domain system with the first identification information when implementing and / or assisting in implementing the target application service through the communication connection, so that the first application obtains the service data to implement the target application service; And / or, the first domain system obtaining the service data generated by the first processing resource in the domain system with the first identification information when implementing and / or assisting in implementing the target application service from the agreed area of the first domain system and the domain system with the first identification information, so that the first application obtains the service data to implement the target application service.

5. The method of claim 4, wherein, The first domain system includes a first physical communication card, and the domain system with the first identification information includes a second physical communication card; the method further includes: In response to the domain system with the first identification information and the first domain system being located in different subsystems, transmitting the first resource request to the second physical communication card through the first physical communication card under the communication connection, and receiving the second feedback information for the first resource request transmitted by the domain system with the first identification information through the second physical communication card through the first physical communication card, the second feedback information being used for the first application to obtain the service data.

6. The method of claim 5, wherein, The first domain system includes a first logical communication card, and the domain system with the first identification information includes a second logical communication card; the method further includes: Under the communication connection, storing the first resource request into a message pool of the first domain system through the first logical communication card, so as to transmit the first resource request in the message pool to the second physical communication card through the first physical communication card; and storing the second feedback information of the first resource request into a message pool of the domain system with the first identification information through the second logical communication card, so as to transmit the second feedback information to the first physical communication card through the second physical communication card.

7. The method of claim 1, wherein, Further comprising: obtaining a second resource request from a first application, the first application being an application of a first domain system in the domain systems, the second resource request being used to request a first processing resource, the first processing resource being located in a multi-core heterogeneous system other than the multi-core heterogeneous system; wherein the multi-core heterogeneous system other than the multi-core heterogeneous system comprises at least two hardware domains; each hardware domain of the multi-core heterogeneous system other than the multi-core heterogeneous system is composed of a plurality of architecture different processor cores in the multi-core heterogeneous system other than the multi-core heterogeneous system and hardware resources connected with each processor core, and each hardware domain is isolated from each other; each hardware domain of the multi-core heterogeneous system other than the multi-core heterogeneous system and an operating system corresponding to each hardware domain constitute a domain system of the multi-core heterogeneous system other than the multi-core heterogeneous system; obtaining second identification information of a domain system in the multi-core heterogeneous system other than the multi-core heterogeneous system requested by the first application in the second resource request; using a target communication mode, performing communication connection between the first domain system and the domain system in the multi-core heterogeneous system other than the multi-core heterogeneous system having the second identification information, so as to transmit the second resource request to the domain system in the multi-core heterogeneous system other than the multi-core heterogeneous system having the second identification information based on the communication connection, so as to call the first processing resource to the domain system having the second identification information, wherein the first processing resource is used to enable the first application to implement a target application service and / or assist the first application to implement the target application service.

8. The method of claim 7, wherein, Further comprising: if the first domain system comprises a physical communication network card, and the domain system in the multi-core heterogeneous system other than the multi-core heterogeneous system having the second identification information also comprises a physical communication network card, then transmitting the second resource request to the domain system in the multi-core heterogeneous system other than the multi-core heterogeneous system having the second identification information through the physical communication network card of the first domain system under the communication connection; and receiving service data transmitted by the domain system in the multi-core heterogeneous system other than the multi-core heterogeneous system having the second identification information through the physical communication network card thereof through the physical communication network card of the first domain system under the communication connection, so as to enable the first application to implement the target application service; wherein the service data is data generated by the first processing resource of the domain system having the second identification information when implementing and / or assisting in implementing the target application service.

9. The method of claim 7, wherein, Further comprising: if the first domain system comprises a physical communication network card, and the domain system in the multi-core heterogeneous system other than the multi-core heterogeneous system having the second identification information does not comprise a physical communication network card, and a second domain system in the multi-core heterogeneous system other than the multi-core heterogeneous system comprises a physical communication network card, then taking the second domain system as a proxy domain system of the multi-core heterogeneous system other than the multi-core heterogeneous system; transmitting the second resource request to the proxy domain system of the multi-core heterogeneous system other than the multi-core heterogeneous system through the physical communication network card of the first domain system under the communication connection, the second resource request being transmitted to the domain system in the multi-core heterogeneous system other than the multi-core heterogeneous system having the second identification information by the proxy domain system in the multi-core heterogeneous system other than the multi-core heterogeneous system; and receiving service data transmitted by using the physical communication network card of the proxy domain system of the multi-core heterogeneous system other than the multi-core heterogeneous system through the physical communication network card of the first domain system under the communication connection, so as to enable the first application to implement the target application service; The service data is data generated by a first processing resource of a domain system having the second identification information in the other multi-core heterogeneous system when implementing and / or assisting in implementing the target application service, and is transmitted by the domain system having the second identification information in the other multi-core heterogeneous system to the proxy domain system.

10. The method of claim 7, wherein, Further comprising: If the first domain system does not include the physical communication network card, a third domain system other than the first domain system in the multi-core heterogeneous system includes the physical communication network card, and the domain system having the second identification information in the other multi-core heterogeneous system includes the physical communication network card, the third domain system is taken as the proxy domain system of the multi-core heterogeneous system; under the communication connection, the first domain system transmits a second resource request to the proxy domain system of the multi-core heterogeneous system, the second resource request is transmitted by the proxy domain system of the multi-core heterogeneous system to the domain system having the second identification information in the other multi-core heterogeneous system through the physical communication network card; and under the communication connection, the first domain system receives service data received by the proxy domain system of the multi-core heterogeneous system through the physical communication network card, so that the first application implements the target application service. The service data is data generated by a first processing resource of a domain system having the second identification information in the other multi-core heterogeneous system when implementing and / or assisting in implementing the target application service, and is transmitted by the domain system having the second identification information in the other multi-core heterogeneous system to the proxy domain system. Further comprising:

11. The method of claim 7, wherein, If the first domain system does not include the physical communication network card, a fifth domain system other than the first domain system in the multi-core heterogeneous system includes the physical communication network card, and the domain system having the second identification information in the other multi-core heterogeneous system does not include the physical communication network card, and a fourth domain system in the other multi-core heterogeneous system includes the physical communication network card, the fifth domain system is taken as the proxy domain system of the multi-core heterogeneous system, and the fourth domain system is taken as the proxy domain system of the other multi-core heterogeneous system; under the communication connection, the first domain system transmits a second resource request to the proxy domain system of the multi-core heterogeneous system, the second resource request is transmitted by the proxy domain system of the multi-core heterogeneous system to the proxy domain system of the other multi-core heterogeneous system through the physical communication network card; and under the communication connection, the first domain system receives service data received by the proxy domain system of the multi-core heterogeneous system through the physical communication network card, so that the first application implements the target application service. ​ ​ The service data is data generated by a domain system having the second identification information in the other multi-core heterogeneous system in implementing and / or assisting in implementing a target application service, and the service data is transmitted by the domain system having the second identification information in the other multi-core heterogeneous system to a proxy domain system of the other multi-core heterogeneous system, and is transmitted by the proxy domain system of the other multi-core heterogeneous system to the proxy domain of the multi-core heterogeneous system through a physical communication network card.

12. A resource management method characterized by, The method comprises: obtaining a second resource request from a first application, the first application being an application of a first domain system in each domain system of a multi-core heterogeneous system, and the second resource request being used to request a first processing resource, the first processing resource being located in another multi-core heterogeneous system other than the multi-core heterogeneous system; wherein the multi-core heterogeneous system and the other multi-core heterogeneous system comprise at least two hardware domains; each hardware domain of the multi-core heterogeneous system and the other multi-core heterogeneous system is composed of a plurality of architecture different processor cores and hardware resources connected with each processor core, and the hardware domains are isolated from each other; each hardware domain and an operating system corresponding to each hardware domain constitute a domain system; obtaining second identification information of a domain system in the other multi-core heterogeneous system requested by the first application in the second resource request; using a target communication mode to perform communication connection between the first domain system and the domain system having the second identification information in the other multi-core heterogeneous system, so that the first application transmits the second resource request to the domain system having the second identification information in the other multi-core heterogeneous system based on the communication connection, to call the first processing resource to the domain system having the second identification information, wherein the first processing resource is used to enable the first application to implement a target application service and / or assist the first application to implement the target application service.

13. A resource management device, characterized by comprising: Applied to a multi-core heterogeneous system, the multi-core heterogeneous system comprises at least two hardware domains; each hardware domain is composed of a plurality of architecture different processor cores in the multi-core heterogeneous system and hardware resources connected with each processor core, and the hardware domains are isolated from each other; each hardware domain and an operating system corresponding to each hardware domain constitute a domain system; the hardware domain of at least one of the domain systems comprises a first processor; The resource management device comprises: a first obtaining unit, configured to obtain a first resource request from a first application, the first application being an application of a first domain system in each domain system, and the first resource request being used to request a first processor of another domain system other than the first domain system in each domain system; wherein the first application generates the first resource request when accelerating implementation or assisting in accelerating implementation of a target application service, and the target application service comprises an artificial intelligence (AI) service; the multi-core heterogeneous system comprises at least two kinds of processors, and the first processor has stronger adaptability to the AI service than other kinds of processors other than the first processor; The second obtaining unit is configured to obtain first identification information of another domain system requested by the first application in the first resource request; The first communication unit is configured to use a target communication mode to perform communication connection between the first domain system and a domain system having the first identification information among the another domain system, so that the first application transmits the first resource request to the domain system having the first identification information based on the communication connection, to request the domain system having the first identification information to realize or assist to realize processing of a target application service of the first application by a first processor; In at least two processors of a multi-core heterogeneous system, the first processor has a processing efficiency on the target application service superior to that of the other processor on the target application service; the first application further includes a non-target application service, the first processor is capable of processing the non-target application service, and the superiority of the first processor in the processing efficiency on the target application service is more significant than that of the first processor in the processing efficiency on the non-target application service.

Citation Information

Patent Citations

  • Heterogeneous processor core scheduling method and device, equipment and medium

    CN116820777A

  • Communication method and device for multi-core heterogeneous system and external device, and storage medium

    CN117807016A