Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/5/84; site oliveb.UUCP
Path: utzoo!utcs!lsuc!pesnta!hplabs!oliveb!jerry
From: jerry@oliveb.UUCP (Jerry Aguirre)
Newsgroups: net.arch
Subject: Re: Cube designs vs. x,y,z bus.  What is it?
Message-ID: <304@oliveb.UUCP>
Date: Fri, 1-Mar-85 20:36:46 EST
Article-I.D.: oliveb.304
Posted: Fri Mar  1 20:36:46 1985
Date-Received: Sat, 2-Mar-85 21:25:36 EST
References: <48@pbear.UUCP> <268@oliveb.UUCP> <171@redwood.UUCP>
Organization: Olivetti ATC; Cupertino, Ca
Lines: 43

An explaination of what we are talking about was requested so I will
include it here.  Other readers can skip this article.

This series of articles is discussing buss verses hypercube designs.
What are they?  Well they are ways of connecting large numbers of
processors (computers) together so that they can work together on some
problem that is to big for a single computer.  A buss topology connects
many processors to a common communications medium (like an ethernet) and
looks like this:

	p1	p2	p3	p4	p5	...
	|	|	|	|	|	|
	=========================================

The buss must be shared by all the processors as it can only handle 1
message at a time.  Accesses to it must be arbitrated by some sort of
scheduling algorithm.  Simply put this means that if processor 1 (p1)
needs to send a message to p3 it may have to wait until p2 is done using
the bus.

The hyper-cube design uses dedicated channels to connect each processor
to another.  It looks something like this:

	p1-----p2-----p3
	| \  / | \   /|
	|  \/  |  \ / |
	|  /\  |  /\  |
	| /  \ | /  \ |
	p4-----p5-----p6

There is no need to arbitrate a channel because it is not shared.
However you can see that connecting every processor to every other
processor can use a lot of wires.  In this example p1 is not connected
to p3 and p6 because it would have been to hard to show.  In a real
computer it would also be hard to do.  In practice only some of the
connections are made and the rest are forwarded thru intermediate
machines.  So, if p1 wishes to communicate with p6 it sends the message
to p5 with a request to forward it to p6.  It turns out that there is a
way of connecting the processors where 2**N processors only need N
connections each.  This is the Hyper-cube design.

				Jerry Aguirre @ Olivetti ATC
{hplabs|fortune|idi|ihnp4|tolerant|allegra|tymix}!oliveb!jerry