Computational networks and the methods used in computational networks
By partitioning the matrix in the computing network and applying antisymmetric functions and modular P operations, the communication bottleneck problem in determining the symmetry of large matrices is solved, achieving efficient matrix symmetry judgment and improving the performance of the computing network.
Patent Information
- Application Number
- CN202380104752.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-20
- Publication Date
- 2026-07-10
AI Technical Summary
Existing technologies, when determining whether a large matrix distributed across multiple computing devices is symmetric, suffer from excessive communication overhead due to the linear increase in communication volume with the matrix size. This limits the efficiency of high-performance computing and artificial intelligence applications.
By dividing a large matrix into partial matrices and applying antisymmetric functions on multiple nodes, the symmetry of the matrix is determined by summing the partial matrices using probabilistic algorithms and modular P operations, thereby reducing communication overhead.
It significantly reduces the amount of communication between multiple nodes, making the determination of the symmetry of large matrices more efficient, improving the scalability and utilization of computing networks, and making it suitable for high-performance computing and artificial intelligence applications.
Smart Images

Figure CN122374745A_ABST
Abstract
Description
Technical Field
[0001] This invention generally relates to the field of high-performance computing, and more specifically, to computing networks, orchestrator nodes in computing networks, nodes in computing networks, and methods for computing networks, orchestrator nodes in computing networks, and nodes in computing networks. Background Technology
[0002] Today, the complexity and scale of computing applications across diverse fields, from high-performance computing (HPC) to artificial intelligence (AI), are growing exponentially. The surge in demand for computing resources has led to a natural progression of distributing computing applications across multiple nodes or processors to efficiently handle intensive workloads. Computing applications (such as HPC or AI) encompass a wide range of arithmetic operations, including matrix operations. Matrix operations (e.g., solving large systems of linear equations) Linear solvers are heavily used in HPC and AI applications and dominate overall runtime. Various mathematical libraries (such as the Portable, Extensible Toolkit for Scientific Computations (PETSc)) include multiple linear solvers, where the performance of the solver is highly dependent on specific matrix properties. One of the key properties for accelerating the performance of linear solvers is matrix symmetry. However, identifying whether a large, distributed matrix is symmetric requires significant communication between nodes holding different parts of the matrix. The required communication scales linearly with the matrix size, introducing overhead that prevents HPC applications and linear solvers from attempting to classify whether a particular matrix is indeed symmetric, thus using general-purpose solvers that do not utilize matrix symmetry. Furthermore, while PETSc and other mathematical libraries already have efficient solvers for symmetric and structurally symmetric matrices, a computationally simple method is needed to determine whether a given matrix is symmetric in order to efficiently utilize these properties.
[0003] Currently, some attempts have been made (e.g., using deterministic algorithms) to determine the symmetry of a given matrix. Deterministic algorithms result in a linear increase in the required communication volume with the matrix size, which becomes a significant bottleneck in the case of large matrices. Therefore, there is a technical problem of how to efficiently determine the symmetry of large matrices distributed across many computing devices.
[0004] Therefore, based on the preceding discussion, it is necessary to overcome the aforementioned drawbacks associated with traditional methods for determining the symmetry of large matrices. Summary of the Invention
[0005] This invention provides a computing network, an orchestrator node in the computing network, nodes in the computing network, and a method for using the computing network, the orchestrator node in the computing network, and nodes in the computing network. This invention provides a solution to the existing problem of how to efficiently determine the symmetry of a large matrix distributed among many computing devices. The object of this invention is to provide a solution that at least partially overcomes the problems encountered in the prior art, and to provide an improved computing network, an improved orchestrator node in the computing network, improved nodes in the computing network, and an improved method for using the computing network, the orchestrator node in the computing network, and nodes in the computing network.
[0006] The object of this invention is achieved by the solutions provided in the appended independent claims. Advantageous implementations of the invention are further defined in the dependent claims.
[0007] In one aspect, the present invention provides a computing network including an orchestrator controller and a plurality of nodes, each node comprising: A node controller, wherein the computational network is used to execute a distributed application across multiple nodes, wherein an orchestrator controller is used to determine whether a matrix M is a symmetric matrix (SM), wherein the matrix M is divided into partial matrices, each of which resides on one of the multiple nodes, and thus the orchestrator controller is used to determine that the matrix M is an SM by causing each node controller to perform the following operations: applying an antisymmetric function f to the cells of its partial matrices, summing the application results of the antisymmetric function f to provide a sum of partial matrices, wherein the orchestrator controller is also used to: determine whether the sum of all partial matrix sums is zero, and if it is zero, determine that the matrix is a symmetric matrix, wherein each node controller is also used to summarize the application results of the antisymmetric function f by summing the results modulo a prime constant P, where P is a prime constant raised to the power of x.
[0008] The computational network demonstrates a significant reduction in the communication overhead between each of the multiple nodes required to determine the symmetry of a matrix. The communication overhead required in the computational network is proportional to the natural logarithm of the matrix size. This reduction in communication overhead improves the scalability and utilization of large matrices. By efficiently identifying the symmetry of matrices, the computational network is well-suited for HPC and AI applications by partitioning computation across multiple nodes while minimizing the communication overhead between each node. Furthermore, the computational network supports a balance between the predicted probabilities of the matrix and the communication overhead between each node. Additionally, less memory is required to store symmetric matrices (or structurally symmetric matrices).
[0009] In one implementation, each node controller is also used to determine the partial matrix and the result modulo P.
[0010] Using modulo P to summarize partial matrices can reduce communication volume.
[0011] In another implementation, each node controller is also used to apply the antisymmetric function f to the non-zero cells of its partial matrix.
[0012] Applying the antisymmetric function f to the non-zero elements of a partial matrix reduces computational and communication overhead in computational networks.
[0013] In another aspect, the present invention provides a method for computing networks. The method includes determining whether a matrix M is a symmetric matrix (SM), wherein the matrix M is divided into partial matrices, each partial matrix residing on one of a plurality of nodes. The method includes determining whether matrix M is an SM by: applying an antisymmetric function f to the cells of the partial matrices; summing the application results of the antisymmetric function f to provide a sum of the partial matrices; determining whether the sum of all partial matrix sums is zero; and if it is zero, determining that the matrix is a symmetric matrix. The method further includes: each node controller summing the application results of the antisymmetric function f by taking the modulo of the application results of the antisymmetric function f modulo a prime constant P, where P is a prime constant raised to the power of x.
[0014] This method achieves all the advantages and technical effects of the computing network of the present invention.
[0015] In another aspect, the present invention provides a method for computing orchestrator nodes in a network. The method includes determining whether a matrix M is a symmetric matrix (SM) through the following steps: receiving the matrix M; dividing the matrix into partial matrices at the nodes; receiving the sums of the partial matrices from the nodes; determining whether the sum of all the partial matrix sums is zero; and if it is zero, determining that the matrix is a symmetric matrix.
[0016] The disclosed method can efficiently determine the symmetry of a matrix, thereby supporting fast parallel computation in computational networks.
[0017] In another aspect, the present invention provides an orchestrator node in a computing network for determining whether a matrix M is a symmetric matrix (SM). The orchestrator node includes an orchestrator controller, which is configured to: receive the matrix M; divide the matrix into partial matrices at the node; receive the sums of the partial matrices from the nodes; determine whether the sum of all partial matrix sums is zero; if it is zero, then the matrix is determined to be a symmetric matrix. Each node controller is further configured to summarize the application results of the antisymmetric function f by taking the modulo of the application results of the antisymmetric function f with respect to a prime constant P, where P is a prime constant raised to the power of x.
[0018] After the method is executed, the orchestrator node implements all the advantages and technical effects of the method used for the orchestrator node.
[0019] In another aspect, the present invention provides a method for computing nodes in a network. The method includes: determining whether a matrix M is a symmetric matrix (SM) through the following steps: receiving a partial matrix, applying an antisymmetric function f to the elements of the partial matrix, and summing the application results of the antisymmetric function f to provide a partial matrix sum. The method further includes: summing the application results of the antisymmetric function f by taking the modulo of the application results of the antisymmetric function f with respect to a prime constant P, where P is a prime constant raised to the power of x.
[0020] This method is based on summarizing the results of applying the antisymmetric function f on the module P, which significantly reduces the amount of communication and can efficiently determine the symmetry of the matrix.
[0021] In another aspect, the present invention provides a node in a computing network for determining whether a matrix M is a symmetric matrix (SM). The node includes a node controller, which is configured to: receive a partial matrix, apply an antisymmetric function f to the elements of the partial matrix, and summarize the application results of the antisymmetric function f to provide a partial matrix sum. The node controller is further configured to: summarize the application results of the antisymmetric function f by taking the modulo of the application results of the antisymmetric function f with respect to a prime constant P, where P is a prime constant raised to the power of x.
[0022] After the method is executed, the node achieves all the advantages and technical effects of the method used to compute nodes in the network.
[0023] It should be understood that all of the above implementation methods can be combined.
[0024] It should be noted that all devices, elements, circuits, units, and components described in this application can be implemented in software or hardware elements or any combination thereof. All steps performed by the various entities described in this application, and the functions to be performed by the various entities described, are intended to refer to the respective entities performing the respective steps and functions. Although the specific functions or steps performed by external entities are not reflected in the detailed description of the specific elements of the entities performing the specific steps or functions in the following detailed description of specific embodiments, those skilled in the art will understand that these methods and functions can be implemented by corresponding software or hardware elements or any combination thereof. It should be understood that the features of the invention are readily combined in various combinations without departing from the scope of the invention as defined by the appended claims.
[0025] Additional aspects, advantages, features and objects of the invention will become apparent from the accompanying drawings and the detailed description of illustrative implementations as explained in conjunction with the following appended claims. Attached Figure Description
[0026] The above-described invention and the following detailed description of illustrative embodiments can be better understood when read in conjunction with the accompanying drawings. Exemplary structures of the invention are shown in the drawings to illustrate the invention. However, the invention is not limited to the specific methods and tools disclosed herein. Furthermore, those skilled in the art will understand that the drawings are not drawn to scale. Where possible, the same elements are represented by the same numbers.
[0027] The following figures are provided as examples only, in which: Figure 1 This is a network environment diagram of a computing network including an orchestrator controller and multiple nodes according to an embodiment of the present invention; Figure 2 This is a flowchart of a method for computing a network according to an embodiment of the present invention; Figure 3 This is a flowchart of a method for calculating orchestrator nodes in a network according to an embodiment of the present invention; Figure 4 This is a block diagram of various exemplary components of an orchestrator node according to embodiments of the present invention; Figure 5 This is a flowchart of a method for calculating nodes in a network according to an embodiment of the present invention; Figure 6 This is a block diagram of various exemplary components of a node according to embodiments of the present invention; Figure 7 This is a graphical representation of the probabilities of true negative classifications of various matrix sizes according to embodiments of the present invention.
[0028] In the accompanying diagrams, underlined numbers indicate the item in which the underlined number appears or the item adjacent to the underlined number. Ununderlined numbers relate to the item identified by the line that associates the ununderlined number with the item. When a number is ununderlined and has an associated arrow, the ununderlined number is used to identify the general item that the arrow points to. Detailed Implementation
[0029] The following detailed description illustrates embodiments of the present invention and ways in which these embodiments can be implemented. While some modes of implementing the invention have been disclosed, those skilled in the art will recognize that other embodiments for implementing or practicing the invention may also exist.
[0030] Figure 1This is a network environment diagram of a computing network including an orchestrator controller and multiple nodes according to an embodiment of the present invention. (Reference) Figure 1 A computing network 100 is shown, comprising an orchestrator controller 102 and a plurality of nodes 104 (e.g., first node 104A, second node 104B, up to Nth node 104N). Each of the plurality of nodes 104 includes a node controller; for example, first node 104A includes a first node controller 106A, second node 104B includes a second node controller 106B, and Nth node 104N includes an Nth node controller 106N. Furthermore, the orchestrator controller 102 and each of the plurality of nodes 104 are connected via a communication network 108.
[0031] The computing network 100 can be used to execute distributed applications across multiple nodes 104. The computing network 100 may include hundreds or thousands of nodes connected to the orchestrator controller 102 via a communication network 108. The computing network 100 may also be referred to as a distributed architecture.
[0032] The orchestrator controller 102 may include appropriate logic, circuitry, interfaces, and / or code for determining whether matrix M is a symmetric matrix (SM). In one implementation, the orchestrator controller 102 may be referred to as a master controller. In another implementation, the orchestrator controller 102 may be referred to as a server. Examples of the orchestrator controller 102 may include, but are not limited to, cloud servers, web servers, application servers, storage servers, or combinations thereof. Furthermore, the orchestrator controller 102 may be a single hardware server or multiple hardware servers operating in a parallel or distributed architecture to determine the symmetry of matrix M. In one implementation, the orchestrator controller 102 may be included in an orchestrator node, such as in... Figure 4 As described in detail in the document. For AI applications, the orchestrator controller 102 may include AI models for executing various machine learning (ML) algorithms, such as supervised ML algorithms, unsupervised ML algorithms, deep learning (DL) algorithms, artificial neural network (ANN) algorithms, etc.
[0033] Each of the multiple nodes 104 may include suitable logic, circuitry, interfaces, and / or code for processing a subset of matrix M. Examples of each node in the multiple nodes 104 may include, but are not limited to, computing devices in a computer cluster (e.g., a massively parallel computer cluster), communication devices (including portable or non-portable electronic devices), etc.
[0034] Each of the multiple nodes 104 includes a node controller (e.g., 106A, 106B, up to 106N). Examples of node controllers may include, but are not limited to, processors, integrated circuits, coprocessors, microprocessors, microcontrollers, complex instruction set computing (CISC) processors, application-specific integrated circuit (ASIC) processors, reduced instruction set (RISC) processors, very long instruction word (VLIW) processors, central processing units (CPUs), data processing units, and other processors or circuits. Furthermore, a node controller can refer to one or more separate processors, processing devices, or processing units as part of a machine.
[0035] The communication network 108 may include appropriate logic, circuitry, interfaces, and / or code for connecting the orchestrator controller 102 to each of the multiple nodes 104. Examples of the communication network 108 may include, but are not limited to, cellular networks (e.g., 5G or 5G NR networks, such as sub6GHz, cmWave, or mmWave communication networks), wireless sensor networks (WSN), cloud networks, local area networks (LANs), vehicle-to-network (V2N) networks, metropolitan area networks (MANs), and / or the Internet.
[0036] In operation, the computational network 100 is used to execute a distributed application across multiple nodes 104, wherein an orchestrator controller 102 is used to determine whether a matrix M is a symmetric matrix (SM). The matrix (M) is partitioned into partial matrices, each of which resides on one of the multiple nodes 104. For the execution of the distributed application, the computational network 100 uses a probabilistic algorithm that significantly reduces the inter-node communication required to determine the symmetry of matrix M. Matrix M is a large matrix distributed across multiple nodes 104 (e.g., computers or computing devices) in the computational network 100. For parallel computation, matrix M is distributed across the multiple nodes 104 as partial matrices, where a partial matrix is stored on one of the multiple nodes 104. A partial matrix can also be referred to as a subset of matrix M. For example, matrix M can be represented as A, and each partial matrix (or subset of matrix M) can be represented as A0. loc Matrix M can also be called a symmetric matrix (SM).
[0037] in, Represents the i-th row of matrix A. This represents the j-th column of matrix A.
[0038] The orchestrator controller 102 is used to determine that matrix M is SM by having each node controller apply an antisymmetric function f to the cells of its respective partial matrix and summing the results of the application of the antisymmetric function f, thereby providing a partial matrix sum. The orchestrator controller 102 causes each node controller in the plurality of nodes 104 to apply the antisymmetric function f to each cell of its corresponding partial matrix. After applying the antisymmetric function f to each cell of the corresponding partial matrix, each node controller is also used to sum the results of the application of the antisymmetric function and provide a partial matrix sum.
[0039] According to the embodiment, an antisymmetric function is selected such that f(i,j) = –f(j,i). For each i and j, where i and j represent the row and column of matrix A, respectively, if f(i,j) = –f(j,i), then the antisymmetric function f is considered to be antisymmetric.
[0040] According to an embodiment, each node controller is also configured to apply an antisymmetric function f to the non-zero cells of its partial matrix. Applying the antisymmetric function f to the non-zero cells of the corresponding partial matrix reduces the computational and communication overhead in the computational network 100.
[0041] According to the embodiment, an antisymmetric function is selected such that it has a unique sum V. ( > , _ > _ ) ( , )=∑ ( , n k → =1 and ( , )=( 1, n1).
[0042] Choose an antisymmetric function f such that its application on each partial matrix provides a unique sum. Other functions can be used instead of f, as long as they are antisymmetric and have a unique sum.
[0043] In the implementation, when the antisymmetric function f is applied to a partial matrix (i.e., A), loc For each unit of ), the mathematical notation can be: Given Mapping function (in, (i) will meet the following requirements: It is antisymmetric, that is, (ii) Every part of it is unique, making ,in, It is any positive integer representing the row and column, and .
[0044] According to the embodiment, an antisymmetric function is selected such that... ,in: It is the only 2D 1D mapping enables Where f places all r bits of V through 2^(r The unique bit offset determined by ind(i,j) satisfies the uniqueness and property. In one implementation, a partial matrix (i.e., Each value of ) (i.e., V) can be represented using r bits, and an antisymmetric function f can be chosen such that ,in, It is the only 2D 1D mapping enables As shown below:
[0045] The aforementioned antisymmetric function f places all r bits of V through 2^(r The unique bit offset determined by ind(i,j) satisfies the uniqueness and property. Furthermore, This ensures that the function f satisfies antisymmetry.
[0046] According to the embodiment, an antisymmetric function is chosen such that r = 1. To determine that matrix M is structurally symmetric, it is sufficient to use a single bit representation (i.e., r = 1) for each V to indicate that its value is zero (0). However, in any other case, r can have different values. For example, if all matrix values of matrix (i.e., A) are integer values, this means 4 bytes are needed, equivalent to 32 bits, and therefore the value of r would be 32.
[0047] According to the embodiment, an antisymmetric function is selected such that... |f(i,j)|≤2^(r matrixSize–1) and ∑|f(i,j)|≤2^(r Choose an antisymmetric function f such that f has the following properties: |f(i,j)|≤2^(r matrixSize–1) and ∑|f(i,j)|≤2^(r (matrixSize). Equation |f(i,j)|≤2^(r) `matrixSize–1` relates to the absolute value of the function f(i,j). Furthermore, the equation states that the absolute value of the function at position (i,j) in the matrix (i.e., A) must be less than or equal to 2^(r). Let r be a constant and matrixSize be the size of the matrix (i.e., A). The equation ∑|f(i,j)|≤2^(r) is given by: `matrixSize` relates to the sum of the absolute values of functions at all positions (i,j) in a matrix (i.e., A). The equation states that the sum of the absolute values of functions of all elements in the matrix must be less than or equal to 2^(r). (matrixSize). Equation |f(i,j)|≤2^(r) matrixSize–1 sets an upper bound on the size of a single element of the matrix (i.e., A), while the equation ∑|f(i,j)|≤2^(r) `matrixSize` sets an upper bound on the sum of the sizes of all elements in the matrix (i.e., A). The parameter `r` affects the scale of these boundaries. However, the antisymmetric function `f` is not limited to the above boundaries and can have different boundary values depending on the implementation scenario.
[0048] The orchestrator controller 102 is also used to determine whether the sum of all partial matrix sums is zero. If it is zero, the matrix is determined to be a symmetric matrix. Each node controller is further used to summarize the application results of the antisymmetric function f by taking the modulo of the result of the application of the antisymmetric function f with respect to a prime constant P, where P is a power of the prime constant x. The orchestrator controller 102 is also used to determine that the sum of all partial matrix sums received from each of the plurality of nodes 104 is zero, and if the sum is determined to be zero, the matrix M is determined to be a symmetric matrix (SM). To compute the partial matrix sum at each node, each node controller is used to summarize the application results of the antisymmetric function f by taking the modulo of the result of the application of the symmetric function f with respect to P, where P is promoted to a power of the constant x, where x = 1, 2, ..., n. P is a power of a prime number. Typically, a prime number is defined as a natural number that is divisible only by 1 and itself. According to the typical prime number theorem, for a given number n, there are approximately n / (log(n)) prime numbers in the range 1...n. The fundamental theorem of arithmetic states that every integer greater than 1 can be written as a product of one or more prime numbers (also known as prime factorization), for example: 34866 = 2 × 3^2 × 13 × 149. Such a product is unique, meaning that every number has exactly one prime factorization. Furthermore, Prime Number Lemma Define if yes The prime factors in the factorization of , then (Right now, Productable Divisible by (divisible).
[0049] According to an embodiment, each node controller is also used to determine the partial matrix sum, which is also modulo P. Each node controller is used to summarize the application results of the antisymmetric function f using the modulo P. For example, the partial matrix sum of each of the plurality of nodes 104 can be represented as G. loc , Where P is a power of a prime number. The modulo operation reduces the representation of partial matrix sums (i.e., The number of bits required. However, the modulo operation introduces a probability of error when classifying an asymmetric matrix as a symmetric matrix (i.e., a true negative). The probability of error can be controlled by the choice of the constant x. The unique sum property of the antisymmetric function f provides an upper bound on the probability of true negative classification, regardless of the specific matrix value.
[0050] According to an embodiment, the prime constant P is chosen to be less than a power of 2 with the number of bits being the number required to store the partial matrix sums. The prime constant P is chosen such that P < 2 x , where x is the number of bits chosen to store and transmit the partial matrix sum for each node.
[0051] To determine the sum of all the partial matrix sums received from each of the plurality of nodes 104, the orchestrator controller 102 is used to apply a global reduction operation on all the partial matrix sums (which can be represented as ), , where, represents the set of nodes (i.e., the plurality of nodes 104) storing the respective parts of the matrix (i.e., A). The global reduction operation requires at most log(P) bits of communication from each node and represents –P < < P. Further, the orchestrator controller 102 is used to check if the sum of all the partial matrix sums is zero (i.e., = 0) to determine the matrix (i.e., A) as a symmetric matrix. The anti-symmetry of the function f ensures that for any symmetric matrix, the sum of all the partial sums is zero (i.e., = 0).
[0052] For example, given a matrix A that is partitioned into four partial matrices (i.e., , , and ), each node controller is assigned a partial matrix.
[0053]
[0054] The orchestrator controller 102 is used to determine if the matrix A is a symmetric matrix (or structurally symmetric matrix). To simplify the process, the matrix A is converted into a binary matrix where 1 represents a non-zero entry of the matrix A and 0 represents a zero entry of the matrix A.
[0055]
[0056] The orchestrator controller 102 causes each node controller to apply the anti-symmetric function f on the cells of the partial matrix and calculate the partial matrix sum. The anti-symmetric function f is applied to the non-zero cells of the partial matrix. [[ID=4
[0061]
[0062] In this example, it is necessary to Bits are used to store and transmit the partial matrix sum for each node. Furthermore, all numbers in this example are very small, so there is no modulo P. In another example, if the value of the partial matrix sum is very large, a prime number P is randomly chosen.
[0063] Therefore, computational network 100 shows a significant reduction in the amount of communication between each of the multiple nodes 104 required to determine the symmetry of matrix (i.e., A). The amount of communication required in computational network 100 is proportional to the natural logarithm of the matrix size. For example, if matrix (i.e., A) has n elements, the required communication is O(log n), which is achieved by using modulo P during the computation of the sum of all partial matrix sums. Modulo P < 2. x Here, x is the number of bits chosen for storing and transmitting partial matrix sums. Reduced communication improves the scalability and utilization of large matrices. By efficiently identifying the symmetry of the matrix (i.e., A), the computation network 100 is suitable for HPC and AI applications by partitioning computation across multiple nodes 104 while minimizing communication overhead between each of the multiple nodes 104. Furthermore, the computation network 100 supports a balance between the predicted probability of the matrix (i.e., A) and the communication overhead between each of the multiple nodes 104. Additionally, less memory is required to store the symmetric matrix (or structurally symmetric matrix, i.e., A). The use of the symmetric matrix enables fast computation of partial matrices at each of the multiple nodes 104.
[0064] Figure 2 This is a flowchart of a method for computing a network according to an embodiment of the present invention. Figure 1 Component description Figure 2 . refer to Figure 2 The diagram illustrates method 200, which includes steps 202 to 208. Method 200 comprises an orchestrator controller 102 and ( Figure 1 The node controller of each of the multiple nodes 104 in the computing network 100 is executed.
[0065] Provided for ( Figure 1Method 200 for computing network 100. Method 200 is based on a probabilistic algorithm to determine whether a matrix is symmetric. The use of a probabilistic algorithm results in a logarithmic increase in communication traffic with the matrix size, while introducing negligible changes in true negative classification, which distinguishes probabilistic algorithms from typical deterministic algorithms. Using typical deterministic algorithms leads to a linear increase in communication traffic with the matrix size, thus introducing considerable communication overhead. The introduction of significant communication overhead is a bottleneck in determining the symmetry of large matrices, hindering the use of deterministic algorithms. Therefore, probabilistic algorithms are superior to deterministic algorithms.
[0066] In step 202, method 200 includes determining whether matrix M is a symmetric matrix (SM), wherein matrix M is divided into partial matrices, each partial matrix residing on one of a plurality of nodes. Matrix M is a large matrix distributed across a plurality of computing devices or nodes (i.e., a plurality of nodes 104) in computing network 100. Matrix M is divided into partial matrices, each partial matrix being stored on each of the plurality of nodes 104 in computing network 100.
[0067] In step 204, method 200 further includes determining whether matrix M is a symmetric matrix (SM) by applying an antisymmetric function f to the cells of the partial matrix. To determine whether matrix M is a symmetric matrix (SM), the antisymmetric function f is applied to all cells of each partial matrix stored in each of the plurality of nodes 104.
[0068] In step 206, method 200 further includes summing the application results of the antisymmetric function f to provide a partial matrix sum. After applying the antisymmetric function f to all elements of each partial matrix, the application results of the antisymmetric function f are summarized to obtain a partial matrix sum for each of the multiple nodes 104. Details have been provided, for example, in... Figure 1 Provided by China.
[0069] In step 208, method 200 further includes determining whether the sum of all partial matrix sums is zero. If it is zero, the matrix is determined to be a symmetric matrix. Method 200 further includes: each node controller summing the application results of the antisymmetric function f by taking the modulo of the application results of the antisymmetric function f with respect to a prime constant P, where P is a prime constant raised to the power of x. Furthermore, determining that the sum of all partial matrix sums is zero, and if it is zero, the matrix is determined to be a symmetric matrix. This is achieved by summing the application results of the antisymmetric function f by taking the modulo of the application results of the antisymmetric function f with respect to a prime constant P, where P is a prime constant raised to the power of x, as in... Figure 1 As described in detail in [the text].
[0070] Steps 202 to 208 are merely illustrative, and other alternatives may be provided, in which one or more steps are added, one or more steps are deleted, or one or more steps are provided in a different order, without departing from the scope of the claims herein.
[0071] In one aspect, the present invention provides a computer program product comprising program instructions for use in a computing network (e.g., Figure 1 When one or more processors (e.g., orchestrator controller 102 and each of the plurality of nodes 104) in the computing network 100 execute, method 200 is performed. In another aspect, the invention provides a computer-readable storage medium including instructions that, when executed by a computer, cause the computer to perform method 200 for computing network 100.
[0072] Figure 3 This is a flowchart of a method for calculating orchestrator nodes in a network according to an embodiment of the present invention. Figure 1 and Figure 2 Component description Figure 3 . refer to Figure 3 The method 300, which includes steps 302 to 308, is shown.
[0073] A method 300 is provided for an orchestrator node in a computational network (e.g., computational network 100).
[0074] In step 302, method 300 includes determining whether matrix M is a symmetric matrix (SM) by receiving matrix M.
[0075] In step 304, method 300 further includes partitioning the matrix into partial matrices at the nodes. The matrix is divided into multiple subsets, called partial matrices, and each partial matrix is distributed across these nodes (i.e., Figure 1 At each of the multiple nodes (104), each partial matrix is then processed at each node, for example, by applying an antisymmetric function f to all elements of each partial matrix, and summing the results of applying the antisymmetric function f to obtain the partial matrix sum for each node.
[0076] In step 306, method 300 further includes receiving a partial matrix from the node portion. For example, in ( Figure 1 The orchestrator controller 102 receives the partial matrix calculated at each node.
[0077] In step 308, method 300 further includes determining whether the sum of all partial matrix sums is zero; if it is zero, the matrix is determined to be a symmetric matrix. After receiving the partial matrix sums from each node, the sum of all partial matrix sums is calculated, and the sum is checked for zero. If the sum is zero, the matrix is determined to be a symmetric matrix. When used in HPC or AI applications, symmetric matrices help to perform computations in an efficient manner.
[0078] Steps 302 to 308 are merely illustrative, and other alternatives may be provided, wherein one or more steps are added, one or more steps are deleted, or one or more steps are provided in a different order, without departing from the scope of the claims herein.
[0079] In one aspect, the present invention provides a computer program product comprising program instructions for use in a computing network (e.g., Figure 1 When one or more processors (e.g., orchestrator controller 102) in the computing network 100 execute method 300, the method is performed. In another aspect, the present invention provides a computer-readable storage medium including instructions that, when executed by a computer, cause the computer to perform method 300 for orchestrator controller 102 of computing network 100.
[0080] Figure 4 This is a block diagram of various exemplary components of an orchestrator node according to embodiments of the present invention. Figure 1 , Figure 2 and Figure 3 Component description Figure 4 . refer to Figure 4 The diagram illustrates an orchestrator node 402 including an orchestrator controller 404, a memory 406, and a network interface 408. The orchestrator node 402, including the orchestrator controller 404, is used to perform… Figure 3 Method 300.
[0081] The orchestrator node 402 may include appropriate logic, circuitry, interfaces, and / or code for determining whether matrix M is a symmetric matrix (SM). The orchestrator node 402 can be used to compute networks, for example... Figure 1 The computing network 100. The orchestrator node 402 can also be referred to as the master node including the orchestrator controller 404.
[0082] The programmable controller 404 corresponds to Figure 1 The programmable controller 102.
[0083] Memory 406 may include appropriate logic, circuitry, interfaces, and / or code for storing machine code and / or instructions executable by orchestrator controller 404. Examples of implementations of memory 406 may include, but are not limited to, electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), read-only memory (ROM), hard disk drive (HDD), flash memory, secure digital (SD) cards, solid-state drives (SSDs), computer-readable storage media, and / or CPU cache memory. Memory 406 may store an operating system and / or computer program product to run orchestrator node 402. Computer-readable storage media used to provide non-transitory memory may include, but are not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof.
[0084] Network interface 408 may include appropriate logic, circuitry, interfaces, or code that are communicatively coupled to memory 406 and orchestrator controller 404. Examples of network interface 408 include, but are not limited to, data terminals, transceivers, fax machines, etc.
[0085] In operation, the arranger node 402, including the arranger controller 404, is used to: receive a matrix M, divide the matrix into partial matrices on the node, receive the sum of the partial matrices from the nodes, determine whether the sum of all partial matrix sums is zero, and if it is zero, determine that the matrix is a symmetric matrix. Each node controller is also used to summarize the application results of the antisymmetric function f modulo a prime constant P, where P is a prime constant raised to the power of x. The arranger node 402 is used to receive a matrix M, which is distributed as partial matrices across multiple nodes (e.g., ...). Figure 1The partial matrix is stored on one of the multiple nodes (104). Each node includes a node controller, which processes the partial matrix by applying an antisymmetric function f to all cells of the corresponding partial matrix, and then sums the results of applying the antisymmetric function f to generate the partial matrix sum for each node. An orchestrator node 402 is used to receive the partial matrix sum from each node, calculate the sum of all partial matrix sums, and further check whether the sum is zero. If the sum is determined to be zero, the orchestrator node 402 is used to determine that the matrix is a symmetric matrix. The antisymmetric function f, and the sum of the results of applying the antisymmetric function f modulo a prime constant P (P is a prime constant raised to the power of x), are used to generate the partial matrix sum for each node. Figure 1 The details have already been described in detail.
[0086] Figure 5 This is a flowchart of a method for calculating nodes in a network according to an embodiment of the present invention. Figure 1 , Figure 2 , Figure 3 and Figure 4 Component description Figure 5 . refer to Figure 5 The diagram illustrates method 500, which includes steps 502 to 508. Method 500 is composed of ( Figure 1 Each of the multiple nodes 104 in the computing network 100 performs the operation.
[0087] Provides computing networks (e.g., Figure 1 Method 500 for computing a network 100 (e.g., each of multiple nodes 104) of nodes.
[0088] In step 502, method 500 includes determining whether matrix M is a symmetric matrix (SM) by receiving partial matrices. To determine that matrix M is a symmetric matrix (SM), matrix M is divided into multiple partial matrices.
[0089] In step 504, method 500 further includes applying an antisymmetric function f to the cells of the partial matrices. The antisymmetric function f is applied to each of these partial matrices and to all cells of the partial matrices.
[0090] In step 506, method 500 further includes summing the results of applying the antisymmetric function f to provide a partial matrix sum. Summarizing the results of applying the antisymmetric function f yields a partial matrix sum.
[0091] In step 508, method 500 further includes summarizing the application results of the antisymmetric function f by taking the modulo of the prime constant P and summing them up, where P is a prime constant raised to the power of x.
[0092] Steps 502 to 508 are merely illustrative, and other alternatives may be provided, wherein one or more steps are added, one or more steps are deleted, or one or more steps are provided in a different order, without departing from the scope of the claims herein.
[0093] In one aspect, the present invention provides a computer program product comprising program instructions for use in a computing network (e.g., Figure 1 When one or more processors (e.g., each of the plurality of nodes 104) in a computing network 100 execute method 500, the method is performed. In another aspect, the invention provides a computer-readable storage medium including instructions that, when executed by a computer, cause the computer to perform method 500 for each of the plurality of nodes 104 in the computing network 100.
[0094] Figure 6 This is a block diagram of various exemplary components of a node according to embodiments of the present invention. (In conjunction with...) Figure 1 , Figure 2 , Figure 3 , Figure 4 and Figure 5 Component description Figure 6 . refer to Figure 6 The diagram illustrates a node 602 including a node controller 604, a memory 606, and a network interface 608. The node 602, including the node controller 604, is used to perform... Figure 5 Method 500.
[0095] Node 602 may include appropriate logic, circuitry, interfaces, and / or code for determining whether matrix M is a symmetric matrix (SM). Node 602 corresponds to... Figure 1 Each of the plurality of nodes 104 in the computing network 100. Similarly, a node controller 604 corresponds to the node controller included in each of the plurality of nodes 104.
[0096] Memory 606 may include appropriate logic, circuitry, interfaces, and / or code for storing machine code and / or instructions executable by node controller 604. An example of an implementation of memory 606 is similar to (…). Figure 4 Example of how the memory 406 is implemented.
[0097] Network interface 608 may include appropriate logic, circuitry, interfaces, or code communicatively coupled to memory 606 and node controller 604. An example of network interface 608 is similar to (…). Figure 4 Example of network interface 408.
[0098] In operation, node 602, including node controller 604, is used to: receive a partial matrix, apply the antisymmetric function f to the cells of the partial matrix, and summarize the application results of the antisymmetric function f to provide a partial matrix sum. Node controller 604 is also used to: summarize the application results of the antisymmetric function f by taking the modulo of the application results of the antisymmetric function f with respect to a prime constant P, where P is a prime constant raised to the power of x. Node 602, including node controller 604, is used to receive a partial matrix (i.e., a subset of matrix M), then apply the antisymmetric function f to all cells of the partial matrix, and summarize the application results of the antisymmetric function f to calculate the partial matrix sum. The summation of the application results of the antisymmetric function f is achieved using the modulo prime constant P and the application results of the antisymmetric function f (where P is a prime constant raised to the power of x).
[0099] Figure 7 This is a graphical representation of the probabilities of true negative classifications of various matrix sizes, according to embodiments of the present invention. Combined with... Figure 1 , Figure 2 , Figure 3 , Figure 4 , Figure 5 and Figure 6 Component description Figure 7 . refer to Figure 7 The figure shows a graphical representation of the probabilities of true negative classifications for various matrix sizes, 700, assuming each variable V requires... Bit representation.
[0100] In graphical representation 700, the X-axis 702 represents bits, and the Y-axis 704 represents the true negative probability expressed on a logarithmic scale. In graphical representation 700, it can be observed that the number of bits x that need to be passed to ensure the negligible probability of a true negative classification is significantly lower compared to typical deterministic algorithms where communication between multiple nodes is proportional to the matrix size.
[0101] Modifications to the embodiments of the invention described above may be made without departing from the scope of the invention as defined by the appended claims. The terms “comprising,” “including,” “having,” “is,” and other expressions used to describe and claim the invention are intended to be interpreted in a non-exclusive manner, supporting the presence of items, components, or elements not explicitly described. Singular references should also be interpreted as relating to the plural. The word “exemplary” as used herein means “as an example, instance, or illustration.” Any embodiment described as “exemplary” is not necessarily to be construed as more preferred or advantageous than other embodiments, and / or as excluding combinations of features from other embodiments. The word “optionally” as used herein means “provided in some embodiments and not in others.” It should be understood that certain features of the invention described in the context of a single embodiment for clarity may also be provided in combination in a single embodiment. Conversely, various features of the invention described in the context of a single embodiment for clarity may also be provided individually or in any suitable combination or as embodiments of any other described aspect of the invention.
Claims
1. A computing network (100), characterized in that, The computational network (100) includes an orchestrator controller (102) and multiple nodes (104), each node including a node controller. The network executes a distributed application across the multiple nodes (104). The orchestrator controller (102) determines whether matrix M is a symmetric matrix (SM). The matrix is divided into partial matrices, each partial matrix located on one of the plurality of nodes (104), thereby the orchestrator controller (102) determines that the matrix M is the SM by causing each node controller to perform the following operations: Applying the antisymmetric function f to the elements of a portion of its matrix, and Summarizing the application results of the antisymmetric function f, thereby providing a partial matrix sum, the arranger controller (102) is further used for: Determine whether the sum of all partial matrices is zero. If it is zero, then determine that the matrix is the symmetric matrix. Each node controller is also used to summarize the application results of the antisymmetric function f by taking the modulo of the application results of the antisymmetric function f with respect to a prime constant P, where P is a prime constant raised to the power of x.
2. The computing network (100) according to claim 1, characterized in that, Choose the antisymmetric function such that f(i,j)=–f(j,i).
3. The computing network (100) according to claim 2, characterized in that, The antisymmetric function is chosen such that it has uniqueness and V ( > , _ > _ ) ( , )=∑ ( , n k → =1 and ( , )=( 1, n1).
4. The computing network (100) according to claim 3, characterized in that, Choose the antisymmetric function such that: ,in: It is the only 2D 1D mapping enables Where f places all r bits of V through 2^(r The unique bit offset determined by ind(i,j) satisfies the uniqueness and property.
5. The computing network (100) according to claim 4, characterized in that, Choose the antisymmetric function such that r=1.
6. The computing network (100) according to claim 4 or 5, characterized in that, Choose the antisymmetric function such that: |f(I,j)| ≤ 2^(r matrixSize – 1) and ∑|f(i,j)|≤2^(r matrixSize)。 7. The computing network (100) according to any one of the preceding claims, characterized in that, Each node controller is also used to determine the partial matrix and the result modulo P.
8. The computing network (100) according to claim 7, characterized in that, The prime constant P is chosen to be a power of the number of bits less than 2, where the number of bits is required to store the partial matrix.
9. The computing network (100) according to any one of the preceding claims, characterized in that, Each node controller is also used to apply the antisymmetric function f to the non-zero cells of its partial matrix.
10. A method (200) for computing a network (100), characterized in that, The method (200) includes determining whether matrix M is a symmetric matrix (SM), wherein the matrix M The matrix is divided into partial matrices, each partial matrix residing on one of a plurality of nodes (104), wherein the method (200) includes determining whether the matrix M is SM by the following operation: Apply the antisymmetric function f to the elements of the partial matrix. Summarizing the results of applying the antisymmetric function f, we can provide partial matrix sums, and Determine if the sum of all partial matrices is zero; if it is zero, then... The matrix is determined to be a symmetric matrix, wherein the method (200) further includes: each node controller: summarizing the application results of the antisymmetric function f by taking the modulo of the application results of the antisymmetric function f with respect to a prime constant P, where P is a prime constant raised to the power of x.
11. A method (300) for computing orchestrator nodes (402) in a network (100), characterized in that, The method (300) includes determining whether matrix M is a symmetric matrix (SM) by the following steps: Receive the matrix M, The matrix is divided into partial matrices at the nodes. Receive a partial matrix sum from the node, and Determine if the sum of all partial matrices is zero; if it is zero, then... The matrix is determined to be a symmetric matrix.
12. An orchestrator node (402) in a computing network (100), characterized in that, For determining whether matrix M is a symmetric matrix (SM), the arranger node (402) includes an arranger controller (404), which is used for: Receive the matrix M, The matrix is divided into partial matrices at the nodes. Receive a partial matrix sum from the node. Determine if the sum of all partial matrices is zero; if it is zero, then... The matrix is determined to be a symmetric matrix, wherein each node controller is further configured to: summarize the application results of the antisymmetric function f by summing the results modulo a prime constant P, where P is a prime constant raised to the power of x.
13. A method (500) for calculating nodes (602) in a network (100), characterized in that, The method (500) includes determining whether matrix M is a symmetric matrix (SM) by the following steps: Receive partial matrix, Apply the antisymmetric function f to the elements of the partial matrix. The method (500) further includes summarizing the application results of the antisymmetric function f by taking the modulo of the application results of the antisymmetric function f with respect to a prime constant P, where P is a prime constant raised to the power of x.
14. A computer program product, characterized in that, Includes program instructions for performing the method (100; 300; 500) according to any one of claims 10, 11 or 13 when executed by one or more processors in the computing network (100).
15. A node (602) in a computing network (100), characterized in that, For determining whether matrix M is a symmetric matrix (SM), the node (602) includes a node controller (604), the node controller being used for: Receive partial matrix, Apply the antisymmetric function f to the elements of the partial matrix. The application results of the antisymmetric function f are summarized to provide a partial matrix sum, wherein the node controller (604) is further configured to: summarize the application results of the antisymmetric function f by taking the modulo of the application results of the antisymmetric function f with respect to a prime constant P, where P is a prime constant raised to the power of x.