In-memory computing system, method, server and in-memory computing network
By partitioning computing and storage resources and realizing on-demand in-memory computing, the problems of bandwidth blocking and inflexible resource allocation in the prior art are solved, the flexibility and scalability of computing and storage are improved, and the resource idle rate is reduced.
Patent Information
- Application Number
- CN202411895937.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-23
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-12-23
AI Technical Summary
The prior art has problems of bandwidth blocking and inflexible resource allocation in high-performance computing and big data analysis, especially the non-cache coherence and SRIOV mechanism of the PCIe interface are difficult to achieve dynamic online allocation and resource sharing across CPU levels.
By partitioning the computing and storage resources and building different memory logics in each area, in-demand in-memory calculations are realized. At the same time, the required access areas are dynamically allocated and switched according to the target software application scenario, improving the flexibility and scalability of computing and storage.
It reduces the overhead and resource idle rate caused by data transfer, improves the flexibility and scalability of computing and storage, and solves the problems of bandwidth blocking and inflexible resource allocation in the prior art.
Smart Images

Figure CN119336519B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing technology, and in particular to an in-memory computing system, method, server and in-memory computing network. Background Art
[0002] Data centers used for high-performance computing and big data analysis require a large number of high-performance computing and storage devices with virtualization and sharing capabilities. Figure 1 As shown, the prior art generally uses a PCIe (Peripheral Component Interconnect express) interface to implement traditional storage devices and acceleration devices, and combines the SRIOV (Single Root I / O Virtualization) mechanism to implement virtualization, partitioning storage and computing resources and allocating them to different CPU (Central Processing Unit) cores for use.
[0003] Since PCIe is a non-cache coherent interface, the computing process requires frequent data exchange between the acceleration device, main memory, and storage device through DMA (Direct Memory Access), resulting in bandwidth congestion. The SRIOV mechanism makes it difficult to achieve dynamic online resource allocation, nor can it achieve cross-CPU level resource sharing. Summary of the invention
[0004] In view of the above problems, the present invention provides an in-memory computing system, method, server and in-memory computing network, which partitions computing and storage resources and embeds different storage and computing logic in each area to achieve on-demand in-memory computing. At the same time, the required access areas are dynamically allocated and switched according to the target software application scenario, which improves the flexibility and scalability of computing and storage, and reduces the overhead and resource idle rate caused by data transfer.
[0005] According to a first aspect of the present invention, there is provided an in-memory computing system, comprising:
[0006] Multiple interfaces;
[0007] A partition mapping module connected to the interface;
[0008] A computing memory module connected to the partition mapping module, wherein the computing memory module includes a plurality of computing units and a plurality of memory units;
[0009] A plurality of storage modules connected to the computing memory module;
[0010] The partition mapping module is configured with interface path information. The partition mapping module determines the target interface that needs to be routed from the multiple interfaces based on the interface path information, and allocates corresponding computing units and storage modules to process the data requests sent by the target interface, wherein the target interface is used to send data requests for the target software application corresponding to the interface path information.
[0011] Optionally, the partition mapping module includes multiple partition mapping units, and at least one partition mapping unit is used as a target mapping unit to configure interface path information.
[0012] Optionally, the interface path information includes interface parameters and path parameters, the interface parameters are used to determine the target interface that the target mapping unit needs to route; the path parameters are used to determine the computing unit and storage module allocated to process the data request sent from the target interface.
[0013] Optionally, the data requests sent by each target interface are data requests for the same target software application.
[0014] According to a second aspect of the present invention, there is provided an in-memory computing method for use in the in-memory computing system, the method comprising:
[0015] The partition mapping module determines the target interface to be routed from the multiple interfaces according to the configured interface path information, and allocates corresponding computing units and storage modules to the data request of the target software application sent by the target interface;
[0016] The target interface sends a data request of the target software application to the partition mapping module, wherein the data request includes an access address;
[0017] The partition mapping module distributes the data request to corresponding computing units and storage modules for processing.
[0018] Optionally, the partition mapping module includes a plurality of partition mapping units, and at least one partition mapping unit is used as a target mapping unit to configure interface path information; the interface path information includes interface parameters and path parameters;
[0019] The partition mapping module determines a target interface to be routed from multiple interfaces according to the configured interface path information, and allocates a corresponding computing unit and a storage module to a data request of a target software application sent by the target interface, including:
[0020] The target mapping unit determines the target interface to be routed from the plurality of interfaces according to the interface parameters;
[0021] The target mapping unit allocates a computing unit and a storage module for processing the data request to each target interface according to the path parameters.
[0022] Optionally, the path parameter is determined by a currently released computing unit and an access address of a data request of the target software application.
[0023] Optionally, the method further includes:
[0024] After all data request processing of the target software application is completed, the corresponding computing unit and storage module are released.
[0025] According to a third aspect of the present invention, there is provided a server comprising the aforementioned in-memory computing system.
[0026] According to a fourth aspect of the present invention, there is provided an in-memory computing network comprising a plurality of the aforementioned in-memory computing systems.
[0027] The above one or more technical solutions in the embodiments of this specification have at least the following technical effects:
[0028] The embodiments of this specification provide an in-memory computing system, method, server and in-memory computing network, the in-memory computing system includes multiple interfaces, a partition mapping module, a computing memory module and multiple storage modules, the partition mapping module is configured with interface path information, the partition mapping module determines the target interface that needs to be routed from the multiple interfaces according to the interface path information, and allocates the corresponding computing unit and storage module to process the data request sent by the target interface, wherein the target interface is used to send the data request of the target software application corresponding to the interface path information. In this way, by partitioning the computing and storage resources and building different storage and computing logics in each area, on-demand in-memory computing is achieved. At the same time, the required access areas are dynamically allocated and switched according to the target software application scenario, which improves the flexibility and scalability of computing and storage, and reduces the overhead and resource idle rate caused by data handling.
[0029] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented according to the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present invention. Also, throughout the accompanying drawings, the same reference figures are used to represent the same components. In the drawings:
[0031] Figure 1 A PCIe-based system structure diagram in an embodiment of the present invention is shown.
[0032] Figure 2 An architectural diagram of an in-memory computing system in an embodiment of the present invention is shown.
[0033] Figure 3 A schematic flow chart of an in-memory computing method in an embodiment of the present invention is shown.
[0034] legend:
[0035] A-interface, B-data path, C-partition mapping module, D-computing memory module, E-memory unit, G-computing unit, H-dynamic configuration path, F1-storage module, F2-storage module, F3-storage module. DETAILED DESCRIPTION
[0036] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings here can be arranged and designed in various different configurations.
[0037] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention claimed for protection, but merely represents selected embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0038] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, further definition and explanation thereof is not required in subsequent drawings.
[0039] In the description of the present invention, it is also necessary to explain that, unless otherwise clearly specified and limited, the terms "set", "install", "connect", and "connect" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be the internal communication of two elements. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0040] Combination Figure 2 As shown, an embodiment of the present invention provides an in-memory computing system. Figure 2 The in-memory computing system includes multiple interfaces A, which are connected to a partition mapping module C through a data path B, and the partition mapping module C is connected to a computing memory module D through a data path B. The computing memory module D is connected to multiple storage modules F1, F2, and F3 (also referred to as storage media).
[0041] Among them, the computing memory module D includes multiple computing units G and multiple memory units E. Memory unit E refers to hardware resources such as on-chip memory, cache, and lookup table, which are used to provide fast memory access and temporary storage during the computing process to achieve high-performance computing effects. Computing unit G refers to the operator logic used for calculation and the control logic for accessing the on-chip memory unit E or storage module. Among them, the operator logic can be a self-designed hardware logic or a general computing IP. The achievable computing operations include searching, comparing, sorting, encryption and decryption, decompression, general matrix operations, etc. The partition mapping module C provides a flexible data flow routing management function, and the management process can include: the external scheduler configures the partition mapping module C through the dynamic configuration path H, and distributes data requests from different interfaces A to the same (or different) computing units and storage modules.
[0042] For example, multiple unrelated software applications send data requests through multiple servers respectively. For the in-memory computing system of this embodiment, it is equivalent to the traffic from interface A1 and the traffic from interface A2 being routed to different computing units G and storage modules.
[0043] For another example, when the same target software application runs on multiple computing nodes, for the in-memory computing system of this embodiment, the traffic from interface A1 and the traffic from interface A2 are regarded as the same source and will be routed to the same computing unit G and storage module.
[0044] In detail, the external scheduler determines the corresponding interface path information according to the data request of the target software application, and the interface path information is sent to the partition mapping module C through the dynamic configuration path H, and the interface path information is used to configure the partition mapping module C. The configuration mainly includes two parts, one part refers to the configuration of the interface, and the other part refers to the configuration of the computing storage path.
[0045] The partition mapping module C determines the target interface to be routed from multiple interfaces according to the interface path information, and allocates corresponding computing units and storage modules to process the data request sent by the target interface.
[0046] The target interface is used to send a data request of a target software application corresponding to the interface path information.
[0047] In this embodiment, the target interface may be one or more. It should be noted that each target interface is used to send data requests sent by the same target software application. For the partition mapping module C, the data streams sent by the above target interfaces belong to the same source.
[0048] The partition mapping module C also allocates corresponding computing units G and storage modules to process the data requests sent by each target interface according to the interface path information. For target interfaces from the same source (ie, the same target software application), the allocated computing units G and storage modules are consistent.
[0049] In this embodiment, there are multiple computing units G. When determining the interface path information, some computing units G may be idle, and some computing units G may be non-idle. An idle computing unit G indicates that there is no computing task to be processed at present, and a non-idle computing unit G indicates that the computing unit G is currently occupied and has an unfinished computing task to be processed. When the computing task of the computing unit G is processed, the computing unit G will be released, and then the computing unit G is idle.
[0050] Therefore, it is not difficult to understand that the computing unit G allocated according to the interface path information in this embodiment is determined from the computing units G that are idle at the current moment.
[0051] When the in-memory computing system processes the data request of the target software application, it may also process the data request of other software applications at the same time. Therefore, in this embodiment, the partition mapping module C may include multiple partition mapping units, and at least one partition mapping unit is used as a target mapping unit to configure the interface path information. The interface path information includes interface parameters and path parameters, wherein the interface parameters are used to determine the target interface that the target mapping unit needs to route; the path parameters are used to determine the computing unit and storage module assigned to process the data request sent from the target interface.
[0052] It should be noted that the target mapping unit is equivalent to the partition mapping unit hit by the interface path information. When configuring the target software application, the external scheduler determines the target mapping unit from multiple partition mapping units, which are partition mapping units that are not hit by other application software.
[0053] To enable a target mapping unit for explanation, according to the target software application, determine to enable the target mapping unit C1; according to the interface parameters, set the consistent cache target interfaces A1, A2...An that the target mapping unit C1 needs to route; and set the access address range (A1_Address_low, A1_Address_high), (A2_Address_low, A2_Address_high)...(An_Address_low, An_Address_high) that each target interface needs to route; according to the path parameters, set the path of C1 routing, for example G2-F3, which means routing to the computing unit G2 for computing and the storage module F3 for storage.
[0054] For example:
[0055] According to the data request of the target software application, it is determined to enable the target mapping unit C1 and set the target interface of C1 to A1-A3
[0056] Set the access address range of the target interface A1 of the target mapping unit C1 to A1_Address_low=0, A1_Address_high=1000; the access address range of the target interface A2 to A2_Address_low=1000, A2_Address_high=4000; the access address range of the target interface A3 to A3_Address_low=5000, A3_Address_high=6000;
[0057] Set the C1 routing path to G1-F1;
[0058] When a data request with access address 500 is received through target interface A1, the computing unit for allocation processing is G1 and the storage module is F1.
[0059] When a data request with access address 1500 is received through target interface A2, the computing unit for allocation processing is G1 and the storage module is F1.
[0060] When a data request with access address 5200 is received through target interface A3, the computing unit for allocation processing is G1 and the storage module is F1.
[0061] In this embodiment, the data request may be a read data request or a write data request.
[0062] For write data requests, the write data request of the target software application is sent through the target interface A, and after passing through the data path B, it enters the target mapping unit and is then routed to the pre-configured computing unit G. Subsequently, according to the different logical function implementations, the on-chip memory unit E is called for calculation, and the calculation results are returned to the computing unit G, which is finally routed to the corresponding storage module (F1 / F2 / F3), and the write completion indication is returned to the target software application side through the target mapping unit and the target interface A again.
[0063] In response to the read data request, the write data request of the target software application is sent through the target interface A. The request is directly transmitted to the corresponding storage module (F1 / F2 / F3) via the data path B, the target mapping unit and the computing memory module C in sequence. After the read data is returned, it is decided whether to pass through the computing unit G again according to the configuration, and finally return to the target software application side.
[0064] For example:
[0065] When a data read request is sent, if the data is encrypted / compressed when written, it needs to pass through the computing unit G again when read out, and then be decrypted / decompressed before returning to the target software application side.
[0066] When sending several write data requests, it is configured as a sorting operation, and the computing unit G will write the several write data requests into the storage module in order according to the specified rules for storage. When sending several read data requests, it is expected to read back the sorted data, which does not need to pass through the computing unit G again, and can be directly returned to the target software application side.
[0067] When sending several write data requests, they are configured as matrix multiplication and addition operations, and the calculation unit G writes the calculation results into the corresponding storage module for storage. When sending read data requests, they do not need to pass through the calculation unit G and are directly returned to the target software application side.
[0068] In summary, an embodiment of the present specification provides an in-memory computing system, which has multiple interfaces, a partition mapping module, a computing memory module, and multiple storage modules. The partition mapping module is configured with interface path information. The partition mapping module determines the target interface that needs to be routed from multiple interfaces based on the interface path information, and allocates corresponding computing units and storage modules to process the data requests sent by the target interface, wherein the target interface is used to send data requests for target software applications corresponding to the interface path information. In this way, by partitioning the computing and storage resources and building different storage and computing logics into each area, on-demand in-memory computing is achieved. At the same time, the required access areas are dynamically allocated and switched according to the target software application scenario, which improves the flexibility and scalability of computing and storage, and reduces the overhead and resource idle rate caused by data handling.
[0069] Based on the same inventive concept, Figure 3 As shown, an embodiment of the present invention further provides an in-memory computing method, which is used in the in-memory computing system mentioned above. The method includes steps 101 to 103:
[0070] Step 101: The partition mapping module determines the target interface to be routed from multiple interfaces according to the configured interface path information, and allocates corresponding computing units and storage modules to the data request of the target software application sent by the target interface;
[0071] Step 102: The target interface sends a data request of the target software application to the partition mapping module, where the data request includes an access address;
[0072] Step 103: The partition mapping module distributes the data request to the corresponding computing unit and storage module for processing.
[0073] In this embodiment, combined with Figure 2 As shown, the in-memory computing system includes multiple interfaces A, interface A is connected to a partition mapping module C through a data path B, and the partition mapping module C is connected to a computing memory module D through a data path B. The computing memory module D is connected to multiple storage modules F1, F2, and F3 (also referred to as storage media).
[0074] Among them, the computing memory module includes multiple computing units G and multiple memory units E. Memory unit E refers to hardware resources such as on-chip memory, cache, and lookup table, which are used to provide fast memory access and temporary storage during the computing process to achieve high-performance computing effects. Computing unit G refers to the operator logic used for calculation and the control logic for accessing on-chip memory units or storage media. Among them, the operator logic can be self-designed hardware logic or general computing IP. The achievable computing operations include but are not limited to: searching, comparing, sorting, encryption and decryption, decompression, general matrix operations, etc. The partition mapping module C provides flexible data flow routing management functions. The management process can be understood as: the external scheduler configures the partition mapping module C through the dynamic configuration path H, and distributes data requests from different interfaces to the same (or different) computing units and storage modules.
[0075] For example, multiple unrelated software applications send data requests through multiple servers respectively. For the in-memory computing system of this embodiment, it is equivalent to routing the traffic from interface A1 and the traffic from interface A2 to different computing units and storage modules.
[0076] For another example, when the same target software application runs on multiple computing nodes, for the in-memory computing system of this embodiment, the traffic from interface A1 and the traffic from interface A2 are regarded as the same source and will be routed to the same computing unit and storage module.
[0077] In detail, the external scheduler determines the corresponding interface path information according to the data request of the target software application, and the interface path information is sent to the partition mapping module C through the dynamic configuration path H, and the interface path information is used to configure the partition mapping module C. The configuration mainly includes two parts, one is the configuration of the interface, and the other is the configuration of the computing storage path.
[0078] The partition mapping module C determines the target interface to be routed from multiple interfaces according to the interface path information, and allocates corresponding computing units and storage modules to process the data request sent by the target interface.
[0079] The target interface is used to send a data request of a target software application corresponding to the interface path information.
[0080] In this embodiment, the target interface may be one or more. It should be noted that each target interface is used to send data requests issued by the same target software application. For the partition mapping module C, the data streams sent by the above target interfaces belong to the same source.
[0081] The partition mapping module C also allocates corresponding computing units G and storage modules to process the data requests sent by each target interface according to the interface path information. For target interfaces from the same source, the allocated computing units G and storage modules are consistent.
[0082] In this embodiment, there are multiple computing units. When determining the interface path information, some computing units may be idle, and some computing units may be non-idle. An idle computing unit indicates that there is no computing task to be processed at present, and a non-idle computing unit indicates that the computing unit is currently occupied and has an unfinished computing task to be processed. When the computing task of the computing unit is processed, the computing unit will be released, and the computing unit is idle at this time.
[0083] Therefore, it is not difficult to understand that the computing unit allocated according to the interface path information in this embodiment is determined from the currently idle computing units.
[0084] The in-memory computing system may also process data requests from other software applications while processing data requests from target software applications. Therefore, in this embodiment, the partition mapping module may include multiple partition mapping units, and at least one partition mapping unit is used as a target mapping unit to configure interface path information. The interface path information includes interface parameters and path parameters, wherein the interface parameters are used to determine the target interface that the target mapping unit needs to route; the path parameters are used to determine the computing unit and storage module assigned to process the data request sent from the target interface.
[0085] It should be noted that the target mapping unit is equivalent to the partition mapping unit hit by the interface path information. When configuring the target software application, the external scheduler determines the target mapping unit from multiple partition mapping units, which are partition mapping units that are not hit by other application software.
[0086] To enable a target mapping unit for explanation, according to the target software application, determine to enable the target mapping unit C1; according to the interface parameters, set the consistent cache target interfaces A1, A2...An that the target mapping unit C1 needs to route; and set the access address range (A1_Address_low, A1_Address_high), (A2_Address_low, A2_Address_high)...(An_Address_low, An_Address_high) that each target interface needs to route; according to the path parameters, set the path of C1 routing, for example G2-F3, which means routing to the computing unit G2 for computing and the storage module F3 for storage.
[0087] For example:
[0088] According to the data request of the target software application, it is determined to enable the target mapping unit C1 and set the target interface of C1 to A1-A3
[0089] Set the access address range of the target interface A1 of the target mapping unit C1 to A1_Address_low = 0, A1_Address_high = 1000; the access address range of the target interface A2 to A2_Address_low = 1000, A2_Address_high = 4000; the access address range of the target interface A3 to A3_Address_low = 5000, A3_Address_high = 6000;
[0090] Set the C1 routing path to G1-F1;
[0091] When a data request with access address 500 is received through target interface A1, the computing unit for allocation processing is G1 and the storage module is F1.
[0092] When a data request with access address 1500 is received through target interface A2, the computing unit for allocation processing is G1 and the storage module is F1.
[0093] When a data request with access address 5200 is received through target interface A3, the computing unit for allocation processing is G1 and the storage module is F1.
[0094] In this embodiment, the data request may be a read data request or a write data request.
[0095] For write data requests, the write data request of the target software application is sent through the target interface A, and after passing through the data path B, it enters the target mapping unit and is then routed to the pre-configured computing unit G. Subsequently, according to the different logical function implementations, the on-chip memory unit E is called for calculation, and the calculation results are returned to the computing unit G, which is finally routed to the corresponding storage module (F1 / F2 / F3), and the write completion indication is returned to the target software application side through the target mapping unit and the target interface A again.
[0096] In response to the read data request, the write data request of the target software application is sent through the target interface A. The request is directly transmitted to the corresponding storage module (F1 / F2 / F3) via the data path B, the target mapping unit and the computing memory module C in sequence. After the read data is returned, it is decided whether to pass through the computing unit G again according to the configuration, and finally return to the target software application side.
[0097] For example:
[0098] When a data read request is sent, if the data is encrypted / compressed when written, it needs to pass through the computing unit G again when read out, and then be decrypted / decompressed before returning to the target software application side.
[0099] When sending several write data requests, it is configured as a sorting operation, and the computing unit G will write the several write data requests into the storage module in order according to the specified rules for storage. When sending several read data requests, it is expected to read back the sorted data, which does not need to pass through the computing unit G again, and can be directly returned to the target software application side.
[0100] When sending several write data requests, they are configured as matrix multiplication and addition operations, and the calculation unit G writes the calculation results to the storage module for storage. When sending read data requests, they do not need to pass through the calculation unit G and are directly returned to the target software application side.
[0101] In summary, an in-memory computing method is provided in an embodiment of the present specification. The in-memory computing system has multiple interfaces, a partition mapping module, a computing memory module, and multiple storage modules. The partition mapping module is configured with interface path information. The partition mapping module determines the target interface that needs to be routed from the multiple interfaces based on the interface path information, and allocates corresponding computing units and storage modules to process the data requests sent by the target interface, wherein the target interface is used to send data requests for target software applications corresponding to the interface path information. In this way, by partitioning the computing and storage resources and building different storage and computing logics into each area, on-demand in-memory computing is achieved. At the same time, the required access areas are dynamically allocated and switched according to the target software application scenario, thereby improving the flexibility and scalability of computing and storage, and reducing the overhead and resource idleness caused by data handling.
[0102] Based on the same inventive concept, an embodiment of the present invention further provides a server, comprising the aforementioned in-memory computing system. The specific contents of the in-memory computing system can be referred to above and will not be repeated here.
[0103] In summary, the embodiments of this specification provide a server and an in-memory computing network, wherein the in-memory computing system has multiple interfaces, a partition mapping module, a computing memory module, and multiple storage modules, wherein the partition mapping module is configured with interface path information, and the partition mapping module determines the target interface that needs to be routed from the multiple interfaces according to the interface path information, and allocates corresponding computing units and storage modules for processing the data request sent by the target interface, wherein the target interface is used to send data requests for target software applications corresponding to the interface path information. In this way, by partitioning the computing and storage resources and building different storage and computing logics into each area, on-demand in-memory computing is achieved. At the same time, the required access areas are dynamically allocated and switched according to the target software application scenario, thereby improving the flexibility and scalability of computing and storage, and reducing the overhead and resource idleness caused by data handling.
[0104] Based on the same inventive concept, an embodiment of the present invention further provides an in-memory computing network, comprising a plurality of the aforementioned in-memory computing systems.
[0105] The top-of-rack switch and the core switch can link different server racks into an in-memory computing network. The server rack includes the aforementioned in-memory computing system. Through the standard CXL (Compute Express Link) switch network, resource sharing across CPUs, server racks, and networks can be achieved.
[0106] In summary, an embodiment of the present specification provides an in-memory computing network, the in-memory computing system has multiple interfaces, a partition mapping module, a computing memory module, and multiple storage modules, the partition mapping module is configured with interface path information, the partition mapping module determines the target interface that needs to be routed from the multiple interfaces according to the interface path information, and allocates corresponding computing units and storage modules for processing the data request sent by the target interface, wherein the target interface is used to send data requests for target software applications corresponding to the interface path information. In this way, by partitioning the computing and storage resources and building different storage and computing logics into each area, on-demand in-memory computing is achieved. At the same time, the required access areas are dynamically allocated and switched according to the target software application scenario, which improves the flexibility and scalability of computing and storage, and reduces the overhead and resource idle rate caused by data handling.
[0107] The above are only various embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. An in-memory computing system, characterized in that: include: Multiple interfaces; A partition mapping module connected to the interface; A computing memory module connected to the partition mapping module, wherein the computing memory module includes a plurality of computing units and a plurality of memory units; A plurality of storage modules connected to the computing memory module; The partition mapping module is configured with interface path information, the interface path information includes interface parameters and path parameters; the partition mapping module determines the target interface to be routed from the multiple interfaces according to the interface parameters, and the computing unit and storage module allocated to process the data request sent by the target interface according to the path parameters, wherein the target interface is used to send the data request of the target software application corresponding to the interface path information; Among them, the external scheduler determines the corresponding interface path information according to the data request of the target software application, and sends it to the partition mapping module through the dynamic configuration path; the partition mapping module includes multiple partition mapping units, and the external scheduler determines the target mapping unit from multiple partition mapping units that are not hit by other application software to configure the interface path information.
2. The in-memory computing system according to claim 1, characterized in that: The data requests sent by each target interface are data requests of the same target software application.
3. An in-memory computing method, used in the in-memory computing system according to any one of claims 1 to 2, characterized in that: The method comprises: The partition mapping module determines the target interface to be routed from the multiple interfaces according to the configured interface path information, and allocates corresponding computing units and storage modules to the data request of the target software application sent by the target interface; The target interface sends a data request of the target software application to the partition mapping module, wherein the data request includes an access address; The partition mapping module distributes the data request to corresponding computing units and storage modules for processing.
4. The in-memory computing method according to claim 3, characterized in that: The partition mapping module includes a plurality of partition mapping units, and at least one partition mapping unit is used as a target mapping unit to configure interface path information; the interface path information includes interface parameters and path parameters; The partition mapping module determines a target interface to be routed from multiple interfaces according to the configured interface path information, and allocates a corresponding computing unit and a storage module to a data request of a target software application sent by the target interface, including: The target mapping unit determines the target interface to be routed from the multiple interfaces according to the interface parameters; The target mapping unit allocates a computing unit and a storage module for processing the data request to each target interface according to the path parameters.
5. The in-memory computing method according to claim 4, characterized in that: The path parameter is determined by the currently released computing unit and the access address of the data request of the target software application.
6. The in-memory computing method according to claim 3, characterized in that: The method further comprises: After all data request processing of the target software application is completed, the corresponding computing unit and the storage module are released.
7. A server, characterized in that: An in-memory computing system comprising any one of claims 1-2.
8. An in-memory computing network, characterized in that: It comprises a plurality of in-memory computing systems as described in any one of claims 1-2.
Citation Information
Patent Citations
Vehicle instruction issuing processing method and system and vehicle data processing method and system
CN111726256A