A management system and method based on FPGA heterogeneous computing
By designing a management system based on FPGA heterogeneous computing, the problem of over-fixed computing chip setting rules and poor data processing balance is solved, and flexible management and balanced allocation of computing resources are realized.
Patent Information
- Application Number
- CN202410614525.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-17
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-05-17
AI Technical Summary
In the prior art, the setting rules of computing chips are too fixed, making it difficult to implement a flexible management mechanism, and the lack of monitoring of the data processing volume of computing chips, resulting in poor computing equality.
A management system based on FPGA heterogeneous computing is designed, including the main control center, data acquisition module, node visual module, chip deployment module, node allocation module, data transmission module and chip adjustment module. Through the coordinated work of these modules, Implement dynamic settings and management of computing chips.
It realizes flexible setup and management of computing chips, ensures balanced allocation of computing resources, and improves computing coverage and utilization.
Smart Images

Figure CN118467461B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data management, and in particular to a management system and method based on FPGA heterogeneous computing. Background Art
[0002] FPGA heterogeneous computing refers to an architecture or method that uses field programmable gate array (FPGA) hardware to work together with other types of computing resources in computing tasks. FPGA is a type of programmable hardware that can be configured to perform specific logic operations or data processing tasks. Compared with general-purpose CPUs, FPGAs can be optimized at the hardware level for specific applications. The purpose of heterogeneous computing is to use the characteristics of different computing platforms to improve the performance or energy efficiency of the system. In a heterogeneous computing system, computing tasks can be decomposed and executed by the computing resources that are most suitable for the task. For example, some highly parallel or data-intensive tasks may be handled by GPUs, while some latency-sensitive or highly customized calculations can be executed by FPGAs.
[0003] To realize the above functions, the computing chips must be effectively set and managed. In the prior art, the setting rules for computing chips are often too rigid. Once set, they will no longer be changed, making it difficult to implement a flexible management mechanism. There is also a lack of monitoring of the data processing volume of each computing chip, resulting in some computing chips having too much data processing volume and some having too little data processing volume, making it impossible to achieve computing balance between different computing chips. In view of the shortcomings of the prior art, the present invention provides a management system and method based on FPGA heterogeneous computing. Summary of the invention
[0004] The object of the present invention is to provide a management system and method based on FPGA heterogeneous computing.
[0005] The object of the present invention can be achieved by the following technical solutions: A management system based on FPGA heterogeneous computing, comprising a main control center, wherein the main control center is communicatively connected with a data acquisition module, a node visualization module, a chip deployment module, a node allocation module, a data transmission module, and a chip adjustment module;
[0006] The data acquisition module is used to collect and store node information and deployment information of the Internet of Things nodes;
[0007] The node visualization module is used to construct a visualization map of the IoT nodes based on the collected node information and deployment information;
[0008] The chip deployment module is used to set computing chips for IoT nodes according to the constructed visual map;
[0009] The node allocation module is used to allocate the IoT nodes to the corresponding computing chips in the visual map, and is also used to obtain the real-time computing coefficients of the computing chips, and to reallocate the IoT nodes according to the obtained real-time computing coefficients;
[0010] The data transmission module is used to construct a type-one transmission channel between the IoT node and the computing chip to achieve type-one transmission, and is also used to construct a type-two transmission channel between the IoT nodes to achieve type-two transmission;
[0011] The chip adjustment module is used to adjust the position of the computing chip according to the total amount of data packets collected by the Internet of Things node.
[0012] Furthermore, the process of the data acquisition module collecting and storing the node information and deployment information of the IoT node includes:
[0013] A collection unit is set up to collect node information and deployment information of the Internet of Things node through the collection unit. The node information of the Internet of Things node refers to the data packet information sent and received from the node, and the deployment information refers to the geographical location where the Internet of Things node is deployed, represented by its corresponding longitude and latitude. A database is set up, and the collected node information and deployment information of the Internet of Things node are uploaded to the database for storage.
[0014] Furthermore, the process of the node visualization module constructing a visualization map of the IoT nodes according to the collected node information and deployment information includes:
[0015] GIS technology is used to build a visualization map of the IoT nodes based on the collected deployment information of the IoT nodes. Relevant personnel view the constructed visualization map through mobile terminals. After the visualization map of the IoT nodes is built, the collected node information of the IoT nodes is uploaded to the visualization map for synchronization. Relevant personnel view the node information of each IoT node through the visualization map.
[0016] Furthermore, the process of the chip deployment module setting a computing chip for an IoT node according to the constructed visualization map includes:
[0017] Randomly select an IoT node in the visualization map as the initial chip setting point, obtain the straight-line distance between each IoT node and the current existing chip setting point, and obtain the probability value of each IoT node being selected as the next chip setting point;
[0018] Select the IoT node corresponding to the maximum probability value as the next chip setting point, repeat this step until several chip setting points are selected, and obtain the total distance between each chip setting point and other chip setting points;
[0019] The chip setting point corresponding to the minimum total distance is selected as the main chip setting point, and the other chip setting points are used as secondary chip setting points, and a computing chip is respectively set on the obtained chip setting points.
[0020] Furthermore, the process of the node allocation module allocating the IoT nodes to the corresponding computing chips in the visual map includes:
[0021] A circle is drawn with the set computing chip as the center and the preset distance as the radius, and the obtained circular area is used as the computing area of the computing chip. The preset distance at this time is the initial value, which must meet two conditions, namely, each computing area must have at least one intersection with any other computing area, and the preset distance is the minimum value;
[0022] IoT nodes that are only in one computing area are assigned to the computing chip of that computing area. IoT nodes that are in two or more computing areas are randomly assigned to any computing chip in their computing areas. IoT nodes that are not in any computing area are assigned to the computing chip closest to them. All IoT nodes are assigned using the above allocation rules and bound to their assigned computing chips.
[0023] Furthermore, the node allocation module obtains the real-time calculation coefficient of the computing chip, and the process of reallocating the IoT nodes according to the obtained real-time calculation coefficient includes:
[0024] A monitoring cycle is set, and when a monitoring cycle is reached, the number of data packets and the total number of data packets processed by the computing chip in the monitoring cycle are obtained, and calculation weights are set for the obtained number of data packets and the total number of data packets, respectively, to obtain a real-time calculation coefficient of the computing chip;
[0025] A calculation threshold is set, and the obtained calculation coefficient is compared with the set calculation threshold. The computing chip is divided into a normal state and an abnormal state according to the comparison result. For the computing chip marked as an abnormal state, its computing area is reduced inward, and the annular area between the computing areas before and after the reduction is marked as the corresponding reallocation area. All IoT nodes in the reallocation area are allocated to the computing chip closest to it and marked as a normal state.
[0026] Furthermore, the process of the data transmission module constructing a type of transmission channel between the IoT node and the computing chip to achieve a type of transmission includes:
[0027] A type of transmission unit is set up, and a type of transmission channel is constructed between the Internet of Things node and its corresponding computing chip through the type of transmission unit. When the Internet of Things node collects a data packet, it is transmitted to the computing chip through the type of transmission channel for processing. When the computing chip completes processing of the received data packet, it is transmitted to the Internet of Things node through the type of transmission channel for storage. The type of transmission channel is used to realize two-way transmission of data packets between the Internet of Things node and its corresponding computing chip.
[0028] Furthermore, the process of the data transmission module constructing a Class II transmission channel between IoT nodes to achieve Class II transmission includes:
[0029] A second type of transmission unit is set up, and a second type of transmission channel is constructed between each IoT node through the second type of transmission unit. The data packet stored in the current IoT node is transmitted to all other IoT nodes through the second type of transmission channel for storage. The second type of transmission channel is used to realize data sharing between various IoT nodes.
[0030] Furthermore, the process of the chip adjustment module adjusting the position of the computing chip according to the total amount of data packets collected by the IoT node includes:
[0031] In the visualization map, the IoT nodes are divided into several sub-areas, each of which has at least one computing chip. The regional data standard of each sub-area is obtained, all IoT nodes with data higher than the regional data standard are marked as high data status, and at least one computing chip is moved to the position of the IoT node marked as high data status.
[0032] A management method based on FPGA heterogeneous computing, comprising the following steps:
[0033] Step S1: collecting and storing node information and deployment information of the IoT nodes, constructing a visual map of the IoT nodes according to the collected node information and deployment information, and setting a computing chip for the IoT nodes according to the constructed visual map;
[0034] Step S2: Allocate the IoT nodes to corresponding computing chips in the visual map, obtain the real-time computing coefficients of the computing chips, and reallocate the IoT nodes according to the obtained real-time computing coefficients;
[0035] Step S3: constructing a first-class transmission channel between the IoT node and the computing chip to achieve first-class transmission, and also constructing a second-class transmission channel between the IoT nodes to achieve second-class transmission;
[0036] Step S4: Adjust the position of the computing chip according to the total amount of data packets collected by the IoT node.
[0037] Compared with the prior art, the present invention has the following beneficial effects:
[0038] 1. The present invention obtains a number of chip setting points by obtaining the probability value of each IoT node being selected as the next chip setting point, thereby ensuring that the setting of the computing chips is sufficiently dispersed, avoiding the situation where the computing chips are too concentrated, and is conducive to improving the coverage of the computing chips for the IoT nodes;
[0039] 2. The present invention obtains the real-time calculation coefficient of the computing chip, reduces the coverage area of the computing chip that obviously exceeds the computing capacity, thereby reducing the amount of data it needs to process, and allocates the reduced Internet of Things nodes to other computing chips with computing capacity, thereby achieving good data distribution and computing balance; by dividing the Internet of Things nodes into several sub-areas, and then obtaining Internet of Things nodes with high data status in each sub-area, and by moving the computing chip to it, it is beneficial to achieve priority processing of it to improve the utilization rate of the computing chip. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 It is the principle diagram of the present invention;
[0041] Figure 2 It is a flow chart of the present invention. DETAILED DESCRIPTION
[0042] like Figure 1 As shown, a management system based on FPGA heterogeneous computing includes a main control center, and the main control center is communicatively connected with a data acquisition module, a node visualization module, a chip deployment module, a node allocation module, a data transmission module, and a chip adjustment module;
[0043] The data acquisition module is used to collect and store node information and deployment information of the Internet of Things nodes;
[0044] The node visualization module is used to construct a visualization map of the IoT nodes based on the collected node information and deployment information;
[0045] The chip deployment module is used to set computing chips for IoT nodes according to the constructed visual map;
[0046] The node allocation module is used to allocate the IoT nodes to the corresponding computing chips in the visual map, and is also used to obtain the real-time computing coefficients of the computing chips, and to reallocate the IoT nodes according to the obtained real-time computing coefficients;
[0047] The data transmission module is used to construct a type-one transmission channel between the IoT node and the computing chip to achieve type-one transmission, and is also used to construct a type-two transmission channel between the IoT nodes to achieve type-two transmission;
[0048] The chip adjustment module is used to adjust the position of the computing chip according to the total amount of data packets collected by the Internet of Things node.
[0049] It should be further explained that, in the specific implementation process, the process in which the data acquisition module collects and stores the node information and deployment information of the IoT node includes:
[0050] Setting a collection unit, collecting node information and deployment information of the IoT node through the collection unit, wherein the node information of the IoT node refers to data packet information sent and received from the node, including but not limited to timestamp, data packet type, data packet size, network layer information, data packet status, network interface information, encryption and authentication information;
[0051] The deployment information refers to the geographical location where the IoT node is deployed, which is represented by its corresponding longitude and latitude. A database is set up, and the collected node information and deployment information of the IoT node are uploaded to the database for storage.
[0052] It should be further explained that, in the specific implementation process, the process of the node visualization module constructing a visualization map of the IoT node according to the collected node information and deployment information includes:
[0053] Using GIS technology to build a visualization map of IoT nodes based on the collected deployment information of IoT nodes, relevant personnel view the constructed visualization map through mobile terminals. At this time, the constructed visualization map only includes the deployment information of IoT nodes, but does not include the node information of IoT nodes;
[0054] After the visualization map of the IoT nodes is constructed, the collected node information of the IoT nodes is uploaded to the visualization map for synchronization, and relevant personnel view the node information of each IoT node through the visualization map.
[0055] It should be further explained that, in the specific implementation process, the process of the chip deployment module setting the computing chip for the IoT node according to the constructed visualization map includes:
[0056] Randomly select an IoT node in the visualization map as the initial chip setting point, obtain the straight-line distance between each IoT node and the current existing chip setting point, and record the obtained straight-line distance as d, obtain the probability value of each IoT node being selected as the next chip setting point, and record the obtained probability value as P;
[0057]
[0058] Select the IoT node corresponding to the maximum probability value as the next chip setting point, and repeat this step until n chip setting points are selected;
[0059] Obtain the straight-line distance between each chip setting point and other chip setting points, and mark the obtained straight-line distances as d1, d2, ..., d n-1 , obtain the total distance between each chip setting point and other chip setting points, and mark the obtained total distance as d 总 ;
[0060] d 总 =d1+d2+……+d n-1 ;
[0061] The chip setting point corresponding to the minimum total distance is selected as the main chip setting point, and the other chip setting points are used as secondary chip setting points, and a computing chip is respectively set on the obtained chip setting points.
[0062] It should be further explained that, in a specific implementation process, the process in which the node allocation module allocates the IoT nodes to the corresponding computing chips in the visual map includes:
[0063] A circle is drawn with the set computing chip as the center and the preset distance R as the radius, and the obtained circular area is used as the computing area of the computing chip. The same method is used to obtain the computing areas of all computing chips. At this time, the preset distance R is the initial value, which must meet two conditions, namely, each computing area must have at least one intersection with any other computing area, and the preset distance R is the minimum value;
[0064] IoT nodes that are only in one computing area are assigned to the computing chip of that computing area. IoT nodes that are in two or more computing areas are randomly assigned to any computing chip in their computing areas. IoT nodes that are not in any computing area are assigned to the computing chip closest to them. All IoT nodes are assigned using the above allocation rules and bound to their assigned computing chips.
[0065] It should be further explained that, in the specific implementation process, the node allocation module obtains the real-time calculation coefficient of the computing chip, and the process of reallocating the IoT nodes according to the obtained real-time calculation coefficient includes:
[0066] Set a monitoring cycle. Take any computing chip as an example. When a monitoring cycle is reached, obtain the number of data packets and the total number of data packets processed by the computing chip in the monitoring cycle. The number of data packets refers to the sum of the number of data packets processed by the computing chip in a certain period, and the total number of data packets refers to the sum of the sizes of the data packets processed by the computing chip in a certain period;
[0067] The number of packets obtained and the total number of packets are marked as s and z respectively, and the calculation weights are set for the number of packets obtained and the total number of packets respectively, and the calculation weight of the number of packets is set to Q s , set the calculation weight of the total amount of data packets to Q z , obtain the real-time calculation coefficient of the calculation chip, and mark the obtained real-time calculation coefficient as J;
[0068] J=sQ s +zQ z ;
[0069] A calculation threshold J0 is set, and the obtained calculation coefficient is compared with the set calculation threshold. The calculation chip is divided into a normal state and an abnormal state according to the comparison result. If J≤J0, it is marked as a normal state, and if J>J0, it is marked as an abnormal state;
[0070] For the computing chip marked as abnormal, its computing area is reduced inward, and the annular area between the computing areas before and after the reduction is marked as the corresponding reallocation area, and all IoT nodes in the reallocation area are allocated to the computing chip closest to it and marked as normal.
[0071] It should be further explained that, in a specific implementation process, the process in which the data transmission module constructs a type of transmission channel between the IoT node and the computing chip to achieve a type of transmission includes:
[0072] A type of transmission unit is set up, and a type of transmission channel is constructed between the Internet of Things node and its corresponding computing chip through the type of transmission unit. When the Internet of Things node collects a data packet, it is transmitted to the computing chip through the type of transmission channel for processing. When the computing chip completes processing of the received data packet, it is transmitted to the Internet of Things node through the type of transmission channel for storage. The type of transmission channel is used to realize two-way transmission of data packets between the Internet of Things node and its corresponding computing chip.
[0073] It should be further explained that, in the specific implementation process, the process of the data transmission module constructing a Class II transmission channel between IoT nodes to achieve Class II transmission includes:
[0074] A second type of transmission unit is set up, and a second type of transmission channel is constructed between each IoT node through the second type of transmission unit. The data packet stored in the current IoT node is transmitted to all other IoT nodes through the second type of transmission channel for storage. The second type of transmission channel is used to realize data sharing between various IoT nodes.
[0075] It should be further explained that, in the specific implementation process, the process in which the chip adjustment module adjusts the position of the computing chip according to the total amount of data packets collected by the IoT node includes:
[0076] The total amount of data packets also refers to the sum of the sizes of data packets collected by the IoT node within a monitoring cycle. The IoT nodes are divided into several sub-areas in the visual map, and each sub-area has at least one computing chip. The total amount of data packets of all IoT nodes in each sub-area is obtained, and the average of the total amount of data packets obtained is marked as the regional data standard of the sub-area, and all IoT nodes with a value higher than the regional data standard are marked as a high data state, and at least one computing chip is moved to the position of the IoT node marked as a high data state.
[0077] like Figure 2 As shown, a management method based on FPGA heterogeneous computing includes the following steps:
[0078] Step S1: collecting and storing node information and deployment information of the IoT nodes, constructing a visual map of the IoT nodes according to the collected node information and deployment information, and setting a computing chip for the IoT nodes according to the constructed visual map;
[0079] Step S2: Allocate the IoT nodes to corresponding computing chips in the visual map, obtain the real-time computing coefficients of the computing chips, and reallocate the IoT nodes according to the obtained real-time computing coefficients;
[0080] Step S3: constructing a first-class transmission channel between the IoT node and the computing chip to achieve first-class transmission, and also constructing a second-class transmission channel between the IoT nodes to achieve second-class transmission;
[0081] Step S4: Adjust the position of the computing chip according to the total amount of data packets collected by the IoT node.
[0082] The above embodiments are only used to illustrate the technical method of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical method of the present invention may be modified or replaced by equivalents without departing from the spirit and scope of the technical method of the present invention.
Claims
1. A management system based on FPGA heterogeneous computing, including a main control center, characterized in that: The main control center is communicatively connected with a data acquisition module, a node visualization module, a chip deployment module, a node allocation module, a data transmission module, and a chip adjustment module; The data acquisition module is used to collect and store node information and deployment information of the Internet of Things nodes; The node visualization module is used to construct a visualization map of the IoT nodes based on the collected node information and deployment information; The chip deployment module is used to set computing chips for IoT nodes according to the constructed visual map; The node allocation module is used to allocate the IoT nodes to the corresponding computing chips in the visual map, and is also used to obtain the real-time computing coefficients of the computing chips, and to reallocate the IoT nodes according to the obtained real-time computing coefficients; The data transmission module is used to construct a type-one transmission channel between the IoT node and the computing chip to achieve type-one transmission, and is also used to construct a type-two transmission channel between the IoT nodes to achieve type-two transmission; The chip adjustment module is used to adjust the position of the computing chip according to the total amount of data packets collected by the IoT node; The process of the data transmission module constructing a type of transmission channel between the IoT node and the computing chip to realize a type of transmission includes: A type of transmission unit is provided, and a type of transmission channel is constructed between the Internet of Things node and its corresponding computing chip through the type of transmission unit, wherein the type of transmission channel is used to realize bidirectional transmission of data packets between the Internet of Things node and its corresponding computing chip; The process of the data transmission module constructing a Class II transmission channel between IoT nodes to achieve Class II transmission includes: A second type of transmission unit is set up, and a second type of transmission channel is constructed between various Internet of Things nodes through the second type of transmission unit. The second type of transmission channel is used to realize data sharing between various Internet of Things nodes.
2. A management system based on FPGA heterogeneous computing according to claim 1, characterized in that: The process of the data acquisition module collecting and storing the node information and deployment information of the IoT node includes: Setting a collection unit, through which node information and deployment information of the IoT node are collected, wherein the node information refers to data packet information sent and received from the node; The deployment information refers to the geographical location where the IoT node is deployed. A database is set up, and the collected node information and deployment information of the IoT node are uploaded to the database for storage.
3. A management system based on FPGA heterogeneous computing according to claim 2, characterized in that: The process of the node visualization module constructing a visualization map of the Internet of Things nodes according to the collected node information and deployment information includes: Use GIS technology to build a visual map of IoT nodes based on the collected deployment information, and view the constructed visual map through a mobile terminal; After the visualization map of the IoT nodes is constructed, the collected node information is uploaded to the visualization map for synchronization.
4. A management system based on FPGA heterogeneous computing according to claim 3, characterized in that: The process of the chip deployment module setting a computing chip for an IoT node according to the constructed visualization map includes: Randomly select an IoT node in the visualization map as the initial chip setting point, and obtain the probability value of each IoT node being selected as the next chip setting point based on the straight-line distance between each IoT node and the current existing chip setting point; The IoT node corresponding to the maximum probability value is selected as the next chip setting point, and this step is repeated until several chip setting points are selected, and a computing chip is set on each of the obtained chip setting points.
5. A management system based on FPGA heterogeneous computing according to claim 4, characterized in that: The process of the node allocation module allocating the IoT nodes to the corresponding computing chips in the visual map includes: Obtain the computing areas of all computing chips, assign IoT nodes that are only in one computing area to the computing chip in that computing area, randomly assign IoT nodes that are in two or more computing areas to any computing chip in their computing areas, and assign IoT nodes that are not in any computing area to the computing chip closest to them.
6. A management system based on FPGA heterogeneous computing according to claim 5, characterized in that: The node allocation module obtains the real-time calculation coefficient of the computing chip, and the process of reallocating the IoT nodes according to the obtained real-time calculation coefficient includes: Setting a monitoring cycle, when a monitoring cycle is reached, obtaining the number of data packets and the total number of data packets of the computing chip in the monitoring cycle, setting calculation weights for the obtained number of data packets and the total number of data packets respectively, and obtaining the real-time calculation coefficient of the computing chip; A calculation threshold is set, and the calculation coefficient is compared with the calculation threshold. The computing chip is divided into a normal state and an abnormal state according to the comparison result. For the computing chip in the abnormal state, its computing area is reduced inward; a reallocation area is obtained, and all IoT nodes in the reallocation area are allocated to the computing chip in the normal state closest to it.
7. A management system based on FPGA heterogeneous computing according to claim 6, characterized in that: The process of the chip adjustment module adjusting the position of the computing chip according to the total amount of data packets collected by the IoT node includes: In a visual map, the IoT nodes are divided into several sub-areas, the regional data standards of each sub-area are obtained, the IoT nodes with high data status are obtained according to the regional data standards, and at least one computing chip is moved to the position of the IoT nodes with high data status.
8. A management method for a management system based on FPGA heterogeneous computing according to any one of claims 1 to 7, characterized in that: The following steps are involved: Step S1: collecting and storing node information and deployment information of the IoT nodes, constructing a visual map of the IoT nodes according to the collected node information and deployment information, and setting a computing chip for the IoT nodes according to the constructed visual map; Step S2: Allocate the IoT nodes to corresponding computing chips in the visual map, obtain the real-time computing coefficients of the computing chips, and reallocate the IoT nodes according to the obtained real-time computing coefficients; Step S3: constructing a first-class transmission channel between the IoT node and the computing chip to achieve first-class transmission, and also constructing a second-class transmission channel between the IoT nodes to achieve second-class transmission; Step S4: Adjust the position of the computing chip according to the total amount of data packets collected by the IoT node.
Citation Information
Patent Citations
Optical computing communication and control module based on FPGA
CN115729878A
Real-time monitoring and alarming system for node flow of Internet of Things
CN117768365A