Reconfigurable signal processor
First Claim
1. A process for embedding a desired tree node topology in an assembly of processing elements fixedly interconnected through controllably enabled element ports, comprising the steps of:
- defining a desired tree node interconnection topology,determining a processor element port-to-port connection arrangement for the given said assembly which maximizes use of processors known to be operable,modifying said port-to-port connection arrangement to minimize tree depth, andembedding said modified processor element connection arrangement into said assembly of elements by enabling selected ones of said processor element ports.
1 Assignment
0 Petitions
Accused Products
Abstract
An interconnection scheme among the processing elements ("PEs") of a multiprocessor computing architecture realizes, through PE reconfiguration, both fault tolerance and a wide variety of different processing topologies including binary trees and linear systolic arrays. By using a novel variant on a tree expansion scheme, the invention also allows for arbitrary up-sizing of the PE count to build virtually any size of tree network, with each size exhibiting same high degree of fault tolerance and reconfigurability. The invention may be practiced with 4-port PEs arrayed in a module comprising a 4×4 board-mounted PE lattice. Each PE has four physical ports, which connect to the similar ports of its lattice neighbors. Each PE has an internal capability to be configured to route signals to or from any of its neighbors. Thus, for tree topologies, any of the four neighbors of a given PE may be selected as the parent of the given PE; and any or all of the remaining three neighboring PEs may be selected as the child(ren) PEs. The PE ports are configured under the control of a remote host, which establishes an initial desired PE topology. The operability of the PEs is tested, and information on faulty PEs or communications paths is used to enable or disable nodes as necessary by revising the PE port configurations. The nodes thus are reorganized and can run or continue running, on a degraded basis.
199 Citations
14 Claims
-
1. A process for embedding a desired tree node topology in an assembly of processing elements fixedly interconnected through controllably enabled element ports, comprising the steps of:
-
defining a desired tree node interconnection topology, determining a processor element port-to-port connection arrangement for the given said assembly which maximizes use of processors known to be operable, modifying said port-to-port connection arrangement to minimize tree depth, and embedding said modified processor element connection arrangement into said assembly of elements by enabling selected ones of said processor element ports. - View Dependent Claims (2, 5)
-
-
3. A process for synthesizing a desired node interconnection topology in an assembly of processing elements under control of a Host, in which
each element comprises plural signal communication ports, said elements are physically arrayed in x-y matrices on one or more mounting means, each element of each said matrix other than elements located at the matrix corners is interconnected to four neighbor PEs, each corner element is connected to its respective two neighbor elements and has two external connection paths, and said assembly comprises means for effecting signal routing within each element between its said processing capability and any of said plural ports, said process comprising: -
defining in said Host a desired processor element intra-board port interconnection topology for each board, testing under Host control said elements for faults, determining in said Host alternate processor element port interconnections which route signals around elements identified as faulted; and reconfiguring selected ones of said ports based on said alternate processor element port interconnections. - View Dependent Claims (4)
-
-
6. Apparatus for expanding a tree multiprocessor topology while maintaining a constant number of root connection paths to said topology, and a constant number of expansion nodes, comprising:
-
first and second arrays of substantially identical processor elements, each element having plural ports, means for selectively connecting ports of adjacent ones of all but two of said elements in each said array, to form in each array a two-root subtree of processor elements, said two elements not used in said subtrees each comprising three-port expansion nodes, said two roots and said three-port expansion nodes thereby furnishing eight connection paths to each said array, means for connecting the subtree and a first expansion node in said first array to the corresponding parts of said second array, thereby forming a further two-root subtree, the second said expansion node of each said array being available to replace elements in its respective array, and said two roots of said further subtree and said last-named nodes thereby comprising a total of eight connection paths to the combined assemblages of said first and said second processor element arrays. - View Dependent Claims (7, 8)
-
-
9. In a system for performing concurrent computational processes in a controlled assembly of processing elements interconnected as processing nodes, means for embedding a desired topology of nodes into a fixed lattice, comprising:
-
a remote command Host, a plurality of processor elements arrayed in one or more matrices of nodes, each said element having plural exterior ports accessing the processing capability of said element, and means for effecting signal routing within each said processor element between its said processing capability and any of said plural ports, and for blocking signal routing at selected ports, means for connecting selected ports of the elements in each said matrix to selected ports of neighbor elements, and for connecting selected ports of designated elements either to selected element ports in a further matrix of processor elements or to said Host, and means in said Host for conditioning said element ports to direct signals to and from only selected ones each element'"'"'s neighboring processor elements, said conditioning means achieving a desired interconnection topology for the nodes of said system.
-
-
10. In a system for performing concurrent computational processes in an assembly of processing elements fixedly interconnected as processing nodes, means for synthesizing a desired node interconnection topology comprising:
-
a remote command Host, a plurality of processor elements arrayed in one or more rectangular matrices of nodes, each said element having four exterior ports accessing the processing capability of said element, means for defining a desired node interconnection topology, means for detecting inoperative processor elements, means for determining a processor element port-to-port connection arrangement for the given said assembly which maximizes use of processor elements found to be operating, and means in each said element under control of said Host for enabling signal routing within said operating processor elements between their said processing capability and any of their said four ports, and for blocking signal routing at selected ports. - View Dependent Claims (11, 12, 13, 14)
-
Specification