Resource management method and resource management equipment
By adopting resource management methods and target communication methods in multi-core heterogeneous systems, processor resource sharing and call between different domain systems is realized, the problem of hardware device sharing in multi-system platforms is solved, and the efficiency of artificial intelligence business processing is improved.
Patent Information
- Application Number
- CN202411833699.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2044-12-12
AI Technical Summary
There are challenges in efficient sharing or calling hardware devices between systems in multi-system platforms, especially in multi-core heterogeneous systems, how to effectively utilize processor resources from different hardware domains to support business processing of complex applications such as artificial intelligence.
By implementing resource management methods in multi-core heterogeneous systems, target communication methods (such as RPC) are used to communicate and connect between different domain systems of multi-core heterogeneous systems, efficient sharing and calling processor resources with superior processing efficiency are achieved.
The utilization rate of processor resources in multi-core heterogeneous systems has been improved, especially in artificial intelligence business processing, which has significantly improved processing efficiency and system performance.
Smart Images

Figure CN119961018A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of resource management, and in particular to a resource management method and a resource management device. Background Art
[0002] A multi-system platform consists of two or more systems. Considering the independence between systems in a multi-system platform, each system is usually provided with its own hardware devices, such as a processor and an interrupt controller. In general, the hardware devices of a system are used to serve its own system. In practical applications, there may be situations where one system needs to use the hardware devices of other systems. For a multi-system platform, how to achieve efficient sharing or calling of hardware devices between systems has become a technical problem that needs to be solved urgently. Summary of the invention
[0003] The present application provides a resource management method and a resource management device to at least solve the above technical problems existing in the prior art.
[0004] According to a first aspect of the present 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 is 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 constitute each domain system; the hardware domain of at least one of the domain systems comprises a first processor; the method comprising:
[0005] Obtaining a first resource request from a first application, where the first application is an application of a first domain system in each domain system, and the first resource request is used to request a first processor of other domain systems in each domain system except the first domain system; wherein the first application generates the first resource request when accelerating or assisting in accelerating a target application service, and the target application service includes an artificial intelligence (AI) service; the multi-core heterogeneous system includes at least two processors, and among the at least two processors, the first processor has stronger adaptability to the AI service than other processors except the first processor.
[0006] Obtaining first identification information of other domain systems requested by the first application in the first resource request;
[0007] Using a target communication mode, the first domain system is communicatively connected with a domain system having the first identification information in the other domain systems, so that the first application transmits 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 processing of a target application service of the first application from the domain system having the first identification information;
[0008] Among them, among at least two processors in a multi-core heterogeneous system, the processing efficiency of the first processor for the target application business is better than the processing efficiency of the other processors for the target application business; the first application also includes non-target application business, the first processor is capable of processing non-target application business, and the superiority of the processing efficiency of the first processor for the target application business is significantly better than the superiority of the processing efficiency of the first processor for non-target application business.
[0009] In one possible implementation, 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 domain system with the first identification information being located in the same subsystem as the first domain system, the business data generated by the called first processing resource when implementing and or assisting in implementing the application business is saved to the shared memory of the same subsystem, and the shared memory is used for the first application to obtain the business data therefrom based on the communication connection, so that the first application implements the target application business.
[0011] In one possible implementation, the first domain system includes a first logical communication card, the domain system having the first identification information includes a second logical communication card, and the method further includes:
[0012] 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, the first resource request is transmitted to the second logical communication card through the first logical communication card, and first feedback information for the first resource request transmitted by the domain system with the first identification information through the second logical communication card is received through the first logical communication card, and the first feedback information is used to enable the first application to obtain business data from the shared memory.
[0013] In one possible implementation, 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 domain system having the first identification information and the first domain system being located in different subsystems, the first domain system receives, through the communication connection, the business data generated by the first processing resource of the domain system having the first identification information when implementing and / or assisting in implementing the target application business, so that the first application obtains the business data to implement the target application business;
[0015] And or, the first domain system obtains the business data generated by the first processing resource when 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 obtains 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 and the first domain system being located in different subsystems, under the communication connection, a first resource request is transmitted to a second physical communication card through a first physical communication card, and second feedback information for the first resource request transmitted by the domain system having the first identification information through the second physical communication card is received through the first physical communication card, wherein the second feedback information is 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 that the first resource request in the message pool is transmitted 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 that the second feedback information is transmitted to the first physical communication card through the second physical communication card.
[0020] In one embodiment, the method further comprises:
[0021] Obtaining a second resource request from a first application, wherein the first application is an application of a first domain system in each domain system, and the second resource request is used to request a first processing resource, and the first processing resource is located in other multi-core heterogeneous systems other than 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 is composed of a plurality of 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 each domain system of the other multi-core heterogeneous system;
[0022] 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;
[0023] A target communication method is adopted to establish a communication connection between the first domain system and the domain system with 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 with the second identification information in the other multi-core heterogeneous system 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 to implement the target application business.
[0024] In one embodiment, the method further comprises:
[0025] If the first domain system includes a physical communication network card, and the domain system having the second identification information in the other multi-core heterogeneous system also includes a physical communication network card, then
[0026] Under the communication connection, transmitting the second resource request to the domain system having 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, receiving, through the physical communication network card of the first domain system, service data transmitted by the domain system with second identification information in the other multi-core heterogeneous system through its physical communication network card, so that the first application realizes the target application service;
[0029] The business data is data generated by the first processing resource of the domain system having the second identification information when realizing and / or assisting in realizing the target application business.
[0030] In one embodiment, the method further comprises:
[0031] Also includes:
[0032] If the first domain system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous system does not include a physical communication network card, and the second domain system in the other multi-core heterogeneous system includes a physical communication network card, then
[0033] Using the second domain system 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, and 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 communication connection, the first domain system receives, through the physical communication network card, the service data transmitted by using the physical communication network card of the proxy domain system of the other multi-core heterogeneous system, so that the first application realizes the target application service;
[0037] Among them, the business data is 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 implementing 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 embodiment, the method further comprises:
[0039] Also includes:
[0040] If the first domain system does not include a physical communication network card, and a third domain system other than the first domain system in the multi-core heterogeneous system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous system includes a physical communication network card, then
[0041] Using the third domain system as a proxy domain system for 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, and 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;
[0043] as well as,
[0044] Under the communication connection, the first domain system receives the 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 realizes the target application service;
[0045] Among them, the business data is the data generated by the domain system with the second identification information in the other multi-core heterogeneous system and its first processing resource when realizing and / or assisting in realizing 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 multi-core heterogeneous system through the physical communication network card.
[0046] In one embodiment, the method further comprises:
[0047] If the first domain system does not include a physical communication network card, and the fifth domain system other than the first domain system in the multi-core heterogeneous system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous systems does not include a physical communication network card, and the fourth domain system in the other multi-core heterogeneous systems includes a physical communication network card, then
[0048] Using the fifth domain system as a proxy domain system for the multi-core heterogeneous system, and using the fourth domain system 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 system through the physical communication network card;
[0050] as well as,
[0051] Under the communication connection, the first domain system receives the 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 realizes the target application service;
[0052] Among them, the business data is the data generated by the domain system with the second identification information in the other multi-core heterogeneous system and its first processing resource when realizing and / or assisting in realizing 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 agent domain system of the other multi-core heterogeneous system, and is transmitted from the agent domain system of the other multi-core heterogeneous system to the agent domain of the multi-core heterogeneous system through the physical communication network card.
[0053] According to a second aspect of the present application, a resource management method is provided, the method comprising:
[0054] Obtaining a second resource request from a first application, wherein the first application is an application of a first domain system in each domain system of a multi-core heterogeneous system, and the second resource request is used to request a first processing resource, and the first processing resource is located in other multi-core heterogeneous systems other than the multi-core heterogeneous system; wherein the multi-core heterogeneous system and the other multi-core heterogeneous systems include at least two hardware domains; the multi-core heterogeneous system and the other multi-core heterogeneous systems each hardware domain is composed of a plurality of processor cores with different architectures and hardware resources connected to the processor cores, and the hardware domains are isolated from each other; the multi-core heterogeneous system and the other multi-core heterogeneous systems each hardware domain and the operating system corresponding to each hardware domain constitute each domain system;
[0055] 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;
[0056] A target communication method is adopted to establish a communication connection between the first domain system and the domain system with 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 with the second identification information in the other multi-core heterogeneous system 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 to implement the target application business.
[0057] According to a third aspect of the present application, a resource management device is provided, which is applied to a multi-core heterogeneous system, wherein the multi-core heterogeneous system includes at least two hardware domains; each hardware domain is composed of a plurality of processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to 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 each domain system; the hardware domain of at least one of the domain systems includes a first processor; 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 used to request a first processor of other domain systems in each domain system except the first domain system; wherein the first application generates the first resource request when accelerating or assisting in accelerating a target application service, and the target application service includes an artificial intelligence (AI) service; the multi-core heterogeneous system includes at least two processors, and among the at least two processors, the first processor has stronger adaptability to the AI service than other processors except the first processor.
[0059] A second obtaining unit, configured to obtain first identification information of other domain systems requested by the first application in the first resource request;
[0060] a first communication unit, configured to establish a communication connection between the first domain system and a domain system having the first identification information in the other domain systems by adopting a target communication mode, so that the first application transmits 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 processing of a target application service of the first application to the domain system having the first identification information;
[0061] Among them, among at least two processors in a multi-core heterogeneous system, the processing efficiency of the first processor for the target application business is better than the processing efficiency of the other processors for the target application business; the first application also includes non-target application business, the first processor is capable of processing non-target application business, and the superiority of the processing efficiency of the first processor for the target application business is significantly better than the superiority of the processing efficiency of the first processor for non-target application business.
[0062] According to a fourth aspect of the present application, an electronic device is provided, including:
[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, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in the present application.
[0066] According to a fifth aspect of the present application, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the method described in the present application.
[0067] According to a sixth aspect of the present application, a computer program product is provided, comprising a computer program or instructions, which implement the method described in the present application when executed by a processor.
[0068] The technical solution of the present application is a solution that uses efficient communication methods to call or share important resources under a security protection mechanism, and is an efficient calling or sharing solution. It provides a technical support for the efficient sharing or calling of hardware devices between systems on multiple system platforms.
[0069] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0070] By reading the detailed description below with reference to the accompanying drawings, the above and other purposes, features and advantages of the exemplary embodiments of the present application will become readily understood. In the accompanying drawings, several embodiments of the present application are shown in an exemplary and non-limiting manner, wherein:
[0071] In the drawings, the same or corresponding reference numerals represent the same or corresponding parts.
[0072] Figure 1The schematic diagram of the multi-core heterogeneous system in the embodiment of the present application is shown Figure 1 ;
[0073] Figure 2 The schematic diagram of the multi-core heterogeneous system in the embodiment of the present application is shown Figure 2 ;
[0074] Figure 3 The schematic diagram of the multi-core heterogeneous system in the embodiment of the present application is shown Figure 3 ;
[0075] Figure 4 The following is a schematic diagram showing the implementation process of the resource management method in the embodiment of the present application. Figure 1 ;
[0076] Figure 5 A block diagram showing an implementation of RPC communication using a single domain connection method in an embodiment of the present application is shown;
[0077] Figure 6 A block diagram showing an embodiment of the present application in which a multi-domain connection method is used to implement RPC communication is shown;
[0078] Figure 7 A block diagram showing an implementation of RPC communication using the Tracker mode in an embodiment of the present application is shown;
[0079] Figure 8 The schematic diagram of the multi-core heterogeneous system in the embodiment of the present application is shown Figure 4 ;
[0080] Fig. 9 The block diagram of implementing cross-domain calls in the same die in an embodiment of the present application is shown;
[0081] Fig.10 The block diagram of implementing cross-subsystem calls in the same die in an embodiment of the present application is shown;
[0082] Fig.11 The following is a schematic diagram showing the implementation process of the resource management method in the embodiment of the present application. Figure 2 ;
[0083] Fig.12 The block diagram of the implementation of direct mode calling of different dies in the embodiment of the present application is shown;
[0084] Fig.13 The implementation frame of the first-level proxy mode call of different dies in the embodiment of the present application is shown Figure 1 ;
[0085] Fig.14 The implementation frame of the first-level proxy mode call of different dies in the embodiment of the present application is shown Figure 2 ;
[0086] Fig.15 The implementation block diagram of the secondary proxy mode call of different dies in the embodiment of the present application is shown;
[0087] Fig.16 A schematic diagram of the composition structure of a resource management device in an embodiment of the present application is shown;
[0088] Fig.17 A schematic diagram of the structure of an electronic device in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0089] In order to make the purpose, features, and advantages of the present application more obvious and easy to understand, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present application.
[0090] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
[0091] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it can be 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\second" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present 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 those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0094] It should be understood that in the various embodiments of the present application, the size of the serial number of each implementation process does not mean 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 the present application.
[0095] The resource management device of the present application is located in a multi-core heterogeneous system. The processing logic of the resource management method of the present application is deployed in a multi-core heterogeneous system. In the embodiment of the present 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 in a single chip. For example, a single SOC (system on chip) chip that integrates two or more processor cores. Each processor core in the multi-core heterogeneous chip can be used as an independent processor, and can independently run the instructions that each processor core needs to run to achieve the tasks that each processor core needs to achieve. It can be understood that the multi-core heterogeneous chip is a chip with a multi-core processor. Compared with a single-core processor chip, the independent operation of each core task can speed up the operation speed and improve the multi-task execution capability, thereby bringing the advantage of high performance. And the multi-core processor is 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, and the multiple processor cores include a first processor core, a second processor core...an Lth processor core. L is a positive integer greater than or equal to 2, and is flexibly set according to actual conditions. Among the multiple processor cores, each processor core is equivalent to a computing engine, and its type and / or number may be different. Among them, the types of processor cores include cores with strong computing power and cores with strong real-time performance (fast computing). In actual applications, most of the multiple processor cores are processor cores of different types, and a few cores are processor cores of the same type. Alternatively, the multiple processor cores may be processor cores of different types, and thus the multi-core heterogeneous chip is composed of two or more processor cores with different architectures. The difference in the type and / or number of processor cores can achieve different architectures between processor cores to a certain extent.
[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 the chip including these processor cores can be regarded as a multi-core heterogeneous chip.
[0098] For example, since the embedded processor (ARM) has the advantages of low cost and low power consumption, the digital signal processor (DSP) has the advantage of digital dedicated processing, and the field programmable logic array (FPGA) has the advantage of high-speed processing. Each type of processor is used as a processor core. These types of processors are designed on the same SOC chip, and a multi-core heterogeneous SOC chip can be obtained.
[0099] like Figure 2As shown, each processor core and the hardware resources connected to each processor core, such as a clock controller, an interrupt controller, a memory space, etc., 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 a group of hardware resources. Different hardware domains are isolated from each other, and this isolation can be regarded as a physical isolation, such as the hardware design in the same hardware domain is in a similar position of the multi-core heterogeneous chip, and the hardware design in different hardware domains is in different positions of the multi-core heterogeneous chip to achieve isolation in physical position. Of course, the mutual isolation between different hardware domains in the embodiment of the present application may not be physical isolation, but logical isolation. This logical isolation can be reflected in: the hardware resources in the same hardware domain need to use the same communication identifier to access the hardware domain. That is, different hardware resources in the same hardware domain can access each other based on the communication identifier in the hardware domain. Hardware resources in different hardware domains are accessed using different communication identifiers.
[0100] In practical applications, it is preferred that the mutual isolation between different hardware domains is a 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 is configured for the first hardware domain, a second operating system is configured for the second hardware domain, and so on. The operating systems configured for different hardware domains can be the same, can be different, and are preferably different. For example, the first operating system configured for the first hardware domain is a Linux system, and the second operating system configured for the second hardware domain is an Android system. Among them, since the Linux system has the characteristics of high security and the Android system has the characteristics of lightness, tasks with high security requirements in the multi-core heterogeneous system can be handed over to Linux for execution, and tasks that need to run lightly in the multi-core heterogeneous system can be handed over to the Android system for execution. Therefore, in a multi-core heterogeneous system, different operating systems on different hardware domains can be used to achieve efficient execution of each task.
[0102] In a multi-core heterogeneous chip, an operating system may be configured for each hardware domain in most hardware domains according to actual needs, and no operating system may be configured for a small number of hardware domains, depending on specific usage.
[0103] In the embodiment of the present application, there is also a communication demand between hardware domains. When there is a communication demand between different hardware domains, an inter-core communication mechanism can be used to realize the communication between hardware domains. Among them, the inter-core communication mechanism in the multi-core heterogeneous system includes 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 that data is transmitted within the same chip, ensuring data security and transmission speed.
[0104] Generally, there are differences in hardware resources in different hardware domains, and such differences may be reflected in differences in hardware type, hardware model, hardware quantity, etc. Such differences can, to a certain extent, reflect the heterogeneity of multi-core heterogeneous systems. As can be seen from the previous introduction, the multi-core heterogeneity in this application is a concept at the hardware level and has nothing to do with the software level.
[0105] like Figure 1 As shown, the multi-core heterogeneous chip in the embodiment of the present application also includes various types of control units. Various types of control units include but are not limited to: a power control unit, a non-volatile storage control unit, a volatile storage control unit, etc. Among them, the power control unit is used to control the power supply unit to realize the supply of power to the multi-core heterogeneous chip. The non-volatile storage control unit is used to control the access of at least one processor core in the multi-core heterogeneous chip to the non-volatile storage unit. The volatile storage control unit is used to control the access of at least one processor core in the multi-core heterogeneous chip to the volatile storage unit.
[0106] Among them, the power supply unit, non-volatile storage unit, and volatile storage unit are hardware resources outside the multi-core heterogeneous chip and can be called when the multi-core heterogeneous chip needs them. In addition, the audio output unit (such as a speaker or loudspeaker), audio acquisition unit (such as a microphone), video output unit (such as a display) and other hardware are hardware resources outside the multi-core heterogeneous chip and can also be called when the multi-core heterogeneous chip needs them to achieve normal audio and video output.
[0107] The resource management method of the embodiment of the present application is implemented on a multi-core heterogeneous system. The multi-core heterogeneous system involved in the resource management method of the present application includes M hardware domains, where M is a positive integer greater than or equal to 2. The M hardware domains can be Figure 2 All or part of the L hardware domains shown, preferably all the hardware domains. Each hardware domain is configured as an independently running operating system, that is, each hardware domain corresponds to an operating system. For example, hardware domain 1 corresponds to the first operating system, hardware domain 2 corresponds to the second operating system... hardware domain M corresponds to the Mth operating system. Each hardware domain is composed of multiple processor cores with different architectures in a multi-core heterogeneous system and hardware resources connected to each processor core. The hardware domains are isolated from each other. The isolation can be physical isolation or logical isolation. Please refer to the above related instructions.
[0108] In this application, the hardware domain and the operating system corresponding to the hardware domain may constitute a domain system. A multi-core heterogeneous chip includes two or more such domain systems. Each domain system may access system resources through a system bus. System resources may include peripherals such as an integrated circuit bus (I2C), a universal asynchronous receiver / transmitter (UART), an interface (IO), and may also include resources that can be shared between domain systems, such as speakers, microphones, interrupt controllers, and the like.
[0109] The technical solution of this application is described below.
[0110] In this application, a multi-core heterogeneous system can be regarded as a multi-system platform, including multiple domain systems. Different types of processors are set between different domain systems. For example, domain system 1 includes a processor (Neural Processing Unit, NPU) for accelerating neural network calculations; domain system 2 includes a graphics processor (Graphics Processing Unit, GPU); domain system 3 includes an image processor (Digital Signal Processing, DSP). Among them, NPU is a processor that optimizes AI calculations at the hardware level to improve performance and energy efficiency by simulating the neuron and synaptic structure of the human brain.
[0111] In the present application, the hardware domain of at least one of the domain systems in each domain system includes a first processor. The first processor may be an NPU. The multi-core heterogeneous system may also include other types of processors besides the NPU, such as GPU, DSP, etc. It can be understood that each type of processor has its own advantages and uses. For a single domain system, considering the cost constraints, all types of processors are usually not set. In this way, there is a situation where the processor is shared or called between domain systems of the same multi-core heterogeneous system, or a situation where different multi-core heterogeneous systems share or call the processor. In the technical solution of the present application, it is intended to achieve efficient sharing or calling of processors between different domain systems of the same multi-core heterogeneous system, or to achieve efficient sharing or calling of processors between different multi-core heterogeneous systems.
[0112] Figure 4 The following is a schematic diagram showing the implementation process of the resource management method in the embodiment of the present application. Figure 1 The method is applied to a multi-core heterogeneous system, wherein the multi-core heterogeneous system includes at least two hardware domains; each hardware domain is composed of a plurality of processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to each processor core, and the hardware domains are isolated from each other; each hardware domain and the operating system corresponding to each hardware domain constitute each domain system; the hardware domain of at least one of the domain systems includes a first processor. Figure 4 As shown, the method includes:
[0113] S401: Obtain a first resource request from a first application, where the first application is an application of a first domain system in each domain system, and the first resource request is used to request a first processor of other domain systems except the first domain system in each domain system; wherein the first application generates a first resource request when accelerating or assisting in accelerating a target application service, and the target application service includes an artificial intelligence (AI) service; the multi-core heterogeneous system includes at least two processors, and among the at least two processors, the first processor has stronger adaptability to the AI service than other processors except 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 a first application. When the first application accelerates or assists in accelerating the realization of an artificial intelligence (AI) service, that is, when processing an artificial intelligence service demand, a first resource request is generated to request an NPU located in another domain system to accelerate or assist in accelerating the realization of an AI service.
[0115] There are many types of processors that can be set up in a multi-core heterogeneous system. Among them, NPU is a processor dedicated to accelerating neural network calculations, which can speed up the implementation of AI services and has high processing efficiency for AI services. Based on this, when the first application has a request to implement an AI service, it is expected to call or share a processor of the type NPU to implement the AI service that the first application expects to implement through the NPU, or to assist in implementing the AI service that the first application expects to implement through the NPU.
[0116] In layman's terms, for different types of processors in a multi-core heterogeneous system, when the first application generates a first resource request, among many types of processors, it expects the requested processor to be an NPU type processor, so as to utilize the advantage of NPU in accelerating the calculation of neural networks and realize accelerated processing of AI services.
[0117] From among many types of processors, requesting a processor of this type, NPU, is intended to implement model reasoning services. For example, if a multi-core heterogeneous system is set in a car, the first application can call the NPU to implement automatic generation of driving routes, automatic detection of parking spaces, and voice recognition of drivers.
[0118] S402: Obtain 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 of other domain systems, such as system identification of other domain systems, or website addresses or IP addresses of other domain systems.
[0120] S403: Using a target communication method, establish a communication connection between the first domain system and the domain system having the first identification information in the other domain systems, so that the first application transmits 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 processing of the target application service of the first application to the domain system having the first identification information; wherein, among at least two processors in a multi-core heterogeneous system, the processing efficiency of the first processor for the target application service is better than 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's processing efficiency for the target application service is significantly better than the superiority of the first processor's processing efficiency for the non-target application service.
[0121] It can be understood that RPC (Remote Procedure Call) is a remote procedure call technology used to achieve communication and interaction between different computers. Through RPC technology, a program on one computer can call a program on another computer, just like calling a local program, without the developer having to manually handle the network communication details. It is an efficient communication method. The target communication method in this application can be a communication method implemented by RPC technology. Using this method, communication between different domains of the same multi-core heterogeneous system, or communication between different multi-core heterogeneous systems can be achieved.
[0122] By implementing communication between different domains of the same multi-core heterogeneous system through RPC technology, the first application can transmit the 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 processing of the target application business of the first application from the domain system having the first identification information.
[0123] In the present application, requesting the first processor to process the target application service of the first application can be understood as: the first application no longer requests other processors except the first processor, and only the first processor processes the AI service of the first application. Requesting the first processor to assist in processing the target application service of the first application can be understood as: when the first application requests the first processor to process the AI service, it also requests other processors to process the AI service.
[0124] It can be understood that the business processed by the first application may be an AI business, and the NPU requested by the first application is a processor dedicated to processing AI business. For this type of processor, its processing efficiency for AI business (target application business) is better than the processing efficiency of other types of processors for AI business. Of course, the business processed by the first application may be a non-AI business (non-target application business). Relative to AI business, the superiority of NPU's processing efficiency for AI business is significantly better than its superiority for non-AI business. Based on this, for the first resource request generated by the first application when processing AI business, it is expected that a processor of the type NPU will be called among the many processors.
[0125] In practical applications, because NPU uses a large number of multipliers and adders to realize neural network operations, a large number of multipliers and adders can accelerate the rapid acquisition of operation results and shorten the calculation time, so NPU is also regarded as an AI accelerator. The first application in this application can accelerate the processing of AI services through requests for this type of processing of NPU, realize efficient processing of services, and improve the performance of multi-core heterogeneous systems.
[0126] It can be understood that the NPU requested by the first application can be an idle NPU of other domain systems that can perform RPC communication with the domain system where the first application runs, or an NPU that can also perform AI business processing.
[0127] Under the hard isolation mechanism of the domain system of the same multi-core heterogeneous system, the scheme shown in S401 to S403 is adopted to realize the sharing or scheduling of NPUs of other domain systems based on the target communication method. 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, it can be considered that the technical solution of the present application is a solution that uses an efficient communication method to realize the call or sharing of important resources under the security protection mechanism, and is an efficient call or sharing solution. It provides a technical support for the efficient sharing or calling of hardware devices between systems on a multi-system platform.
[0128] In this application, in the call scheme of NPU of other domain systems using RPC, if the requester initiating the (first and second) resource request is regarded as the client, then the requested party receiving the request can be regarded as the server. In RPC, the communication mode between the Client and the Server can include direct connection mode and Tracker mode.
[0129] In direct connection mode, there are single domain connection mode (singledomain) and multi-domain connection mode (multipledomain). Among them, the single domain connection mode can be regarded as the way in which the client connects to a single server. Figure 5 As shown in the figure, the client with IP address 170.20.2.35 communicates with the 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 through which the client can establish a communication connection with the server with IP address 172.20.2.36.
[0130] The multi-domain connection method can be regarded as a method for a client to connect to two or more servers. Figure 6 The figure shows a schematic diagram of RPC communication between Client and three Servers. Client communicates with each Server via the corresponding URL and port. For example, Client communicates with Server 1 via URL 1 and port 1. Client communicates with Server 2 via URL 2 and port 2. Client communicates with Server 3 via URL 3 and port 3.
[0131] In this application, for the direct connection mode, a RPC service can be built on the server side. The client uses the RPC service and uses the Connect function to directly establish an RPC connection with the server.
[0132] For RPC communication using Tracker mode, see Figure 7 As shown. The RPC Tracker mode consists of three important components: Client, Server, and Tracker Service (Tracker Server). The roles of the three components in RPC communication are as follows:
[0133] Server: Use the Tracker service as the registration center to register the Server's address (addr), port (port), key and other information.
[0134] Tracker service: listens to the registration request (register) of the server on port 9010, binds the key of each server to the IP address of each server, responds to the request of the client, responds to the key value requested by the client, and returns the IP address bound to the key value to the client.
[0135] Client: Requests a specific key value from the Tracker service, and receives the IP address of the server bound to the key value returned by the Tracker service. Based on the IP address returned by the Tracker service, establishes an RPC connection with the Server with the IP address.
[0136] In this application, in the RPC communication using direct connection mode or Tracker mode, the information transmission between the client and the server (the first resource request, the second resource request, and the feedback data generated by other domain systems for the first resource request or the second resource request) is realized through the efficient communication method of RPC. Under the hard-isolated security protection mechanism, the call or sharing of important resources is realized through the established RPC connection.
[0137] In this application, a multi-core heterogeneous system can be regarded as a Die (chip). The multi-core heterogeneous system may include N subsystems, where N is a positive integer greater than or equal to 1, and each subsystem includes at least one domain system. Figure 8 As shown, the multi-core heterogeneous system includes N=2 subsystems: Subsystem A (SSA) and Subsystem B (SSB). Exemplarily, the two subsystems can be one subsystem for an intelligent cockpit system and one subsystem for an intelligent driving system. Each subsystem includes two or more domain systems (Domian). Taking the example that each subsystem includes two domain systems, the operating system of one domain system can be one of Linux (Unix-like operating system), Android (Android), and QNX (commercial Unix-like real-time operating system), and the operating system of the other domain system can be RTOS (real-time operating system). Of course, the above is only a specific example. The number of subsystems in the multi-core heterogeneous system and the actual situation of the domain systems included in each subsystem can be determined according to the actual situation.
[0138] In actual applications, if the multi-core heterogeneous system includes two subsystems, the Client and the Server, that is, the first domain system and the domain system with the first identification information may be located in the same subsystem or in different subsystems. If they are located in the same subsystem, it is considered that the NPU located in a different domain of the same subsystem is called or shared (for the case of different domains of the same subsystem or the case of cross-domain calls within the same Die). If they are located in different subsystems, it is considered that the NPU located in a different domain of different subsystems is called or shared (for the case of different domains of different subsystems or the case of cross-subsystem calls within the same Die).
[0139] In this application, a solution is first introduced in which the first domain system and the domain system with the first identification information are located in the same subsystem.
[0140] In the cross-domain calling 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 logical communication card and the second logical communication card may be virtual network cards. Based on this, the resource management method of the present application also 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, the first resource request is transmitted to the second logical communication card through the first logical communication card, and 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 is received through the first logical communication card, wherein the first feedback information is used to enable the first application to obtain service data from the shared memory. The first feedback information may be a message informing the first domain system that the called NPU has completed processing or auxiliary processing after the NPU in the domain system with the first identification information has finished processing the first application or auxiliary processing of the first application.
[0142] In the cross-domain calling scheme within the same Die, the resource management method of the present application also includes:
[0143] In response to the domain system with the first identification information and the first domain system being located in the same subsystem, the business data generated by the called first processing resource when implementing and / or assisting in implementing the target application business is saved to the shared memory of the same subsystem, and the shared memory is used for the first application to obtain the business data therefrom based on the communication connection, so that the first application implements the target application business. It can be understood that in the present application, because the domain system with the first identification information and the first domain system are located in the same subsystem, the same subsystem usually has a shared memory, and the called NPU generates business data when implementing and / or assisting in implementing the target application business, and the business data can be saved to the shared memory. In the case where the first domain system receives the first feedback information, the processing result generated by the called NPU can be obtained by reading the data from the shared memory.
[0144] Cross-domain calls within the same Die Fig. 9 The SSA subsystem shown includes Domain-1 and Domain-2 as examples. The operating system of Domain-1 is Android, and the operating system of Domain-2 is QNX. Domain-2 has an NPU. Domain-1 does not have an NPU. Domain-1 wants to call the NPU of Domain-2 through an RPC connection. The specific process is:
[0145] The first application (Domain-1's application App) wants to call Domain-2's NPU for model reasoning. The App generates a (first) resource request, and the IP address and port of the domain system where the NPU to be called is located can be known from the generated first resource request. On the Domain-1 side, the request is transmitted to the socket through the Client Session. The socket transmits the resource request to the switching network card switch through the virtual network card of Domain-1. The request reaches the virtual network card of Domain-2 from Domain-1 via the switch. And it reaches the Local Session of Domain-2 via the socket of Domain-2 to realize the call of the NPU in Domain-2 by the application App of Domain-1. The NPU of Domain-2 performs model reasoning and saves the reasoning results to the shared memory of SSA. The message of model inference processing completion or the address of the inference result stored in the shared memory (first feedback information) reaches the switch via the socket and virtual network card of Domain-2, and then reaches the application of Domain-1 via the virtual network card, socket and Client Session of Domain-1. That is, the first feedback information is notified from Domain-2 to the application of Domain-1 through the reverse path of the path taken by the first resource request, so that the application of Domain-1 reads the model inference result from the shared memory and completes 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, which are sessions and interfaces that can be implemented through RPC technology.
[0147] In the present application, a solution is introduced in which the first domain system and the domain system with the first identification information are located in different subsystems.
[0148] In the present application, in the solution of cross-subsystem calls within the same Die, the multi-core heterogeneous system includes P subsystems, P is a positive integer greater than or equal to 2, and each subsystem includes at least one domain system. In this way, the resource management method also includes:
[0149] 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 receives, through the communication connection, the business data generated by the first processing resource of the domain system with the first identification information when implementing and / or assisting in implementing the target application business, so that the first application obtains the business data to implement the target application business. And / or, the first domain system obtains the business data generated by the first processing resource when implementing and / or assisting in implementing the target application business from the agreed area between the first domain system and the domain system with the first identification information, so that the first application obtains the business data to implement the target application business.
[0150] It can be understood that in the aforementioned scheme, the model inference result in the cross-domain call scheme within the same Die can be saved to the shared memory of the subsystem, and can be read from the shared memory. In the cross-subsystem call scheme within the same Die, the model inference result can be directly fed back from the receiver of the first resource request to the initiator of the first resource request. Alternatively, the receiver of the first resource request saves the model inference result to the agreed area of both parties, and the initiator of the first resource request reads it in the agreed area.
[0151] In the solution of cross-subsystem call in 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 physical communication card and the second physical communication card can be pcie interface cards (high-speed serial computer expansion bus standard interface cards). In this way, the resource management method also includes:
[0152] In response to the domain system with the first identification information being located in a different subsystem from the first domain system, under the communication connection, the first resource request is transmitted to the second physical communication card through the first physical communication card, and 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 is received through the first physical communication card, and the second feedback information is used to enable the first application to obtain business data. In the present application, the pcie interface can be used to implement a solution for cross-subsystem calls within the same Die. The second feedback information can be a message from the domain system with the first identification information to the first domain system that the called NPU has been processed or assisted in processing. The second feedback information can also carry the model inference result, or the storage address of the model inference result in the agreed area.
[0153] For the first logical communication card included in the first domain system, the second logical communication card included in the domain system having the first identification information. The solution of cross-subsystem call in the same Die of the present application also includes:
[0154] Under the communication connection (RPC communication connection), the first resource request is stored in the message pool of the first domain system through the first logical communication card, so that the first resource request in the message pool is transmitted 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 with the first identification information through the second logical communication card, so that the second feedback information is transmitted to the first physical communication card through the second physical communication card. In this application, a virtual network card, a pcie interface and a message pool (MP, Message Pool) can be used to implement a cross-subsystem call solution within the same Die. It is a cross-subsystem call solution with high practicality and strong feasibility.
[0155] Cross-subsystem calls within the same Die Fig.10 As shown, the SSA subsystem and the SSB subsystem both include Domain-1 and Domain-2. The operating system of Domain-1 of the SSA subsystem is Linux; the operating system of Domain-2 of the SSB subsystem is Android. The operating systems of Domain-2 of both subsystems can be RTOS. Domain-1 of both subsystems has NPU, while Domain-2 does not have NPU. Domain-1 of the SSA subsystem wants to call the NPU of Domain-1 of SSB through RPC connection. The specific process is:
[0156] The first application (the application App of Domain-1 of the SSA subsystem) wants to call the NPU of Domain-2 of SSB for model reasoning. The App generates a (first) resource request. The IP address and port of the domain system where the NPU to be called is located can be known from the generated first resource request. On the Domain-1 side of SSA, the request is transmitted to the socket through the Client Session. The socket transmits the resource request to the switch network card switch through the virtual network card of Domain-1 of SSA, and stores it in the MP of SSA. The request in the MP is transmitted to the pcie interface of SSB via the pcie interface of SSA to reach the SSB side from the SSA side. The request that reaches the SSB side reaches the virtualnetwork card of Domain-1 of SSB via the switch of SSB. And reaches the Local Session of Domain-1 via the socket of Domain-1 to realize the call of the NPU in Domain-1 of SSB by the application App of Domain-1 of SSA.
[0157] The application App of Domain-1 of the SSA subsystem calls the local NPU for model reasoning through the local session. When model reasoning cannot be successfully implemented due to limited local NPU resources, the auxiliary calculation of model reasoning can be implemented by calling the NPU in Domain-1 of the local SSB. The NPU in Domain-1 of SSB performs auxiliary calculation of model reasoning, and can save the auxiliary calculation results to the agreed area between SSA and SSB, and can also feed back the auxiliary calculation results from the SSB side to the SSA side as information carried in the second feedback information.
[0158] The second feedback information reaches the switch of SSB via the socket and virtual network card of Domain-1 of SSB, and is stored in the MP of SSB. The second feedback information in the MP is transmitted to the pcie of SSA via the pcie of SSB. It reaches the application of Domain-1 of SSA via the switch of SSA, the virtual network card, socket and Client Session of Domain-1 of SSA. That is, the second feedback information is notified from Domain-1 of SSB to the application of Domain-1 of SSA through the opposite path of the path traversed by the first resource request, so that the application of Domain-1 of SSA can obtain the model inference result obtained by the auxiliary calculation of the called NPU, and complete the model inference task.
[0159] exist Fig. 9 , Fig.10 In the present invention, through the RPC connection and the setting of the corresponding logical interface (logical communication card) and physical interface (physical communication card), NPU calls in different situations such as cross-domain calls to NPU in the same Die and cross-subsystem calls to NPU in the same Die are realized. The scheme of using RPC connection, an efficient communication method, to realize the call or sharing of important resources such as NPU is an efficient call or sharing scheme. The cross-domain call and cross-subsystem call scheme in the same Die in this application is a novel technical solution, which provides a technical support for the efficient sharing or calling of hardware devices between systems on a multi-system platform.
[0160] It can be understood that in this application, a multi-core heterogeneous system can be regarded as a Die (chip). The above content describes the NPU calls between different domains within the same subsystem on the same Die and the NPU calls between different subsystems on the same Die. That is, for the first resource request, what is implemented is the NPU call between different domain systems within the same multi-core heterogeneous system. In addition, this application also involves the call of NPUs between different multi-core heterogeneous systems or different Dies. That is, for the second resource request, what is implemented is the NPU call between different multi-core heterogeneous systems. It should be noted that the NPU calls between different domains of the same multi-core heterogeneous system, or the NPU calls between different multi-core heterogeneous systems, all use RPC to communicate.
[0161] Fig.11 The following is a schematic diagram showing the implementation process of the resource management method in the embodiment of the present application. Figure 2 . It is a solution that uses RPC to implement communication between different multi-core heterogeneous systems. Fig.11 As shown, the method includes:
[0162] S1101: Obtain a second resource request from a first application, wherein the first application is an application of a first domain system among the domain systems, and the second resource request is used to request a first processing resource, and the first processing resource is located in other multi-core heterogeneous systems other than the multi-core heterogeneous system; wherein the other multi-core heterogeneous systems include at least two hardware domains; each hardware domain of the other multi-core heterogeneous system is composed of a plurality of 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 each domain system of the other multi-core heterogeneous system.
[0163] In this step, when the first application accelerates or assists in accelerating the realization of AI services, that is, when processing artificial intelligence business needs, it generates a second resource request for requesting the NPU of the domain system located in other multi-core heterogeneous systems to accelerate or assist in accelerating the realization of AI services.
[0164] For descriptions of other multi-core heterogeneous systems, see Figure 1-Figure 3 The relevant instructions are as follows, and the repeated parts are not repeated.
[0165] S1102: Obtain second identification information of a 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 the identification information of the domain system in other multi-core heterogeneous systems, such as the domain system identification, or the website or IP address of the domain system.
[0167] S1103: Using a target communication method, establish a communication connection between the first domain system and the domain system with the second identification information in the other multi-core heterogeneous system, so that the first application transmits a second resource request to the domain system with the second identification information in the other multi-core heterogeneous system 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 to implement the target application business.
[0168] In this application, for the second resource request, communication between different multi-core heterogeneous systems is implemented. By implementing communication between different multi-core heterogeneous systems through RPC technology, the first application can transmit the second resource request to the domain system with the 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 processing of the target application business of the first application from the domain system with the second identification information in other multi-core heterogeneous systems.
[0169] Under the hard isolation mechanism of different dies, the scheme shown in S1101 to S1103 is adopted to realize the sharing or scheduling of NPU of other dies based on the target communication method. Under the hard isolation security protection mechanism, using efficient communication methods to realize the calling or sharing of NPU, an important resource, is an efficient calling or sharing scheme.
[0170] in, Fig.11 The target communication method in Figure 4 The target communication methods in are the same, both of which are communication methods established based on RPC technology. Figure 4 The solution shown can realize efficient calling or sharing of NPUs between different domain systems in the same die, and can also realize efficient calling or sharing of NPUs in different dies.
[0171] It can be understood that in different Die calling schemes, a single Die, i.e., a single multi-core heterogeneous system, may include two domain systems, such as Fig. 9 As shown in Figure 1, Domain-1 and Domain-2 form a single Die. In this case, there is no concept of subsystems. A single multi-core heterogeneous system can also include three or more domain systems, such as Figure 8As shown, the four domain systems constitute two subsystems, and the two subsystems constitute a single Die. In this case, the functional division of Die can be achieved through the concept of subsystem. Of course, in some extreme solutions, a single multi-core heterogeneous system may include only one domain system. In the calling schemes of different Dies of the present application, the scenarios of the domain systems included in Die include the aforementioned scenarios, and any other reasonable scenarios are also covered in the technical solution of the present application.
[0172] It should be noted that the descriptions involved in different Dies may be similar to the descriptions involved between different domain systems or between different subsystems in the same Die. For such descriptions, please refer to the understanding and will not be repeated here.
[0173] In practical applications, if different Dies are applied to transportation tools such as cars and buses, taking cars as an example, one of the different Dies can be used to implement the smart cockpit function of the car, which is the smart cockpit system. Another Die is used to implement the automatic driving function of the car, which is the automatic driving system. Each domain system in a Die is a domain system set up to implement its own function.
[0174] In this application, taking the use of RPC connection between two different Dies to perform NPU calls as an example, the calling scheme between different Dies can be implemented through direct mode and proxy mode.
[0175] Wherein, when the first domain system includes a physical communication network card, and the domain system with the second identification information in other multi-core heterogeneous systems also includes a physical communication network card, a direct mode can be used to implement a calling scheme between different Dies. Wherein, the physical communication network card can be an Ethernet interface (eth etwork card). Based on this, it can be considered that the resource management method for performing NPU calling through direct mode in this application also includes:
[0176] If the first domain system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous system also includes a physical communication network card, then 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; and, under the communication connection, the business data transmitted by the domain system with the second identification information in the other multi-core heterogeneous system through its physical communication network card is received through the physical communication network card of the first domain system, so that the first application realizes the target application business; wherein the business data is the 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 business.
[0177] The above solution is a solution for NPU calling between two domain systems with Ethernet interfaces in different Dies. Fig.12 As shown, two multi-core heterogeneous systems are divided into two Dies: SOC-1 and SOC-2, and each sub-SOC includes two sub-systems SSA and SSB. In the two Dies, Domain-1 of SSA has an etwork card and an NPU.
[0178] When the application App of Domain-1 of SSA in SOC-1 (used as the first domain system) cannot successfully implement model reasoning using the 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) through an RPC connection, so that the called NPU can implement auxiliary reasoning of the model. On the Domain-1 side of SSA in SOC-1, a (second) resource request is generated. The IP address and port of the domain system where the NPU to be called is located can be known from the generated second resource request. The resource request is transmitted to the socket through the Client Session. The socket transmits the resource request to the gateway device (gateway) through the eth network card of Domain-1. The request is transmitted to the eth network card of Domain-1 of SSA in SOC-2 through the gateway. 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 to implement SOC-1's call to the NPU in SOC-2.
[0179] The called NPU performs model reasoning, and feeds back the reasoning result (used as business data) and / or the reasoning completion message from the SOC-2 side to the SOC-1 side along the reverse path of the second resource request. Taking the feedback of business data as an example, on the Domain-1 side of SSA in SOC-2, the business data is transmitted to the socket through the Client Session. The socket transmits the business data to the gateway through the eth network card of Domain-1. The business data is transmitted to the eth network card of Domain-1 of SSA in SOC-1 through the gateway. It reaches the application App of Domain-1 of SSA in SOC-1 through the socket and Client Session of Domain-1 of SSA in SOC-1. So that the application can complete the calculation of the model reasoning task under the auxiliary reasoning of the called NPU.
[0180] The above solution is a cross-die call solution for NPU in direct mode. In each Die, two domain systems with eth network cards can directly implement cross-die calls of NPU through eth network cards and RPC connections. This solution takes into account actual application needs and provides a technical support for cross-die calls or sharing of important resources.
[0181] The above solution is a solution for cross-die calling in direct mode. In addition, the cross-die calling solution also includes proxy mode. The cross-die proxy mode includes the first-level proxy mode and the second-level proxy mode. The first-level proxy mode is introduced below.
[0182] It can be understood that the first-level proxy mode means that one of the initiator or receiver of the second resource request does not have an eth network card and needs to be proxied through a domain system with an eth network card to implement cross-Die calls. Furthermore, the first-level proxy mode includes two situations: Situation 1 is that the initiator of the second resource request does not need a proxy, but the receiver does. Situation 2 is that 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 card, and the domain system with the second identification information in the other multi-core heterogeneous system does not include a physical communication network card, and the second domain system in the other multi-core heterogeneous system includes a physical communication network card, then the second domain system is used as the proxy domain system of the other multi-core heterogeneous system; 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, and 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; and, under the communication connection, the first domain system receives the business data transmitted by using the physical communication network card of the proxy domain system of the other multi-core heterogeneous system through the physical communication network card, so that the first application realizes the target application business; wherein the business data is the data generated by the first processing resource 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 business, and is transmitted to the proxy domain system by the domain system with the second identification information in the other multi-core heterogeneous system.
[0184] Combination Fig.13 As shown, situation 1 can specifically be:
[0185] The application App in Domain-1 of SSA in SOC-1 (used as the first domain system) needs to call the NPU in Domain-1 of SSB in SOC-2 (as a domain system with second identification information) through RPC connection, so that the called NPU can implement the model reasoning task. At the Domain-1 side of SSA in SOC-1, the App generates a (second) resource request. The IP address and port of the domain system where the NPU to be called is located can be known from the generated second resource request. The resource request is transmitted to the socket through the Client Session. The socket transmits the resource request to the gateway through the eth network card of Domain-1. The request is transmitted to the eth network card of Domain-1 of SSA in SOC-2 through the gateway. On the Domain-1 side of the SSA of SOC-2, Domain-1 acts as a proxy domain system (proxy), using Client Session to transmit the request to Switch via socket and virtual network card and store it in MP. The request stored in MP is sent out through the PCIE interface of SSA in SOC-2, and is transmitted from the SSA side of SOC-2 to the PCIE interface on the SSB side of SOC-2. That is, Domain-1 in the SSA of SOC-2 acts as a proxy domain system for the resource request receiver, and transmits the resource request from the SOC-1 side to Domain-1 in the SSB of SOC-2 by proxy. In the SSB of SOC-2, the request reaches the virtual network card of Domain-1 via Switch, and reaches the Local Session of Domain-1 via socket, so as to implement SOC-1's call to the NPU in SOC-2 through the proxy domain system.
[0186] The called NPU performs model reasoning, and feeds back the reasoning result (used as business data) and / or the reasoning completion message from the SOC-2 side to the SOC-1 side through the proxy domain system along the reverse path of the second resource request. Taking the feedback of business data as an example, on the Domain-1 side of the SSB in SOC-2, the business data is transmitted to the socket through the Client Session. The socket transmits the business data to the Switch through the virtual network card of Domain-1 and stores it in the MP. The request to store it in the MP is sent out through the PCIE interface of the SSB in SOC-2, and is transmitted from the SSB side of SOC-2 to the PCIE interface on the SSA side of SOC-2. In the SSA of SOC-2, the business data reaches the virtual networkcard of Domain-1 via the Switch, and reaches the eth network card of Domain-1 via the socket, and is transmitted to the gateway through the eth network card. The business data is transmitted to the eth network card of Domain-1 of the SSA in SOC-1 through the gateway. That is, the transmission of business data is realized in a proxy manner through the proxy domain system. The data is sent to the application App of Domain-1 of SSA in SOC-1 through the socket and Client Session of Domain-1 of SSA in SOC-1, so that the application can complete the calculation of the model reasoning task under the model reasoning of the called NPU.
[0187] Scenario 2: If the first domain system does not include a physical communication network card, and a third domain system other than the first domain system in the multi-core heterogeneous system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous system includes a physical communication network card, then the third domain system is used 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, and 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 system through the physical communication network card; and, under the communication connection, the first domain system receives business data received by the proxy domain system of the multi-core heterogeneous system through its physical communication network card, so that the first application realizes the target application business; wherein the business data is data generated by the domain system with the second identification information in the other multi-core heterogeneous system and its first processing resource when realizing and / or assisting in realizing the target application business, and the business data is transmitted by 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 the physical communication network card.
[0188] Combination Fig.14 As shown, the second scenario can be:
[0189] The application App of Domain-1 of SSB in SOC-1 (used as the first domain system) needs to call the NPU of Domain-1 of SSA in SOC-2 (a domain system with second identification information) through RPC connection, so that the called NPU can implement the model reasoning task. At the Domain-1 side of SSB in SOC-1, the App generates a (second) resource request. The IP address and port of the domain system where the NPU to be called is located can be known from the generated second resource request. The resource request is transmitted to the socket through the Client Session. The socket transmits the resource request to the Switch of SSB through the virtual networkcard of Domain-1 and stores it in the MP. The resource request stored in the MP is transmitted to the PCIE of SSA through the PCIE of SSB. On the SSA side of SOC-1, the resource request from the SSB side is received through PCIE. The resource request is transmitted to the socket of Domain-1 of SSA through the Switch. Domain-1 of SSA in SOC-1 acts as a proxy domain system (proxy) for the resource request initiator, and transmits the request to the gateway via the socket and eth network card using the Client Session. The request is transmitted to the eth network card of Domain-1 of SSA in SOC-2 through the gateway. 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, so as to realize the cross-die call of SOC-1 to the NPU in SOC-2 through the proxy method.
[0190] The called NPU performs model reasoning, and feeds back the reasoning result (used as business data) and / or the reasoning completion message from the SOC-2 side to the SOC-1 side along the reverse path of the second resource request. Taking the feedback of business data as an example, on the Domain-1 side of SSA in SOC-2, the business data is transmitted to the socket through the Client Session. The socket transmits the business data to the gateway through the eth network card of Domain-1. The business data is transmitted to the eth network card of Domain-1 of SSA in SOC-1 through the gateway. Domain-1 of SSA in SOC-1 acts as a proxy domain system, and transmits the business data to the Switch of SSA through the socket and virtual network card of Domain-1 of SSA in SOC-1, and stores it in MP. The business data stored in MP is transmitted to the PCIE of SSB in SOC-1 through the PCIE of SSA. On the SSB side of SOC-1, business data from the SSA side is received through PCIE. The business data is transmitted to the virtual network card of Domain-1 through the Switch of SSB and reaches the socket. It then reaches the application App of Domain-1 of SSB in SOC-1 through the Client Session. This allows the application to complete the calculation of the model reasoning task under the reasoning of the called NPU.
[0191] It can be understood that in the above scenarios one and two, in the cross-die scenario, the cross-Die domain system with a physical communication network card can directly perform RPC communication, thereby realizing the cross-Die call of the NPU, that is, the direct mode can be used for cross-Die calls. For those domain systems that do not have a physical communication network card, if you want to realize cross-Die calls, you need to use a domain system that belongs to the same Die as itself and has a physical communication network card as a proxy domain system, and realize cross-Die calls through the proxy method of the proxy domain system. This solution takes into account the actual application needs and provides a technical support for cross-Die calls or sharing of important resources.
[0192] The following introduces the two-level proxy model.
[0193] Different from the primary proxy mode, the secondary proxy mode is that the initiator and receiver of the second resource request do not have a physical communication network card, but need other domain systems with physical communication network cards belonging to the same Die as proxy domain systems to perform RPC communication to realize cross-Die calls. Further, the solution for cross-die calls using the secondary proxy mode is:
[0194] If the first domain system does not include a physical communication network card, and the fifth domain system other than the first domain system in the multi-core heterogeneous system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous systems does not include a physical communication network card, and the fourth domain system in the other multi-core heterogeneous systems includes a physical communication network card, then 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 system; 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 system; and, under the communication connection, the first domain system receives the business data received by the proxy domain system of the multi-core heterogeneous system through its physical communication network card, so that the first application realizes the target application business; wherein, the business data is the data generated by the domain system with the second identification information in the other multi-core heterogeneous system and its first processing resource when realizing and / or assisting in realizing 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 is 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 Fig.15 As shown in the figure, the solution of using the secondary proxy mode for cross-die calling can be:
[0196] The application App of Domain-1 of SSB in SOC-1 (used as the first domain system) needs to call the NPU of Domain-1 of SSB in SOC-2 (a domain system with second identification information) through RPC connection, so that the called NPU can implement the model reasoning task. At the Domain-1 side of SSB in SOC-1, the App generates a (second) resource request. The IP address and port of the domain system where the NPU to be called is located can be known from the generated second resource request. The resource request is transmitted to the socket through the Client Session. The socket transmits the resource request to the Switch of SSB through the virtual network card of Domain-1 to store it in the MP. The resource request stored in the MP is transmitted to the PCIE of SSA through the PCIE of SSB. On the SSA side of SOC-1, the resource request from the SSB side is received through PCIE. The resource request is transmitted to the virtual network card and socket of Domain-1 of SSA through the Switch. Domain-1 of SSA in SOC-1 acts as a proxy domain system (proxy) for the resource request initiator, and transmits the request to the gateway using Client Session and eth network card. The request is transmitted to the eth network card of Domain-1 of SSA in SOC-2 through the gateway.
[0197] The resource request from the SOC-1 side is transmitted to the Domain-1 in the SSA of SOC-2 through a proxy. The Domain-1 of the SSA of SOC-2 is used as a proxy domain system for the recipient of resource requests. In the SSA of SOC-2, the request reaches the virtual network card via the Socket, reaches the Switch via the virtual network card, and is stored in the MP of the SSA. The resource request stored in the MP of the SSA is transmitted to the PCIE of the SSB via the PCIE of the SSA. On the SSB side of SOC-2, the resource request from the SSA side is received through the PCIE. The resource request is transmitted to the virtualnetwork card and socket of the Domain-1 of the SSB through the Switch, and the call to the local NPU is implemented using the Local Session, so that the call of the NPU in SOC-2 by SOC-1 is implemented through two proxy domain systems.
[0198] The called NPU performs model reasoning, and feeds back the reasoning result (used as business data) and / or the reasoning completion message from the SOC-2 side to the SOC-1 side through the proxy domain system according to the reverse path of the second resource request. Taking the feedback of business data as an example, on the Domain-1 side of the SSB in SOC-2, the business data is transmitted to the socket through the Client Session. The socket transmits the business data to the Switch through the virtual network card of Domain-1 and stores it in the MP. The business data stored in the MP is sent out through the PCIE interface of the SSB in SOC-2, and is transmitted from the SSB side in SOC-2 to the PCIE interface on the SSA side of SOC-2. In the SSA of SOC-2, the business data reaches the virtualnetwork card of Domain-1 via the Switch, and reaches the eth network card of Domain-1 via the socket, and is transmitted to the gateway through the eth network card. The business data is transmitted to the eth networkcard of Domain-1 of the SSA in SOC-1 through the gateway. That is, the transmission of business data is realized in a proxy manner through the proxy domain system.
[0199] Domain-1 of SSA in SOC-1 acts as a proxy domain system. It transmits business data to Switch of SSA through the socket and virtual network card of Domain-1 of SSA in SOC-1 and stores it in MP. The business data stored in MP is transmitted to PCIE of SSB in SOC-1 through PCIE of SSA. On the SSB side of SOC-1, business data from the SSA side is received through PCIE. The business data is transmitted to the virtual network card of Domain-1 through Switch of SSB and reaches the socket. And it reaches the application App of Domain-1 of SSB in SOC-1 through Client Session. So that the application can complete the calculation of the model reasoning task under the reasoning of the called NPU.
[0200] Unlike the first-level proxy solution, in which one of the resource request initiator and the receiver needs to use the proxy domain system for proxy communication, the above solution requires both the resource request initiator and the receiver to use their own proxy domain systems for proxy communication to achieve cross-die calls, so it is considered a second-level proxy solution. Both the first-level and second-level proxy solutions use RPC, an efficient communication method, based on the proxy method under security protection mechanisms such as isolation between dies and hard isolation between domain systems. It is an efficient calling or sharing solution that uses RPC, an efficient communication method, to achieve the calling or sharing of important resources. It provides a technical support for the efficient sharing or calling of hardware devices between systems on multiple system platforms.
[0201] This efficient calling or sharing solution is suitable for actual application needs, has strong practicality and high feasibility. The fast or timely calling of NPU, an important processing resource, can quickly or timely complete the processing of business and improve the processing efficiency and performance of multi-core heterogeneous systems.
[0202] The technical solution of this application can be applied to vehicles such as cars and buses. Taking cars as an example, as the AI computing power on the vehicle-mounted SOC gradually increases, the AI-related applications in the car are also increasing. Using the technical solution of this application, AI computing power (such as the NPU processor) can be deployed in different domain systems in a distributed manner according to different application requirements. Using the technical solution of this application, under the hard isolation mechanism of the SOC itself, through RPC technology, cross-domain calls, cross-subsystem calls, and cross-die calls of AI computing power can be efficiently realized.
[0203] In actual applications, if AI computing power is distributed and deployed on different domain systems, the actual calling requirements of multiple concurrent applications can be effectively handled based on cross-domain calls, cross-subsystem calls, and cross-Die calls of AI computing power, thereby improving the overall performance and response speed of the automotive system. In addition, the hard isolation mechanism can ensure the security and stability between different domain systems, while supporting RPC cross-domain calls, cross-subsystem calls, and cross-Die calls, which can effectively achieve interoperability and collaborative work between different domain systems and improve the overall performance of the automotive system.
[0204] In this application, the AI computing power on the vehicle SOC can be flexibly deployed and scheduled according to specific application requirements to achieve more efficient resource utilization and business allocation. Through the automotive system's support for hard isolation mechanisms and RPC cross-domain calls, cross-subsystem calls, and cross-Die calls, information sharing and collaborative processing between different domains can be achieved, providing stronger support and protection for vehicle intelligence and safety.
[0205] The above scheme takes calling a processor of the type NPU as an example. In addition, the called processor may also be a DSP, a GPU, a CPU, etc. The specific calling process can be understood by referring to it and will not be described in detail.
[0206] The present application also provides another resource management method, the method comprising:
[0207] Obtaining a second resource request from a first application, wherein the first application is an application of a first domain system in each domain system of a multi-core heterogeneous system, and the second resource request is used to request a first processing resource, and the first processing resource is located in other multi-core heterogeneous systems other than the multi-core heterogeneous system; wherein the multi-core heterogeneous system and the other multi-core heterogeneous systems include at least two hardware domains; the multi-core heterogeneous system and the other multi-core heterogeneous systems each hardware domain is composed of a plurality of processor cores with different architectures and hardware resources connected to the processor cores, and the hardware domains are isolated from each other; the multi-core heterogeneous system and the other multi-core heterogeneous systems each hardware domain and the operating system corresponding to each hardware domain constitute each domain system;
[0208] 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;
[0209] A target communication method is adopted to establish a communication connection between the first domain system and the domain system with 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 with the second identification information in the other multi-core heterogeneous system 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 to implement the target application business.
[0210] Another resource management method in this application is the aforementioned cross-Die call solution, which can be combined with Figure 11-Figure 15 The scheme shown is understood for the sake of simplicity, and the repetitions are not repeated.
[0211] The present application provides a resource management device, which is applied to a multi-core heterogeneous system, wherein the multi-core heterogeneous system includes at least two hardware domains; each hardware domain is composed of a plurality of processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to 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 each domain system; and the hardware domain of at least one of the domain systems in each domain system includes a first processor.
[0212] like Fig.16 As shown, the device includes:
[0213] The first obtaining unit 1301 is used to obtain a first resource request from a first application, where the first application is an application of a first domain system in each domain system, and the first resource request is used to request a first processor of other domain systems in each domain system except the first domain system; wherein the first application generates the first resource request when accelerating or assisting in accelerating a target application service, and the target application service includes an artificial intelligence (AI) service; the multi-core heterogeneous system includes at least two processors, and among the at least two processors, the first processor has stronger adaptability to the AI service than the other processors except the first processor.
[0214] The second obtaining unit 1302 is used to obtain first identification information of other domain systems requested by the first application in the first resource request;
[0215] The first communication unit 1303 is configured to establish a communication connection between the first domain system and a domain system having the first identification information in the other domain systems by adopting a target communication mode, so that the first application transmits 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 of the domain system having the first identification information to implement or assist in implementing processing of a target application service of the first application;
[0216] Among them, among at least two processors in a multi-core heterogeneous system, the processing efficiency of the first processor for the target application business is better than the processing efficiency of the other processors for the target application business; the first application also includes non-target application business, the first processor is capable of processing non-target application business, and the superiority of the processing efficiency of the first processor for the target application business is significantly better than the superiority of the processing efficiency of the first processor for non-target application business.
[0217] In some embodiments, the multi-core heterogeneous system includes N subsystems, N is a positive integer greater than or equal to 1, and each subsystem includes at least one domain system. The resource management device also includes a first storage unit, which is used to:
[0218] In response to the domain system with the first identification information being located in the same subsystem as the first domain system, the business data generated by the called first processing resource when implementing and or assisting in implementing the target application business is saved to the shared memory of the same subsystem, and the shared memory is used for the first application to obtain the business data therefrom based on the communication connection, so that the first application implements the target application business.
[0219] 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.
[0220] The first communication unit 1303 is also used to respond to the domain system with the first identification information being located in the same subsystem as the first domain system, and to transmit the first resource request to the second logical communication card through the first logical communication card under the communication connection, and to receive, through the first logical communication card, first feedback information for the first resource request transmitted by the domain system with the first identification information through the second logical communication card, wherein the first feedback information is used to enable the first application to obtain business data from the 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 further configured to:
[0223] In response to the domain system having the first identification information and the first domain system being located in different subsystems, the first domain system receives, through the communication connection, business data generated by the first processing resource of the domain system having the first identification information when implementing and / or assisting in implementing an application business, so that the first application obtains the business data to implement a target application business;
[0224] And / or, the first domain system obtains the business data generated by the first processing resource when implementing and / or assisting in implementing the target application business from the agreed area between the first domain system and the domain system having the first identification information, so that the first application obtains 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 further configured to:
[0227] In response to the domain system having the first identification information and the first domain system being located in different subsystems, under the communication connection, a first resource request is transmitted to a second physical communication card through a first physical communication card, and second feedback information for the first resource request transmitted by the domain system having the first identification information through the second physical communication card is received through the first physical communication card, wherein the second feedback information is 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 further configured to:
[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 that the first resource request in the message pool is transmitted 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 that the second feedback information is transmitted to the first physical communication card through the second physical communication card.
[0231] In some embodiments, the resource management device further comprises:
[0232] A third obtaining unit is configured to obtain a second resource request from a first application, wherein the first application is an application of a first domain system in each domain system, and the second resource request is used to request a first processing resource, and the first processing resource is located in other multi-core heterogeneous systems other than 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 is composed of a plurality of 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 each domain system of the other multi-core heterogeneous system;
[0233] A fourth obtaining unit, configured to obtain second identification information of a 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 adopt a target communication method to establish a communication connection between the first domain system and the domain system with 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 with the second identification information in the other multi-core heterogeneous system 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 to implement the target application business.
[0235] In some embodiments, the second communication unit is used to: if the first domain system includes a physical communication network card, and the domain system having the second identification information in the other multi-core heterogeneous system also includes a physical communication network card, then
[0236] Under the communication connection, transmitting the second resource request to the domain system having 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, receiving, through the physical communication network card of the first domain system, service data transmitted by the domain system with second identification information in the other multi-core heterogeneous system through its physical communication network card, so that the first application realizes the target application service;
[0239] The business data is data generated by the first processing resource of the domain system having the second identification information when realizing and / or assisting in realizing the target application business.
[0240] In some embodiments, the second communication unit is configured to:
[0241] If the first domain system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous system does not include a physical communication network card, and the second domain system in the other multi-core heterogeneous system includes a physical communication network card, then
[0242] Using the second domain system 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, and 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 communication connection, the first domain system receives, through the physical communication network card, the service data transmitted by using the physical communication network card of the proxy domain system of the other multi-core heterogeneous system, so that the first application realizes the target application service;
[0246] Among them, the business data is 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 implementing 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 configured to:
[0248] If the first domain system does not include a physical communication network card, and a third domain system other than the first domain system in the multi-core heterogeneous system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous system includes a physical communication network card, then
[0249] Using the third domain system as a proxy domain system for 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, and 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;
[0251] as well as,
[0252] Under the communication connection, the first domain system receives the 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 realizes the target application service;
[0253] Among them, the business data is the data generated by the domain system with the second identification information in the other multi-core heterogeneous system and its first processing resource when realizing and / or assisting in realizing 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 multi-core heterogeneous system through the physical communication network card.
[0254] In some embodiments, the second communication unit is configured to:
[0255] If the first domain system does not include a physical communication network card, and the fifth domain system other than the first domain system in the multi-core heterogeneous system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous systems does not include a physical communication network card, and the fourth domain system in the other multi-core heterogeneous systems includes a physical communication network card, then
[0256] Using the fifth domain system as a proxy domain system for the multi-core heterogeneous system, and using the fourth domain system 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 system through the physical communication network card;
[0258] as well as,
[0259] Under the communication connection, the first domain system receives the 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 realizes the target application service;
[0260] Among them, the business data is the data generated by the domain system with the second identification information in the other multi-core heterogeneous system and its first processing resource when realizing and / or assisting in realizing 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 agent domain system of the other multi-core heterogeneous system, and is transmitted from the agent domain system of the other multi-core heterogeneous system to the agent domain of the multi-core heterogeneous system through the physical communication network card.
[0261] It should be noted that the resource management device of the embodiment of the present application solves the problem in a similar principle to the aforementioned resource management method. Therefore, the implementation process and implementation principle of the resource management device can refer to the description of the implementation process and implementation principle of the aforementioned method, and the repeated parts will not be repeated.
[0262] According to an embodiment of the present application, the present application also provides an electronic device and a readable storage medium.
[0263] The electronic device includes at least one processor; and a memory in communication with the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the resource management method described in the present application. The computer instructions are used to enable the computer to execute the resource management method described in the present application.
[0264] The present application also provides a computer program product, including a computer program / instruction, which implements the resource management method of the present application when executed by a processor.
[0265] Fig.17 A schematic block diagram of an example electronic device 800 that can be used to implement an embodiment of the present application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or required herein.
[0266] like Fig.17As shown, the device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0267] A number of components in the device 800 are connected to the I / O interface 805, including: an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a disk, an optical disk, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0268] The computing unit 801 may be a variety of general and / or special 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 dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 801 performs the various methods and processes described above, such as the resource management method. For example, in some embodiments, the resource management method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the 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 the resource management method in any other appropriate manner (e.g., by means of firmware).
[0269] Various implementations 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 chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0270] The program code for implementing the method of the present application can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, implements the functions / operations specified in the flow chart and / or block diagram. The program code can be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0271] In the context of the present application, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, 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 (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the 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 acoustic input, voice input, or tactile input).
[0273] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0274] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0275] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A resource management method, characterized in that: The method is applied to a multi-core heterogeneous system, wherein the multi-core heterogeneous system includes at least two hardware domains; each hardware domain is composed of a plurality of processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to 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 each domain system; the hardware domain of at least one of the domain systems includes a first processor; the method includes: Obtaining a first resource request from a first application, where the first application is an application of a first domain system in each domain system, and the first resource request is used to request a first processor of other domain systems in each domain system except the first domain system; wherein the first application generates the first resource request when accelerating or assisting in accelerating a target application service, and the target application service includes an artificial intelligence (AI) service; the multi-core heterogeneous system includes at least two processors, and among the at least two processors, the first processor has stronger adaptability to the AI service than other processors except the first processor. Obtaining first identification information of other domain systems requested by the first application in the first resource request; Using a target communication mode, the first domain system is communicatively connected with a domain system having the first identification information in the other domain systems, so that the first application transmits 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 processing of a target application service of the first application from the domain system having the first identification information; Among them, among at least two processors in a multi-core heterogeneous system, the processing efficiency of the first processor for the target application business is better than the processing efficiency of the other processors for the target application business; the first application also includes non-target application business, the first processor is capable of processing non-target application business, and the superiority of the processing efficiency of the first processor for the target application business is significantly better than the superiority of the processing efficiency of the first processor for non-target application business.
2. The method according to claim 1, characterized in that 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: In response to the domain system with the first identification information being located in the same subsystem as the first domain system, the business data generated by the called first processing resource when implementing and or assisting in implementing the application business is saved to the shared memory of the same subsystem, and the shared memory is used for the first application to obtain the business data therefrom based on the communication connection, so that the first application implements the target application business.
3. The method according to claim 2, characterized in that The first domain system includes a first logical communication card, the domain system having the first identification information includes a second logical communication card, and the method further includes: 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, the first resource request is transmitted to the second logical communication card through the first logical communication card, and first feedback information for the first resource request transmitted by the domain system with the first identification information through the second logical communication card is received through the first logical communication card, and the first feedback information is used to enable the first application to obtain business data from the shared memory.
4. The method according to claim 1, characterized in that: 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: In response to the domain system having the first identification information and the first domain system being located in different subsystems, the first domain system receives, through the communication connection, the business data generated by the first processing resource of the domain system having the first identification information when implementing and / or assisting in implementing the target application business, so that the first application obtains the business data to implement the target application business; And or, the first domain system obtains the business data generated by the first processing resource when 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 obtains the business data to implement the target application business.
5. The method according to claim 4, characterized in that 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: In response to the domain system having the first identification information and the first domain system being located in different subsystems, under the communication connection, a first resource request is transmitted to a second physical communication card through a first physical communication card, and second feedback information for the first resource request transmitted by the domain system having the first identification information through the second physical communication card is received through the first physical communication card, wherein the second feedback information is used to enable the first application to obtain business data.
6. The method according to claim 5, characterized in that 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: 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 that the first resource request in the message pool is transmitted 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 that the second feedback information is transmitted to the first physical communication card through the second physical communication card.
7. The method according to claim 1, characterized in that Also includes: Obtaining a second resource request from a first application, wherein the first application is an application of a first domain system in each domain system, and the second resource request is used to request a first processing resource, and the first processing resource is located in other multi-core heterogeneous systems other than 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 is composed of a plurality of 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 each domain system of the other multi-core heterogeneous 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; A target communication method is adopted to establish a communication connection between the first domain system and the domain system with 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 with the second identification information in the other multi-core heterogeneous system 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 to implement the target application business.
8. The method according to claim 7, characterized in that Also includes: If the first domain system includes a physical communication network card, and the domain system having the second identification information in the other multi-core heterogeneous system also includes a physical communication network card, then Under the communication connection, transmitting the second resource request to the domain system having the second identification information in the other multi-core heterogeneous system through the physical communication network card of the first domain system; as well as, Under the communication connection, receiving, through the physical communication network card of the first domain system, service data transmitted by the domain system with second identification information in the other multi-core heterogeneous system through its physical communication network card, so that the first application realizes the target application service; The business data is data generated by the first processing resource of the domain system having the second identification information when realizing and / or assisting in realizing the target application business.
9. The method according to claim 7, characterized in that: Also includes: If the first domain system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous system does not include a physical communication network card, and the second domain system in the other multi-core heterogeneous system includes a physical communication network card, then Using the second domain system as a proxy domain system for 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 other multi-core heterogeneous system through the physical communication network card, and 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; as well as, Under the communication connection, the first domain system receives, through the physical communication network card, the service data transmitted by using the physical communication network card of the proxy domain system of the other multi-core heterogeneous system, so that the first application realizes the target application service; Among them, the business data is 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 implementing 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.
10. The method according to claim 7, characterized in that Also includes: If the first domain system does not include a physical communication network card, and a third domain system other than the first domain system in the multi-core heterogeneous system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous system includes a physical communication network card, then Using the third domain system as a proxy domain system for the multi-core heterogeneous system; 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 domain system having the second identification information in the other multi-core heterogeneous system through the physical communication network card; as well as, Under the communication connection, the first domain system receives the 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 realizes the target application service; Among them, the business data is the data generated by the domain system with the second identification information in the other multi-core heterogeneous system and its first processing resource when realizing and / or assisting in realizing 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 multi-core heterogeneous system through the physical communication network card.
11. The method according to claim 7, characterized in that Also includes: If the first domain system does not include a physical communication network card, and the fifth domain system other than the first domain system in the multi-core heterogeneous system includes a physical communication network card, and the domain system with the second identification information in the other multi-core heterogeneous systems does not include a physical communication network card, and the fourth domain system in the other multi-core heterogeneous systems includes a physical communication network card, then Using the fifth domain system as a proxy domain system for the multi-core heterogeneous system, and using the fourth domain system as a proxy domain system for 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 to the proxy domain system of the other multi-core heterogeneous system through the physical communication network card; as well as, Under the communication connection, the first domain system receives the 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 realizes the target application service; Among them, the business data is the data generated by the domain system with the second identification information in the other multi-core heterogeneous system and its first processing resource when realizing and / or assisting in realizing 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 agent domain system of the other multi-core heterogeneous system, and is transmitted from the agent domain system of the other multi-core heterogeneous system to the agent domain of the multi-core heterogeneous system through the physical communication network card.
12. A resource management method, characterized in that: The method comprises: Obtaining a second resource request from a first application, wherein the first application is an application of a first domain system in each domain system of a multi-core heterogeneous system, and the second resource request is used to request a first processing resource, and the first processing resource is located in other multi-core heterogeneous systems other than the multi-core heterogeneous system; wherein the multi-core heterogeneous system and the other multi-core heterogeneous systems include at least two hardware domains; the multi-core heterogeneous system and the other multi-core heterogeneous systems each hardware domain is composed of a plurality of processor cores with different architectures and hardware resources connected to the processor cores, and the hardware domains are isolated from each other; the multi-core heterogeneous system and the other multi-core heterogeneous systems each hardware domain and the operating system corresponding to each hardware domain constitute each 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; A target communication method is adopted to establish a communication connection between the first domain system and the domain system with 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 with the second identification information in the other multi-core heterogeneous system 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 to implement the target application business.
13. A resource management device, characterized in that: Applied to a multi-core heterogeneous system, the multi-core heterogeneous system includes at least two hardware domains; each hardware domain is composed of a plurality of processor cores with different architectures in the multi-core heterogeneous system and hardware resources connected to 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 each domain system; the hardware domain of at least one of the domain systems includes a first processor; The resource management device comprises: 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 used to request a first processor of other domain systems in each domain system except the first domain system; wherein the first application generates the first resource request when accelerating or assisting in accelerating a target application service, and the target application service includes an artificial intelligence (AI) service; the multi-core heterogeneous system includes at least two processors, and among the at least two processors, the first processor has stronger adaptability to the AI service than other processors except the first processor. A second obtaining unit, configured to obtain first identification information of other domain systems requested by the first application in the first resource request; a first communication unit, configured to establish a communication connection between the first domain system and a domain system having the first identification information in the other domain systems by adopting a target communication mode, so that the first application transmits 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 processing of a target application service of the first application to the domain system having the first identification information; Among them, among at least two processors in a multi-core heterogeneous system, the processing efficiency of the first processor for the target application business is better than the processing efficiency of the other processors for the target application business; the first application also includes non-target application business, the first processor is capable of processing non-target application business, and the superiority of the processing efficiency of the first processor for the target application business is significantly better than the superiority of the processing efficiency of the first processor for non-target application business.
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
Resource management method, related device and program product
CN118821239A
MME Capacity Dynamic Control Apparatus and Method therefor
KR1020170006702A
Method and apparatus for task scheduling on heterogeneous multi-core reconfigurable computing platform
US20170277654A1