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

Methods for operating parallel computing systems employing sequenced communications

Assignee: National Technology and Engineering Solutions of Sandia LLC
•
Filing: 1991-08-22
•
Granted: 1999-08-10
•
Expires: 2011-08-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A parallel computing system and method having improved performance where a program is concurrently run on a plurality of nodes for reducing total processing time, each node having a processor, a memory, and a predetermined number of communication channels connected to the node and independently connected directly to other nodes. The present invention improves performance of performance of the parallel computing system by providing a system which can provide efficient communication between the processors and between the system and input and output devices. A method is also disclosed which can locate defective nodes with the computing system.

Inventors

  • 👤 Robert E. Benner
  • 👤 John L. Gustafson
  • 👤 Gary R. Montry

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 00:12
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/16; G06F15/163; G06F15/173; G06F15/17356; G06F15/17368; G06F11/00; G06F11/22; G06F11/30; G06F11/34; G06F11/3409; G06F11/3428

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 335 words
A method for parallel processing, comprising: (a) inputting data and a problem-solving algorithm for a problem to be solved by a N-dimension parallel computer using logarithmic fanout; (b) configuring a sufficient subspace of dimension m required to solve the problem, where m is less than or equal to N; (c) mapping a n-dimension spatial grid, where n is less than or equal to m, by allocating work to specific processors of the parallel computer; (d) opening the subspace and inputting the data, execution parameters, and the algorithm into the subspace using logarithmic fanout; (e) processing data according to algorithm within each processor; (f) writing messages to each of the selected neighboring processors paired in directions in a specified order of writing first to the neighboring processor in a fore orientation and then writing to the neighboring processor in an aft orientation such that the startup, copy, and transfer time for a subsequent message overlaps the transfer time for a previous message; (g) repeating step (f) until all selected neighboring processors of the n-dimensional spatial grid have been written to; (h) and, when at a boundary, and in the direction of a boundary where there is only one orientation, writing to only one processor associated with that orientation; (i) subsequently reading messages from each of the selected neighboring processors in paired directions in the same order of directions, but reading first from the neighboring processor in the aft orientation and then reading from the neighboring processor in the fore orientation such that the startup and transfer time for a subsequent message overlaps the transfer and copy time for a previous message; (j) repeating step (i) until all selected neighboring processors of the n-dimensional spatial grid have been read; and (k) and, when at a boundary, and in the direction of a boundary where there is only one orientation, reading from only one processor associated with that orientation; (l) outputting the solution to the problem; (m) closing the subspace; and (n) displaying the solution to the problem.
Claim 2
Independent Claim 335 words
A method for parallel processing, comprising: (a) inputting data and a problem-solving algorithm for a problem to be solved by a N-dimension parallel computer using logarithmic fanout; (b) configuring a sufficient subspace of dimension m required to solve the problem, where m is less than or equal to N; (c) mapping a n-dimension spatial grid, where n is less than or equal to m, by allocating work to specific processors of the parallel computer; (d) opening the subspace and inputting the data, execution parameters, and the algorithm into the subspace using logarithmic fanout; (e) processing data according to algorithm within each processor; (f) writing messages to each of the selected neighboring processors paired in directions in a specified order of writing first to the neighboring processor in a fore orientation and then writing to the neighboring processor in an aft orientation such that the startup, copy, and transfer time for a subsequent message overlaps the transfer time for a previous message; (g) repeating step (f) until all selected neighboring processors of the n-dimensional spatial grid have been written to; (h) and, when at a boundary, and in the direction of a boundary where there is only one orientation, writing to only one processor associated with that orientation; (i) subsequently reading messages from each of the selected neighboring processors in paired directions in the same order of directions, but reading first from the neighboring processor in the aft orientation and then reading from the neighboring processor in the fore orientation such that the startup and transfer time for a subsequent message overlaps the transfer and copy time for a previous message; (j) repeating step (i) until all selected neighboring processors of the n-dimensional spatial grid have been read; and (k) and, when at a boundary, and in the direction of a boundary where there is only one orientation, reading from only one processor associated with that orientation; (l) outputting the solution to the problem; (m) closing the subspace; and (n) displaying the solution to the problem.
Claim 3
Dependent Claim 10 words
The method of claim 1, further comprising concatenating the messages.
Claim 4
Dependent Claim 17 words
The method of claim 1, further comprising accumulating and exchanging data among all processors of the subspace.
Claim 5
Independent Claim 106 words
A method of organizing and communicating information in a MIMD parallel processing computer system, wherein the parallel processing computer system includes a plurality of processors interconnected with a plurality of neighboring processors, comprising: a) within each processor, obtaining computational results and then grouping said computational results in dependent variable arrays; b) organizing the dependent variable arrays into large data structures; c) concatenating the data structures into a single message; and d) communicating the single message by global exchange, whereby bi-directional communications of the single message are initiated in a specified sequential order between a processor and selected of its neighboring processors and the communications are overlapped.
Claim 6
Independent Claim 106 words
A method of organizing and communicating information in a MIMD parallel processing computer system, wherein the parallel processing computer system includes a plurality of processors interconnected with a plurality of neighboring processors, comprising: a) within each processor, obtaining computational results and then grouping said computational results in dependent variable arrays; b) organizing the dependent variable arrays into large data structures; c) concatenating the data structures into a single message; and d) communicating the single message by global exchange, whereby bi-directional communications of the single message are initiated in a specified sequential order between a processor and selected of its neighboring processors and the communications are overlapped.
Claim 7
Dependent Claim 21 words
The method of claim 4, wherein said computational results are inner products of a preconditioned conjugate gradient iteration and convergence criteria.
Claim 8
Dependent Claim 26 words
The method of claim 4, wherein the step of organizing the dependent variable arrays into large data structures adds an additional dimension to the data structure.
Claim 9
Dependent Claim 71 words
The method of claim 4, wherein the step of initiating communications of the single message in a specified sequential order comprises: a) writing the message to each of selected adjacent neighboring processors by writing first to a neighbor in a first orientation and then by writing to a neighbor in a second orientation; and b) reading messages from each of the selected adjacent, neighboring processors and the reverse order of orientations.
Claim 10
Dependent Claim 33 words
The method of claim 7, further including: a) repeating step a) until all selected neighboring processors have been written to; and b) repeating step b) until all selected neighboring processors have been read.
Claim 11
Independent Claim 110 words
A method of increasing the efficiency of a N dimension parallel processing computer, wherein the parallel processing computer includes a plurality of processors interconnected with up to N neighboring processors, comprising: a) allocating data associated with a given problem to specific processors of the parallel processing computer; b) inputting parameters and programs into each processor with logarithmic fanout; c) combining items of data into a single message; and d) simultaneously communicating the single message between neighboring processors with a global exchange technique, whereby bidirectional communications of the single message are initiated in a specified sequential order between a processor and selected of its neighboring processors and the communications are overlapped.
Claim 12
Independent Claim 110 words
A method of increasing the efficiency of a N dimension parallel processing computer, wherein the parallel processing computer includes a plurality of processors interconnected with up to N neighboring processors, comprising: a) allocating data associated with a given problem to specific processors of the parallel processing computer; b) inputting parameters and programs into each processor with logarithmic fanout; c) combining items of data into a single message; and d) simultaneously communicating the single message between neighboring processors with a global exchange technique, whereby bidirectional communications of the single message are initiated in a specified sequential order between a processor and selected of its neighboring processors and the communications are overlapped.
Claim 13
Dependent Claim 72 words
The method of claim 9, wherein the step of initiating communications of the single message in a specified sequential order comprises: a) writing the message to each of selected adjacent neighboring processors by writing first to a neighbor in a first orientation and then by writing to a neighbor in a second orientation; and b) reading the message from each of the selected adjacent, neighboring processors in the same order of orientations.
Claim 14
Dependent Claim 33 words
The method of claim 10, further including: a) repeating step a) until all selected neighboring processors have been written to; and b) repeating step b) until all selected neighboring processors have been read.
Claim 15
Independent Claim 105 words
A method for increasing the efficiency of a N dimension parallel processing computer, wherein the parallel processing computer includes a plurality of processors interconnected with up to N neighboring processors, comprising: a) allocating specific problem solving functions of a given problem to specific processors; b) inputting parameters and programs to each processor with logarithmic fanout; c) combining items of data into a single message; and d) simultaneously exchanging data between selected neighboring processors, whereby bidirectional communications of the exchanged data are initiated in a specified sequential order between a processor and selected of its neighboring processors; and e) overlapping processor initiated communications with neighboring processors.
Claim 16
Independent Claim 105 words
A method for increasing the efficiency of a N dimension parallel processing computer, wherein the parallel processing computer includes a plurality of processors interconnected with up to N neighboring processors, comprising: a) allocating specific problem solving functions of a given problem to specific processors; b) inputting parameters and programs to each processor with logarithmic fanout; c) combining items of data into a single message; and d) simultaneously exchanging data between selected neighboring processors, whereby bidirectional communications of the exchanged data are initiated in a specified sequential order between a processor and selected of its neighboring processors; and e) overlapping processor initiated communications with neighboring processors.
Claim 17
Dependent Claim 31 words
The method of claim 12, wherein said parallel processor computing system is selected from the group consisting of: butterfly, omega-network, mesh, tree, hypercube, and digital parallel computers with fully interconnected processors.
Claim 18
Dependent Claim 33 words
The method of claim 13, wherein said hypercube is an arrangement of processors has 2 x nodes where x is greater than three, and each node is independently connected to x other nodes.
Claim 19
Dependent Claim 20 words
The method of claim 13, wherein the number of selected processors is less than the number of all interconnected processors.
Claim 20
Dependent Claim 19 words
The method of claim 13, where the number of selected processors is equal to the number of interconnected processors.
Claim 21
Dependent Claim 72 words
The method of claim 12, wherein allocation of specific problem solving functions to specific processors is by selecting a m dimensional subspace of the parallel processing computer sufficient to solve the given problem, where m is less than or equal to N and by determining gray code mapping for assigning portions of a n dimensional spatial grid representing the given problem to processors, where n is less than or equal to m.
Claim 22
Dependent Claim 14 words
The method of claim 17, wherein the selected m dimensional subspace is a hypercube.
Claim 23
Dependent Claim 66 words
The method of claim 12, wherein the step of initiating communications of data in a specified sequential order comprises; a) writing messages to each of the selected neighboring processors by writing first to a neighbor in a first orientation and then writing to a neighbor in a second orientation; and b) reading messages from each of the selected neighbor processors in the same order of orientations.
Claim 24
Dependent Claim 33 words
The method of claim 19, further including: a) repeating step a) until all selected neighboring processors have been written to; and b) repeating step b) until all selected neighboring processors have been read.
Claim 25
Dependent Claim 23 words
The method of claim 12, wherein the step of simultaneously exchanging data between neighboring processors includes exchanging and accumulating data among all processors.
Claim 26
Dependent Claim 35 words
The method of claim 12, wherein the step of combining items of data into a single message further comprises grouping communications of related computational results and organizing dependent variable arrays into a large data structure.
Claim 27
Dependent Claim 26 words
The method of claim 12, wherein the step of combining items of data into a single message further comprises concatenating data structures into a single message.

References Cited (Backward Citations)

US4247892A Cited
US5113523A Cited
US4720280A Cited
US4922418A Cited
US4884193A Cited
US5021947A Cited
US4891787A Cited
US4964032A Cited
US4983962A Cited
US5050065A Cited
US4918617A Cited
US4952930A Cited
US5101480A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-09 2003-02-08 2003-08-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-09 2007-02-08 2007-08-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-09 2011-02-08 2011-08-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag