Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site watrose.UUCP Path: utzoo!watmath!watrose!cdshaw From: cdshaw@watrose.UUCP (Chris Shaw) Newsgroups: net.arch Subject: Re: Cube designs vs. x,y,z bus Message-ID: <7306@watrose.UUCP> Date: Sun, 24-Feb-85 06:00:56 EST Article-I.D.: watrose.7306 Posted: Sun Feb 24 06:00:56 1985 Date-Received: Wed, 27-Feb-85 03:05:41 EST References: <48@pbear.UUCP> <268@oliveb.UUCP> Reply-To: cdshaw@watrose.UUCP (Chris Shaw) Organization: U of Waterloo, Ontario Lines: 39 The whole point of point-to-point communication channels is to eliminate all forms of bus contention that may occur between processors. Hence CALTECH's use of a large, complicated backplane setup; and Intel's use of point-to- point ethernet channels in its cube products. The point-to-point setup allows data to be passed from one processor to the next in a ring, like a systolic loop, or through any number of other patterns that may be available given an n-dimensional hypercube. Ultimately, perhaps, one may want point-to-point between all processors. This would require N*(N-1)/2 channels/ethernets/whatever, given N processors. This would allow any processor to send data direct to any other processor in the machine. For 64 processors, this would require 2016 inter-processor wires, with 63 I/O devices per processor board. This is excessive. The hypercube allows n* 2 **(n-1) wires, where there are 2**n processors. For 64 nodes, this amounts to 192 wires, with 6 I/O devices per board. This arrangement can be built fairly easily (once the bugs are ironed out), but you pay for it with access to only 6 of the 64 processors. However, access to the remainder of the processors is a maximum of 6 communication links away. The average communication length is 3, with no bus contention along the way. The contention is really hidden in the point-to-point waiting for receive and transmit. The xyz bus doesn't deal with more than 8 processors very nicely, since you still have bus contention possibilities on each of the busses, AND a wait involved with changing from the x to y busses to get to a processor not on the x bus. (x & y by way of example). The x.y.z (or u.v.w.x.y.z) bus schema don't buy you anything. You get buckets of bus squabbling for each "plane" AND you must route data to a different plane if the destination processor isn't connected to your plane. Point-to-point, on the other hand, buys zero bus squabbling (i.e. full bus bandwidth on each wire), at the price of data for "distant" processors having to be routed through some intermediaries. Hope this answers the "why point-to-point" questions .... Chris Shaw