← Back to Patent Explorer
US5587922A Expired / Lapsed US ⏱️ 0.0 years remaining

Multidimensional spectral load balancing

Assignee: National Technology and Engineering Solutions of Sandia LLC
•
Filing: 1996-07-15
•
Granted: 1996-12-24
•
Expires: 2016-07-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of and apparatus for graph partitioning involving the use of a plurality of eigenvectors of the Laplacian matrix of the graph of the problem for which load balancing is desired. The invention is particularly useful for optimizing parallel computer processing of a problem and for minimizing total pathway lengths of integrated circuits in the design stage.

Inventors

  • 👤 Bruce A. Hendrickson
  • 👤 Robert W. Leland

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 13:52
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/10; G06F30/18; G06F18/00; G06F18/20; G06F18/23; G06F18/232; G06F18/2323; G06F30/30; G06F30/39; G06F30/392

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 171 words
A parallel computational system optimized to solve a given problem, comprising: a) a plurality of computational units; b) data links connecting pairs of said computational units, said datalinks defining the connection topology of said parallel computational system, and; c) a procedure to subdivide the given problem among the plurality of computation units, said procedure comprising; i) constructing a graph corresponding to the given problem, said graph comprising a plurality of vertices representing a corresponding plurality of computational subtasks of the given problem, and a plurality of weighted edges representing information flow between the computational subtasks; ii) generating a Laplacian matrix of said graph; iii) computing k eigenvectors of said Laplacian matrix, k being an integer greater than 1; iv) selecting an orthogonal basis for a space spanned by the eigenvectors; v) partitioning said computational subtasks into 2 k subsets by means of the orthogonal basis, and; vi) assigning each of said subsets of computational subtasks to at least one of said computational units in a manner consistent with the connection topology.
Claim 2
Dependent Claim 171 words
A parallel computational system optimized to solve a given problem, comprising: a) a plurality of computational units; b) data links connecting pairs of said computational units, said datalinks defining the connection topology of said parallel computational system, and; c) a procedure to subdivide the given problem among the plurality of computation units, said procedure comprising; i) constructing a graph corresponding to the given problem, said graph comprising a plurality of vertices representing a corresponding plurality of computational subtasks of the given problem, and a plurality of weighted edges representing information flow between the computational subtasks; ii) generating a Laplacian matrix of said graph; iii) computing k eigenvectors of said Laplacian matrix, k being an integer greater than 1; iv) selecting an orthogonal basis for a space spanned by the eigenvectors; v) partitioning said computational subtasks into 2 k subsets by means of the orthogonal basis, and; vi) assigning each of said subsets of computational subtasks to at least one of said computational units in a manner consistent with the connection topology.
Claim 3
Independent Claim 155 words
A method to design a circuit board which optimizes the interconnections between circuit elements within a given logical circuit structure, the method comprising the steps of: a) constructing a graph representing the given logical circuit structure, said graph comprising a plurality of vertices representing the circuit elements, and a plurality of edges representing connections between said circuit elements; b) subdividing the given logical circuit structure among a set of at least four subcircuits, said subdivision comprising; i) generating a Laplacian matrix of the graph; ii) computing k eigenvectors of said Laplacian matrix, k being an integer greater than 1; iii) selecting an orthogonal basis for a space spanned by the eigenvectors; iv) partitioning vertices of the graph into at least four subsets by means of the orthogonal basis; v) assigning each of said subsets c,f vertices to at least one of said subcircuits, and; c) designing and constructing a circuit board to implement said subdivision.
Claim 4
Independent Claim 155 words
A method to design a circuit board which optimizes the interconnections between circuit elements within a given logical circuit structure, the method comprising the steps of: a) constructing a graph representing the given logical circuit structure, said graph comprising a plurality of vertices representing the circuit elements, and a plurality of edges representing connections between said circuit elements; b) subdividing the given logical circuit structure among a set of at least four subcircuits, said subdivision comprising; i) generating a Laplacian matrix of the graph; ii) computing k eigenvectors of said Laplacian matrix, k being an integer greater than 1; iii) selecting an orthogonal basis for a space spanned by the eigenvectors; iv) partitioning vertices of the graph into at least four subsets by means of the orthogonal basis; v) assigning each of said subsets c,f vertices to at least one of said subcircuits, and; c) designing and constructing a circuit board to implement said subdivision.
Claim 5
Dependent Claim 10 words
A circuit manufactured according to the method of claim 2.
Claim 6
Independent Claim 163 words
A method of controlling a parallel computer for efficient operation on a task, a) where the parallel computer comprises a plurality of processing elements and a plurality of communication links connecting the processing elements in a connection topology, and b) where the task is divided into a plurality of subtasks, where each subtask communicates information to one or more other subtasks, c) said method comprising: i) constructing a graph corresponding to the task and comprising a plurality of vertices representing the subtasks and a plurality of weighted edges representing information communicated between subtasks; ii) generating a Laplacian matrix of the graph; iii) determining k eigenvectors of the Laplacian matrix, where k is an integer greater than 1; iv) selecting an orthogonal basis for a space spanned by the eigenvectors; v) partitioning the subtasks into 2 k subsets by means of the orthogonal basis; and vi) assigning each of the subtasks to at least one of the processing elements consistent with the connection topology.
Claim 7
Independent Claim 163 words
A method of controlling a parallel computer for efficient operation on a task, a) where the parallel computer comprises a plurality of processing elements and a plurality of communication links connecting the processing elements in a connection topology, and b) where the task is divided into a plurality of subtasks, where each subtask communicates information to one or more other subtasks, c) said method comprising: i) constructing a graph corresponding to the task and comprising a plurality of vertices representing the subtasks and a plurality of weighted edges representing information communicated between subtasks; ii) generating a Laplacian matrix of the graph; iii) determining k eigenvectors of the Laplacian matrix, where k is an integer greater than 1; iv) selecting an orthogonal basis for a space spanned by the eigenvectors; v) partitioning the subtasks into 2 k subsets by means of the orthogonal basis; and vi) assigning each of the subtasks to at least one of the processing elements consistent with the connection topology.
Claim 8
Dependent Claim 28 words
The method of claim 4 wherein step c iii) comprises computing eigenvectors λ 2 through λ k+1 of the Laplacian matrix, where λ k+1 ≧λ k and 4≧k≧2.
Claim 9
Dependent Claim 15 words
The method of claim 4 where the steps contained within step c are performed recursively.
Claim 10
Dependent Claim 19 words
The method of claim 6 wherein step c additionally comprises the step of determining if the graph is disconnected.
Claim 11
Dependent Claim 26 words
The method of claim 7 wherein step c additionally comprises the step of adding to the graph one or more edges to render the graph connected.
Claim 12
Independent Claim 151 words
A method of placing a plurality of circuit elements of a logical circuit structure on a substrate so that the cost of connections between the elements is minimized, comprising: a) constructing a graph representing the logical circuit structure, comprising a plurality of vertices representing the elements and a plurality of edges representing connections between the elements; b) generating a Laplacian matrix of the graph; c) determining k eigenvectors of the Laplacian matrix, where k is an integer greater than 1; d) selecting an orthogonal basis for a space spanned by the eigenvectors; e) partitioning the vertices of the graph into at least four subsets by means of the orthogonal basis; f) assigning each of the subsets to at least one subcircuit; g) assigning the subcircuits to regions of the substrate; h) determining each element's corresponding subcircuit; and i) placing the elements on the substrate in regions assigned to their corresponding subcircuit.
Claim 13
Independent Claim 151 words
A method of placing a plurality of circuit elements of a logical circuit structure on a substrate so that the cost of connections between the elements is minimized, comprising: a) constructing a graph representing the logical circuit structure, comprising a plurality of vertices representing the elements and a plurality of edges representing connections between the elements; b) generating a Laplacian matrix of the graph; c) determining k eigenvectors of the Laplacian matrix, where k is an integer greater than 1; d) selecting an orthogonal basis for a space spanned by the eigenvectors; e) partitioning the vertices of the graph into at least four subsets by means of the orthogonal basis; f) assigning each of the subsets to at least one subcircuit; g) assigning the subcircuits to regions of the substrate; h) determining each element's corresponding subcircuit; and i) placing the elements on the substrate in regions assigned to their corresponding subcircuit.
Claim 14
Dependent Claim 27 words
The method of claim 9 wherein step c comprises computing eigenvectors λ 2 through λ k+1 of the Laplacian matrix, where λ k ≦λ k+1 and 2≦k≦4.
Claim 15
Dependent Claim 13 words
The method of claim 9 wherein steps a through f are performed recursively.
Claim 16
Dependent Claim 16 words
The method of claim 11 additionally comprising the step of determining whether the graph is disconnected.
Claim 17
Dependent Claim 23 words
The method of claim 12 additionally comprising the step of adding to the graph one or more edges to render the graph connected.

References Cited (Backward Citations)

US4577276A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-12-24 2000-06-24 2000-12-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-12-24 2004-06-24 2004-12-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-12-24 2008-06-24 2008-12-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag