Thread View: comp.hypercube
1 messages
1 total messages
Started by David C. DiNucci
Thu, 16 Jul 1987 13:20
Re: T or routing question
Author: David C. DiNucci
Date: Thu, 16 Jul 1987 13:20
Date: Thu, 16 Jul 1987 13:20
36 lines
1798 bytes
1798 bytes
In article <ogcvax.1351> I write:
>In article <hubcap.282> gdburns@TCGOULD.TN.CORNELL.EDU (Greg Burns) writes:
>>000 001 011 010 110 111 101 100
>>
>>Given only a bit code difference (src exclusive or dest) we all know how
>>to route on a hypercube. But how do you determine the route on the above
>>loop?
>
> . . .
>
>Any solution that doesn't require message passing will beat this
>for setup speed, but I don't know about simplicity.
Message passing can be eliminated easily by just "simulating" the
cube on each node. This can be done by using something like the
following: (Unlike the previous alg, this one is untested though
nearly identical)
dest = 0;
count = 0;
do {
++count;
me = dest;
dest = me ^ (count & -count);
} while (me != mynode)
if (count == cubesize) dest = 0;
/* dest now contains ptr to next guy in the ring */
The previous algorithm is missing the special-case "if" at the end.
Sorry for wasting so much bandwidth on a personal solution to a
problem which has likely been solved by uncountable others (and
probably better).
--
Dave DiNucci UUCP: ..ucbvax!tektronix!ogcvax!dinucci
Oregon Graduate Center CSNET: dinucci@Oregon-Grad.csnet
Beaverton, Oregon
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads