Neuron computing resource cluster dynamic division method of brain-like operating system
By using a dynamic partitioning method for neuronal computing resource clusters in a neuromorphic operating system, the challenges of resource management in large-scale neuromorphic computing systems are solved, enabling on-demand use and efficient utilization of resources, and optimizing the communication distance and topology layout between nodes.
Patent Information
- Application Number
- CN202610055497.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-16
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2046-01-16
AI Technical Summary
Existing technologies struggle to efficiently manage resource nodes in large-scale neuromorphic computing systems. Traditional resource management and computing node partitioning schemes are not suitable for the in-memory computing architecture of neuromorphic computing and fail to effectively consider the relative positional relationships between nodes.
A dynamic partitioning method for neural computing resource clusters in a neuromorphic operating system is adopted. By receiving and processing the online message of computing nodes through the master node, combined with the dynamic matrix serpentine layout method, the local position of computing nodes is dynamically generated and the connection relationship between adjacent computing nodes is established, so as to realize on-demand management and initialization of resources.
It realizes flexible resource node partitioning of brain-like computing resource clusters, improves resource utilization and adaptability, optimizes communication distance between nodes, and meets resource requests of different shapes.
Smart Images

Figure CN121523919A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of neuromorphic computing and computer operating system technology, specifically relating to a method for dynamically partitioning neuronal computing resource clusters in a neuromorphic operating system. Background Technology
[0002] With the rapid development of neuromorphic computing hardware technology, the number of neurons and synapses integrated on a single neuromorphic computing chip continues to increase; at the same time, through technologies such as clustering, the number of computing nodes contained in neuromorphic computing systems is also constantly increasing. Currently, research on large-scale neuromorphic computing systems is booming, and how to efficiently and rationally manage the massive and continuously expanding clusters of neuromorphic computing resource nodes has become one of the core challenges facing neuromorphic computer operating systems.
[0003] Faced with the challenge of managing large-scale computing resources, traditional distributed computing architectures (such as cluster computing and cloud computing) have developed numerous mature resource management and compute node partitioning schemes. These schemes typically decouple computing and storage resources logically and even physically, and achieve unified allocation and elastic scheduling of resources such as CPU and memory through centralized resource managers (such as YARN and Kubernetes) or distributed consensus algorithms. However, neuromorphic computing adopts a fundamental architectural change of in-memory computing, making traditional resource management and compute node partitioning schemes designed for the "compute-storage" separation model no longer applicable in this context. Furthermore, traditional distributed computing nodes are interconnected through high-speed networks, without needing to consider the relative positional relationships between nodes; its optimization goal is to balance network bandwidth and latency. In contrast, neuromorphic computing needs to consider node communication distances, and its core resource partitioning lies in constructing a resource topology that fits the hardware characteristics and task requirements. Summary of the Invention
[0004] To address the shortcomings of existing technologies and achieve dynamic management and allocation of brain-like computing resources in distributed scenarios, this invention adopts the following technical solution:
[0005] A method for dynamically partitioning neuronal computing resource clusters in a neuromorphic operating system, applied to neuromorphic computing hardware, includes the following steps:
[0006] Step S1: The master node, as the central node, receives the online message of the compute node and completes the online operation of the compute node. The compute node enters the resource pool and waits to be partitioned and initialized before being put into use. The master node receives and processes all resource node and Cluster node online / offline messages and performs resource management and scheduling on a unit basis.
[0007] Step S2: The master node generates a partitioning request based on the current resource occupancy of each cluster node or the cluster node's active request, and partitions the computing nodes in the resource pool to the target cluster node according to the partitioning request; the master node, as the central node, receives and processes all computing node and cluster node online / offline messages, and performs resource management and scheduling on a resource node basis; a cluster node is a cluster formed by multiple computing nodes and its supporting software nodes, and each cluster node autonomously manages the brain-like computing nodes within the cluster based on a logical computing core;
[0008] Step S3: The target cluster node dynamically generates the local position of the next allocated computing node within the target cluster node by combining its own resource layout and occupancy.
[0009] Step S4: Based on the local location, initialize the computing nodes and establish connections between adjacent computing nodes.
[0010] Furthermore, in step S2, when the overall computing node utilization rate exceeds the threshold, the master node actively triggers a partitioning operation to allocate idle computing nodes in the resource pool to the target cluster node with the highest current load in a load balancing manner; when the computing resource topology of the cluster node cannot meet the new resource allocation request, the cluster node, as the target cluster node, actively requests the master node to partition computing nodes.
[0011] Furthermore, the master node periodically monitors and collects the real-time computing node resource utilization rate of each cluster node in the cluster system. The resource utilization rate includes, but is not limited to, the utilization rate of neuromorphic computing hardware cores, on-chip network communication bandwidth, direct memory access (DMA) bandwidth utilization rate, and cluster software node CPU utilization rate.
[0012] Furthermore, in step S3, if the partitioning request is triggered by the master node according to the load balancing strategy, the position of the new computing node in the target cluster node is generated by the dynamic matrix serpentine layout method. Based on the dynamic matrix serpentine layout method, the current rectangle size, the next position, and the four forward directions (up, down, left, and right) are maintained and updated. Under specific circumstances, the direction is changed or the rectangle size is adjusted. Without limiting the total number of resource nodes, the node positions are generated sequentially, and the node topology is arranged into a shape close to a matrix, so that nodes entering at adjacent times are spatially continuous.
[0013] Furthermore, in step S3, the dynamic matrix serpentine layout method moves the next position one unit forward. If this movement would collide with the boundary, the forward direction is adjusted before moving again. Each direction adjustment involves only a 90° rotation. After every three rotations in the same direction, the next rotation is in the opposite direction. Simultaneously, the size of the rectangle is increased by one unit. Through the dynamic matrix serpentine layout method, even when the total number of resource nodes is unknown and the number of resource nodes is dynamically increasing, the constructed resource topology can be guaranteed to be close to a rectangle, while maintaining the adjacent positions of computational nodes that are online at adjacent times.
[0014] Furthermore, in step S3, if the partitioning request is triggered due to insufficient resources of the current cluster node, the new computing node position in the target cluster node will be prioritized to match the cluster node's own resource layout and the current neural network model deployment request.
[0015] Furthermore, in step S3, when the current neural network model deployment request occupies a rectangular neuron core space longer than one computing node, if the basic matrix serpentine layout generation method is used, newly added nodes will not be able to meet the current neural network model deployment request. Therefore, the excessively long computing nodes are placed below the originally deployed normal-length computing nodes. Simultaneously, the current position occupancy is recorded, and this position is skipped when subsequent computing nodes are added, thereby improving the rectangular topology layout of the resource nodes. The dynamic layout method takes into account the current neural network model deployment request and, through dynamic adjustment, can meet the neural network model deployment request to a greater extent.
[0016] Furthermore, in step S1, the computing nodes need to be initialized before they can be used. The master node maintains a resource pool of computing nodes that are online but not initialized, so that the computing nodes can be partitioned on demand, thereby saving computing node hardware energy consumption.
[0017] Furthermore, in step S4, the connection relationship between computing nodes is dynamically configurable. During the partitioning process, computing nodes acquire location information and determine and configure the connection relationship between computing nodes through the location information, including newly added computing nodes and computing nodes adjacent to the newly added computing nodes, providing flexible basic support for cross-computing node resource allocation tasks.
[0018] Furthermore, in step S4, the initialization operation of the computing node includes, but is not limited to, activating all cores on the resource node and resetting the neuron state register on the resource node. The initialization operation is implemented by the cluster node sending specific hardware instructions to the computing node. The connection configuration of computing resources is configured by modifying the local specific hardware registers of the computing node. The cluster node generates and issues the correct connection configuration instructions, and the computing node completes the final register modification.
[0019] The advantages and beneficial effects of this invention are as follows:
[0020] This invention discloses a dynamic partitioning method for neuronal computing resource clusters in a brain-like operating system. It realizes a dynamic and flexible resource node partitioning scheme for distributed computing resource clusters oriented towards brain-like computing resource clusters. The resource pool and allocation followed by initialization enable on-demand use of resource nodes. The dynamic matrix serpentine layout method ensures that the constructed resource topology is close to a rectangle, while keeping the positions of resource nodes that come online at adjacent times adjacent. It also flexibly adjusts the positions of resource nodes based on the current resource allocation request, thereby enhancing the adaptability of the cluster system to resource requests of various shapes and improving the overall resource utilization of the cluster system. Attached Figure Description
[0021] Figure 1 This is a flowchart of the method in an embodiment of the present invention.
[0022] Figure 2 This is a schematic diagram of the resource shortage logic in an embodiment of the present invention.
[0023] Figure 3 This is a flowchart of the dynamic matrix serpentine layout method in an embodiment of the present invention.
[0024] Figure 4 This is a schematic diagram of the dynamic matrix serpentine layout method in an embodiment of the present invention.
[0025] Figure 5 This is a schematic diagram of the dynamic layout adjustment logic in an embodiment of the present invention. Detailed Implementation
[0026] The specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit the present invention.
[0027] Compared to traditional distributed scenarios, the focus of resource node partitioning in neuromorphic computing is on the topological layout of resource nodes. In a neuromorphic computing system using the third-generation Darwin chip as the basic neuromorphic computing hardware, computing resource nodes can expand in four directions (up, down, left, and right) to form a topological structure in two-dimensional space. To optimize the minimum communication distance between nodes and make the resource topological layout more adaptable to resource allocation tasks, a reasonable approach is to make the resource topological layout as close to a square as possible.
[0028] like Figure 1 As shown, this invention proposes a method for dynamically partitioning neuronal computing resource clusters in a brain-like operating system, comprising the following steps:
[0029] Step S1: The Master node receives the compute node online message and completes the compute node online operation; the compute node enters the resource pool, waiting to be partitioned and initialized subsequently; specifically, it includes the following steps:
[0030] Step S1.1: The master node acts as the central node, receives the compute node online message, verifies the node's network connectivity, and completes the compute node online operation.
[0031] Specifically, when a compute node comes online, it proactively sends an online request packet containing information such as the IP addresses and ports used for communication. The master node maintains this information and checks the connectivity with the compute nodes. Maintaining the information is for later passing it to the cluster nodes, which are responsible for establishing connections with the compute nodes. Checking connectivity is to proactively eliminate nodes that may be unavailable due to network failures or other reasons.
[0032] Step S1.2: The compute node enters the resource pool and waits to be partitioned and initialized before being put into use;
[0033] Specifically, the Master node maintains a pool of compute node resources. The nodes in the resource pool are in an online but unallocated state. When needed, they enter the node partitioning process and are allocated to the Cluster node, thereby achieving on-demand initialization of nodes and saving system power consumption.
[0034] Step S2: The master node generates a partitioning request based on the current resource occupancy of each cluster node or the cluster node's active request, and then partitions the computing nodes in the resource pool to a target cluster node according to the partitioning request.
[0035] When the overall system computing resource utilization exceeds a threshold, the master node will proactively trigger a partitioning operation to distribute idle computing nodes in the resource pool to the cluster nodes with the highest current load in a load-balancing manner. When the computing resource topology of a cluster node cannot meet a new resource allocation request, the cluster node will proactively request computing nodes from the master node. The specific steps include the following:
[0036] Step S2.1: The Master node actively triggers a partitioning request based on global cluster load information, while the Cluster nodes passively trigger partitioning requests based on insufficient local cluster node resources. The partitioning request is triggered by the following two independent mechanisms, as detailed below:
[0037] 1) Proactive triggering based on global cluster load information (initiated by the master node):
[0038] The master node periodically (e.g., every minute) monitors and collects real-time resource utilization metrics for each cluster node in the cluster system. These resource utilization metrics may include: neuromorphic computing hardware core utilization, on-chip network communication bandwidth, DMA bandwidth utilization, and cluster software node CPU utilization. Load information can be presented using a single metric or a weighted average of multiple metrics.
[0039] The master node maintains an average load value for the cluster system. And preset a high load threshold. (For example, 80%). When detected When this occurs, it indicates that the overall computing node resources of the cluster system are becoming strained and require additional available computing node resources. At this time, the Master node proactively initiates a partitioning operation, the goal of which is to allocate idle nodes in the resource pool to the Cluster nodes with the highest current load, thereby balancing the resource pressure on the cluster system.
[0040] 2) Passive triggering based on insufficient local cluster node resources (initiated by the cluster node):
[0041] When a certain cluster node (denoted as...) When a cluster node receives a new neural network model deployment request or an existing model expansion request, its local resource manager will first attempt to allocate resources within its currently managed compute node topology. If, after evaluation by the local scheduling algorithm, its existing compute node topology cannot satisfy the request (e.g., ...), ... Figure 2 As shown, the request requires all computing cores in a rectangular space longer than a single computing node, while If no free resource rectangle that meets the conditions can be found in the current topology, then... It will proactively send a resource allocation request to the master node, and the request should at least include the cluster node ID of the requested cluster.
[0042] Step S2.2: After receiving a partition request (whether triggered by itself or from a cluster node), the Master node determines the target cluster node (denoted as ) based on the cluster node's load information (or the information carried in the partition request). ); and retrieve a resource node and its related information from the resource pool, assemble them into a partitioning instruction packet, and send it to The instruction packet must contain at least the target cluster node's ID, node ID, IP address and port information used for node communication, etc.
[0043] Step S3: The corresponding target cluster node dynamically generates the local position of the next assigned computing node in the target cluster using a dynamic matrix serpentine layout method, combined with its own resource layout and occupancy; specifically including the following steps:
[0044] Step S3.1: If this partitioning request is triggered by the Master node according to the load balancing strategy, the position of the new node is generated by the dynamic matrix serpentine layout method. The dynamic matrix serpentine layout method can ensure that the resource topology formed is close to a rectangle when the total number of resource nodes is unknown and the resource nodes are dynamically added, while keeping the positions of resource nodes that come online at adjacent times adjacent.
[0045] Dynamic matrix serpentine layout method, such as Figure 3 As shown, the process first determines whether the rotation direction and rotation need to be adjusted based on specific conditions. After adjustment, the next coordinate position is determined by the current coordinate position and the forward direction. Finally, it checks if the position has already been used; if so, the next position is regenerated. This layout method initially defines size = 0, pos = (0, 0), and direct = 0° (upward). It specifies rightward as the positive X-axis direction and downward as the positive Y-axis direction. Boundary values X = 0, Y = 0, X = size, and Y = size are defined. The current rectangle size (size), next position coordinates (pos(x,y)), and current forward direction (direct) are updated as follows:
[0046] 1) Imagine the path formed by the continuous pos as the movement path of a snake, where the current pos position is the snake's head position, and direct is the snake's forward direction; define flag = -1 to indicate counterclockwise rotation, and cnt = 0 to record the number of times the direction is adjusted;
[0047] 2) The pos pointer keeps pointing to the next position and moves one unit in the direct direction. If the movement would hit the boundary, the direction is adjusted before moving again.
[0048] 3) The snake only adjusts its direction when it hits the boundary, and each adjustment involves a 90° rotation. The flag determines the direction of rotation. After every 3 rotations, the flag is reversed, and the size is incremented by one. The formula is as follows:
[0049]
[0050] In this method, taking nine resource nodes (numbered 1 to 9) participating in the partitioning process sequentially as an example: During the partitioning process, nodes that need to adjust their direction due to colliding with the boundary are: 1, 2, 3, 4, 5, 7, and 9; among them, nodes 1, 4, and 9 require adjustment of their rotation direction. Specifically: the initial rotation direction is counterclockwise. When node 1 is partitioned, it is adjusted to clockwise, while nodes 2 and 3 remain clockwise; when node 4 is partitioned, it is readjusted to counterclockwise, while nodes 5 and 7 remain counterclockwise; when node 9 is partitioned, it is adjusted to clockwise again. The topology layout and direction adjustment process generated after the nine resource nodes are partitioned sequentially are as follows: Figure 4 As shown.
[0051] Step S3.2: If this partitioning request is triggered due to insufficient resources of the current cluster node, the location of the newly generated node will be prioritized to match the resource layout of the cluster node itself and the current neural network model deployment request.
[0052] like Figure 5 As shown, the current cluster nodes already have resource nodes 1, 2, 3, and 4. The neuron core resources on nodes 1, 2, and 4 are already occupied. The current neuron network model deployment request 'a' requires a rectangular neuron core space longer than one resource node. If the basic matrix serpentine layout generation scheme is followed, the newly added node 5 will be located below node 4, failing to meet the current neuron network model deployment request. The dynamic layout method considers the current neuron network model deployment request and, through dynamic adjustment, can maximize the fulfillment of the deployment request. Specifically, in this embodiment, the dynamic layout method places node 5 below node 3; simultaneously, it records the current position occupancy and skips this position when subsequent nodes are added, thus perfecting the rectangular topology layout of the resource nodes.
[0053] Step S4: Based on the location information generated in step S3, initialize the computing nodes and establish connections between adjacent computing nodes.
[0054] Step S4.1: After a resource node is assigned to a designated cluster node, an initialization operation needs to be performed on the newly added resource node before it becomes available. The initialization operation includes activating all cores on the resource node and resetting the neuron state registers on the resource node. The initialization operation is implemented by the cluster node sending specific hardware instructions to the resource node.
[0055] Step S4.2: After the resource nodes are initialized, the cluster node, based on the location information of the newly joined nodes generated in step S3 and the current resource topology of the cluster node, sends connection configuration commands to the relevant resource nodes through the internal local area network; the relevant resource nodes include the newly joined nodes and nodes adjacent to the newly joined nodes (e.g., Figure 4 When node 9 joins, nodes 2 and 8, which are adjacent to it, also need to be configured for connection. At the resource node level, this means modifying the resource node's local hardware registers. The cluster node is responsible for generating and issuing the correct configuration instructions, while the actual register modification is performed by the resource node.
[0056] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for dynamically partitioning neuron computing resource clusters of a brain-like operation system, applied to a brain-like computing hardware, characterized in that Comprising the following steps: Step S1: the master node receives the online message of the computing node, and completes the online operation of the computing node, and the computing node enters the resource pool; Step S2: the master node generates a division request according to the current resource occupation of each cluster node or the active application of the cluster node, and divides the computing nodes in the resource pool to the target cluster node according to the division request; The cluster node is a cluster formed by a plurality of computing nodes and a supporting software node, and each cluster node autonomously manages the brain-like computing nodes in the cluster in logical computing cores; Step S3: the target cluster node dynamically generates the local position of the next divided computing node in the target cluster node in combination with the resource layout and occupation of the target cluster node; Step S4: according to the local position, the initialization of the computing node is carried out, and the connection relationship between adjacent computing nodes is established.
2. The method of claim 1, wherein the method comprises: In the step S2, when the overall computing node usage rate exceeds the threshold value, the master node actively triggers the division operation, and divides the idle computing nodes in the resource pool to the target cluster node with the highest load in a load balancing manner; When the computing resources of the cluster node cannot meet the new resource allocation request, the cluster node actively requests the master node to divide the computing nodes as the target cluster node.
3. The method of claim 2, wherein the method further comprises: determining a number of neurons in each neuron cluster; and determining a number of neuron clusters in each neuron computing resource. The master node periodically monitors and collects the real-time computing node resource usage rate of each cluster node, and the resource usage rate includes but is not limited to brain-like computing hardware core usage rate, on-chip network communication bandwidth, direct memory access bandwidth usage rate, and cluster software node CPU usage rate.
4. The method of claim 2, wherein the method further comprises: In the step S3, if the division request is triggered by the master node according to the load balancing strategy, the position of the new computing node in the target cluster node is generated by a dynamic matrix snake-shaped layout method, based on the dynamic matrix snake-shaped layout method, the current rectangle size, the next position, the four forward directions of up, down, left and right are maintained and updated, and the direction is changed or the rectangle size is adjusted in a specific case, without limiting the total number of resource nodes, the node position is generated in sequence, the node topology is arranged into a shape close to a matrix, and the adjacent nodes entering in time are continuous in space.
5. The method of claim 4, wherein the method further comprises: In the step S3, the dynamic matrix snake-shaped layout method moves the next position to the forward direction by one unit length, adjusts the forward direction and then moves if the current movement will hit the boundary, and each time the direction is adjusted, it will only rotate 90°, and after three same direction rotations, the next time will rotate in the opposite direction, at the same time, the rectangle size is expanded by one unit.
6. The method of claim 2, wherein the method further comprises: In the step S3, if the division request is triggered due to insufficient resources of the current cluster node, the position of the new computing node in the target cluster node is preferentially considered to match the resource layout of the cluster node itself and the current neuron network model deployment request.
7. The method of claim 6, wherein the method further comprises: In the step S3, when the length of the current neuron network model deployment request exceeds the rectangle neuron core space of one computing node, the super-long computing node is set below the normally long computing node of the original deployment, at the same time, the position occupation condition is recorded, and when the subsequent computing node is joined, the position is skipped.
8. The method of claim 1, wherein the method further comprises: In the step S1, the master node maintains the resource pool of the online but uninitialized computing nodes, so that the node division of the computing nodes is on demand.
9. The method of claim 1, wherein the method further comprises: determining a number of neurons in each neuron cluster; and determining a number of neuron clusters in each neuron computing resource. In the step S4, the connection relationship between the computing nodes is dynamically configurable. The computing nodes obtain position information in the process of being divided, and determine and configure the connection relationship between the computing nodes, including the newly added computing nodes and the computing nodes adjacent to the newly added computing nodes, through the position information.
10. The method of claim 9, wherein the method further comprises: In the step S4, the initialization operation of the computing node includes but is not limited to activating all cores on the resource node, resetting the neuron state register on the resource node, and the initialization operation is implemented by sending a specific hardware instruction to the computing node by the cluster node; the connection configuration of the computing resource is performed by modifying the specific hardware register of the computing node, the cluster node generates and issues a correct connection configuration instruction, and the final register modification is completed by the computing node.
Citation Information
Patent Citations
Resource mapping method and device of neuron computer operating system
CN117688992A
Brain simulation network resource allocation method based on network structure and migration algorithm
CN118261240A
Dynamic access method in cross-domain collaborative scene
CN120547701A
Dynamic resource repositioning load balancing and location management system and method
US20150092557A1
Distributed training method and apparatus of deep learning model
WO2022033024A1