Patent US5072371A successfully refreshed from Google Patents.
US5072371A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method for simultaneous overlapped communications between neighboring processors in a multiple
Assignee: National Technology and Engineering Solutions of Sandia LLC
•
Filing: 1989-03-01
•
Granted: 1991-12-10
•
Expires: 2009-03-01
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-10-26 16:19
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: 13
Claim 1
Independent Claim
202 words
In a method of operating a computing system having a MIMD architecture where a program is concurrently run on a plurality of nodes for reducing total processing time for said program; each node having a processor, a memory, and a communication channel connected to said each node and independently connected to a predetermined number of other nodes; said method including steps of: assigning, via said computing system, groups of adjacent nodes, each said group having communication channels from a central node to four adjacent nodes in up, down, left, and right directions, respectively, each of said nodes being capable of being a central node in a different group; exchanging, via said computing system, messages for each of said nodes; and simultaneously communicating, via said computing system, said messages between adjacent nodes by first sending write messages from each central node sequentially to nodes in the up, down, left and right directions in which subsequent messages are communicated before the transfer of at least one previous message is completed and, then by sequentially receiving read messages from nodes in the down, up, right and left directions in which subsequent messages are received before the transfer of at least one previous message is completed.
Claim 2
Dependent Claim
202 words
In a method of operating a computing system having a MIMD architecture where a program is concurrently run on a plurality of nodes for reducing total processing time for said program; each node having a processor, a memory, and a communication channel connected to said each node and independently connected to a predetermined number of other nodes; said method including steps of: assigning, via said computing system, groups of adjacent nodes, each said group having communication channels from a central node to four adjacent nodes in up, down, left, and right directions, respectively, each of said nodes being capable of being a central node in a different group; exchanging, via said computing system, messages for each of said nodes; and simultaneously communicating, via said computing system, said messages between adjacent nodes by first sending write messages from each central node sequentially to nodes in the up, down, left and right directions in which subsequent messages are communicated before the transfer of at least one previous message is completed and, then by sequentially receiving read messages from nodes in the down, up, right and left directions in which subsequent messages are received before the transfer of at least one previous message is completed.
Claim 3
Dependent Claim
27 words
The method of claim 1, including 2 x of said nodes where x is an integer >3 wherein each node is independently connected to x other nodes.
Claim 4
Dependent Claim
13 words
The method of claim 2, wherein said nodes are arranged in a hypercube.
Claim 5
Independent Claim
224 words
A method of operating a digital parallel computing system with a MIMD architecture having input and output devices, where a program is concurrently run on a plurality of nodes, each node having a processor, a memory, and a communication channel connected to said each node and independently connected to a predetermined number of other nodes; said method including the steps of: receiving information from said input device defining a number of nodes to run said program; opening groups of adjacent nodes, each said group having communications channels from a central node to four adjacent nodes in up, down, left, and right directions, respectively, each of said nodes being capable of being a central node in a different group; loading each of said nodes with said program; and executing said program including exchanging messages for each of said nodes by simultaneously communicating said messages between adjacent nodes by first sending write messages from each central node sequentially to nodes in the up, down, left and right directions such than the startup, copy, and transfer time for a subsequent message overlaps the transfer time for a previous message, and that by sequentially receiving read messages from nodes in the down, up, right and left directions such that the startup and transfer time for a subsequent message overlaps the transfer and copy time for a previous message.
Claim 6
Independent Claim
224 words
A method of operating a digital parallel computing system with a MIMD architecture having input and output devices, where a program is concurrently run on a plurality of nodes, each node having a processor, a memory, and a communication channel connected to said each node and independently connected to a predetermined number of other nodes; said method including the steps of: receiving information from said input device defining a number of nodes to run said program; opening groups of adjacent nodes, each said group having communications channels from a central node to four adjacent nodes in up, down, left, and right directions, respectively, each of said nodes being capable of being a central node in a different group; loading each of said nodes with said program; and executing said program including exchanging messages for each of said nodes by simultaneously communicating said messages between adjacent nodes by first sending write messages from each central node sequentially to nodes in the up, down, left and right directions such than the startup, copy, and transfer time for a subsequent message overlaps the transfer time for a previous message, and that by sequentially receiving read messages from nodes in the down, up, right and left directions such that the startup and transfer time for a subsequent message overlaps the transfer and copy time for a previous message.
Claim 7
Dependent Claim
214 words
A digital parallel computer having a MIMD architecture comprising: an input device for supplying information from a user; an output device for supplying information to a user; a host for receiving the information from said input device and for supplying the information to said output device; a plurality of processor units, each processor unit having a processor and a memory; and a communication channel for independently connecting said each processor to neighboring processors and for connecting said host to said processor units; said host assigning groups of adjacent nodes, each said group having direct communication channels from a central node to four adjacent nodes in up, down, left, and right directions, respectively, each of said nodes being capable of being a central node in a different group; said processor units periodically communicating with said nearest neighboring processor units within said groups by sending messages in the down, up, right, and left directions such that the startup, copy, and transfer time for a subsequent message overlaps the transfer time for a previous message, and then receiving messages in the up, down, left, and right directions such that the startup and transfer time for a subsequent message overlaps the transfer and copy time for a previous message, so that maximum possible overlap of communication is achieved.
Claim 8
Dependent Claim
214 words
A digital parallel computer having a MIMD architecture comprising: an input device for supplying information from a user; an output device for supplying information to a user; a host for receiving the information from said input device and for supplying the information to said output device; a plurality of processor units, each processor unit having a processor and a memory; and a communication channel for independently connecting said each processor to neighboring processors and for connecting said host to said processor units; said host assigning groups of adjacent nodes, each said group having direct communication channels from a central node to four adjacent nodes in up, down, left, and right directions, respectively, each of said nodes being capable of being a central node in a different group; said processor units periodically communicating with said nearest neighboring processor units within said groups by sending messages in the down, up, right, and left directions such that the startup, copy, and transfer time for a subsequent message overlaps the transfer time for a previous message, and then receiving messages in the up, down, left, and right directions such that the startup and transfer time for a subsequent message overlaps the transfer and copy time for a previous message, so that maximum possible overlap of communication is achieved.
Claim 9
Independent Claim
243 words
A method for interprocessor communication in a N dimension parallel computer system having n dimensional spatial grids with 2n boundaries, where n is less than or equal to N, comprising the steps of: (a) writing messages to each of the selected neighboring processors in paired 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; (b) repeated step (a) until all selected neighboring processors of the n-dimensional subspace have been written to; (c) 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; (d) 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; (e) repeating step (d) until all selected neighboring processors of the n-dimensional subspace have been read; (f) and, when at a boundary, and in the direction of a boundary where there is only one orientation, reading form only processor associated with that orientation.
Claim 10
Independent Claim
243 words
A method for interprocessor communication in a N dimension parallel computer system having n dimensional spatial grids with 2n boundaries, where n is less than or equal to N, comprising the steps of: (a) writing messages to each of the selected neighboring processors in paired 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; (b) repeated step (a) until all selected neighboring processors of the n-dimensional subspace have been written to; (c) 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; (d) 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; (e) repeating step (d) until all selected neighboring processors of the n-dimensional subspace have been read; (f) and, when at a boundary, and in the direction of a boundary where there is only one orientation, reading form only processor associated with that orientation.
Claim 11
Dependent Claim
22 words
The method of claim 6, where the number of selected neighboring processors is less than the number of all the connected processors.
Claim 12
Dependent Claim
20 words
The method of claim 6, where the number of selected neighboring processors is equal to the number of connected processors.
Claim 13
Dependent Claim
16 words
The method of claim 6, further comprising: (e) reducing the startup time by concatenating individual messages.
References Cited (Backward Citations)
US4918677A
Cited
US4739476A
Cited
US4807183A
Cited
US4773038A
Cited
US4814980A
Cited
US4729095A
Cited
US4827403A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1994-12-09 | 1995-06-10 | 1995-12-10 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1998-12-09 | 1999-06-10 | 1999-12-10 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2002-12-09 | 2003-06-10 | 2003-12-10 | $7700.00 | Window Closed / Lapsed |