Wormhole communications arrangement for massively parallel processor
DC CAFCFirst Claim
1. A computer system comprising a plurality of processing elements and a message router in which:
- A. each processing element for generating messages, each message comprising an address portion comprising a series of address elements and a data portion comprising at least one data element, each processing element including a message transfer circuit for transmitting messages over said message router and for receiving messages from said router, said message transfer circuit transmitting each message by serially transmitting address elements and a data element thereof and receiving a message by serially receiving at least a data element thereof;
B. said message router being connected to the message transfer circuits of said processing elements for receiving messages transmitted by said message transfer circuits and transferring each such received message to a processing element in accordance with its address portion, said message router comprising a plurality of message router nodes interconnected by a plurality of communications links, at least some of said message router nodes also being connected to said processing elements, said message router nodes each including;
i. a plurality of input circuits each connected to one of said communications links or said processing elements for receiving messages therefrom, each input circuit serially receiving message elements comprising each message received thereby;
ii. a plurality of output circuits each connected to a communications link or to a processing element for transmitting messages thereto, each output circuit serially transmitting message elements comprising each message transmitted thereto; and
iii. a switch connected to said input circuits for, for each message received by said input circuits, decoding one address element of the message to identify therefor an output circuit, said switch establishing a path for said message between the input circuit which received the message and the identified output circuit to facilitate the transfer of message elements of said message therebetween, said switch maintaining the path until the last of the serially-received message elements for the message have been transferred to the identified output circuit.
6 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A parallel processor array is disclosed comprising an array of processor/memories and devices for interconnecting these processor/memories in an n-dimensional pattern having at least 2n nodes through which data may be routed from any processor/memory in the array to any other processor/memory. Each processor/memory comprises a read/write memory and a processor for producing an output depending at least in part on data read from the read/write memory and on instruction information. The interconnecting device comprises devices for generating an addressed message packet that is routed from one processor/memory to another in accordance with address information in the message packet and a synchronized routing circuit at each node in the n-dimensional pattern for routing message packets in accordance with the address information in the packets. Preferably the address information in the message packet is relative to the node in which the message packet is being sent and each digit of the address represents the relative displacement of the message packet in one dimension from the node to which the message packet is being sent. Advantageously, the n-dimensional pattern is a Boolean cube of 15 dimensions. With presently available technology, more than one million such processor/memories can be operated in parallel while interconnected by these interconnecting devices.
73 Citations
14 Claims
-
1. A computer system comprising a plurality of processing elements and a message router in which:
-
A. each processing element for generating messages, each message comprising an address portion comprising a series of address elements and a data portion comprising at least one data element, each processing element including a message transfer circuit for transmitting messages over said message router and for receiving messages from said router, said message transfer circuit transmitting each message by serially transmitting address elements and a data element thereof and receiving a message by serially receiving at least a data element thereof; B. said message router being connected to the message transfer circuits of said processing elements for receiving messages transmitted by said message transfer circuits and transferring each such received message to a processing element in accordance with its address portion, said message router comprising a plurality of message router nodes interconnected by a plurality of communications links, at least some of said message router nodes also being connected to said processing elements, said message router nodes each including; i. a plurality of input circuits each connected to one of said communications links or said processing elements for receiving messages therefrom, each input circuit serially receiving message elements comprising each message received thereby; ii. a plurality of output circuits each connected to a communications link or to a processing element for transmitting messages thereto, each output circuit serially transmitting message elements comprising each message transmitted thereto; and iii. a switch connected to said input circuits for, for each message received by said input circuits, decoding one address element of the message to identify therefor an output circuit, said switch establishing a path for said message between the input circuit which received the message and the identified output circuit to facilitate the transfer of message elements of said message therebetween, said switch maintaining the path until the last of the serially-received message elements for the message have been transferred to the identified output circuit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A message router for connection to a plurality of processing elements to form a computer system, each processing element for generating messages each message comprising an address portion comprising a series of address elements and a data portion comprising at least one data element, each processing element including a message transfer circuit for transmitting messages over said message router and for receiving messages from said router, said message transfer circuit transmitting each message by serially transmitting address elements and a data element thereof and receiving a message by serially receiving at least a data element thereof, said message router being connected to the message transfer circuits of said processing elements for receiving messages transmitted by said message transfer circuits and transferring each such received message to a processing element in accordance with its address portion, said message router comprising a plurality of message router nodes interconnected by a plurality of communications links, at least some of said message router nodes also being connected to said processing elements, said message router nodes each including:
-
A. a plurality of input circuits each connected to one of said communications links or said processing elements for receiving messages therefrom, each input circuit serially receiving message elements comprising each message received thereby; B. a plurality of output circuits each connected to a communications link or to a processing element for transmitting messages thereto, each output circuit serially transmitting message elements comprising each message transmitted thereto; and C. a switch connected to said input circuits for, for each message received by said input circuits, decoding one address element of the message to identify therefor an output circuit, said switch establishing a path for said message between the input circuit which received the message and the identified output circuit to facilitate the transfer of message elements of said message therebetween, said switch maintaining the path until the last of the serially-received message elements for the message have been transferred to the identified output circuit. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification