Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!rice!uw-beaver!Teknowledge.COM!unix!hplabs!hp-sdd!ncr-sd!ncrcae!hubcap!Donald.Lindsay From: Donald.Lindsay@MATHOM.GANDALF.CS.CMU.EDU Newsgroups: comp.parallel Subject: Subdivision (was: scalability of n-cubes, meshes) Message-ID: <7254@hubcap.clemson.edu> Date: 30 Nov 89 13:38:02 GMT Sender: fpst@hubcap.clemson.edu Lines: 26 Approved: parallel@hubcap.clemson.edu No one has mentioned what I consider to be the fatal flaw of toruses (tori?). Specifically, they can't be timeshared ("spaceshared"). Anyone who invests in a massively parallel machine would like to be able to run multiple small problems on it. Program development, for instance. After all, you wouldn't buy two: better to put all the money into a single machine. A hypercube is nice because it can be treated as two independent subcubes, and recursively one can have many subcubes. The message traffic within each subcube has no effect on the other subcubes - a wonderful property. A mesh is similar: you can have independent rectangular regions. A torus just doesn't work this way. (Neither does a mesh of buses.) Another design issue is the placement of the IO. A hypercube has n = log2(N) channels per node, so, you implement n+1 channels. (For n > 10, n and n+1 are indistinguishable.) Each node now has a direct connection to an IO system. For example, NCUBE dedicates one 16-node IO cube to each 128 nodes of the main cube. With a mesh, there are fewer channels per node, with more wires each. Adding one more is relatively more painful. But if one doesn't, and (for example) places the IO down the left-hand side, then the ability to subdivide may be compromised. Don D.C.Lindsay Carnegie Mellon Computer Science Brought to you by Super Global Mega Corp .com