For very large jobs, routing should be enabled. Message routing reduces the latency and memory usage. Also, the network will by happier. This guide contains virtual network architectures for routing messages with Ray. Vertices is the number of computer cores to use (mpiexec -n ###) See also Documentation/Very-Large-Jobs.txt. ## Convex regular polytope Messages can be routed with a polytope using the polytope connection type. A hypercube is a polytope with radix of 2. The connection types 'polytope' and 'hypercube' use the same code path so they are equivalent. The basic relation for edges is that only 1 dimension can be different. Example: <0,1,2> -> <0,2,2> For the convex regular polytope, we have Vertices:= Radix^Dimension Degree:= (Radix-1)*Dimension Vertices: 64 Type: Polytope Radix: 8 Dimension: 2 Degree: 14 Options: -route-messages -connection-type polytope -routing-graph-degree 14 Vertices: 512 Type: Polytope Radix: 8 Dimension: 3 (8^3=512) Degree: 21=(8-1)*3 Options: -route-messages -connection-type polytope -routing-graph-degree 21 Vertices: 1024 = 32*32 Type: Polytope Radix: 32 Dimension: 2 (32^2=1024) Degree: 62 = (32-1)*2 Options: -route-messages -connection-type polytope -routing-graph-degree 62 Vertices: 1024 Type: Polytope Radix: 2 Dimension: 10 (2^10=1024) Degree: 10 Options: -route-messages -connection-type polytope -routing-graph-degree 10 Vertices: 2025 (45 ^ 2) Type: Polytope Radix: 45 Dimension: 2 Degree: 88 ((45 - 1 ) * 2) Options: -route-messages -connection-type polytope -routing-graph-degree 88 Vertices: 4225 = 65*65 Type: Polytope Degree: 128 = (65-1)*2 Diameter: 2 (65^2=1024) Options: -route-messages -connection-type polytope -routing-graph-degree 128 ## Torus Type: torus Radix: 8 Dimension: 3 Vertices: Radix^Dimension = 512 Degree: 2*Dimension = 6 Options: -route-messages -connection-type torus -routing-graph-degree 6 Type: torus Radix: 4 Dimension: 5 Vertices: Radix^Dimension = 1024 Degree: 2*Dimension = 10 Options: -route-messages -connection-type torus -routing-graph-degree 10 ## de Bruijn Vertices: 256 Type: de Bruijn Degree: 4 Diameter: 4 (4*4*4*4=256) Options: -route-messages -connection-type debruijn -routing-graph-degree 4 Vertices: 512 Type: de Bruijn Degree: 8 Diameter: 3 (8*8*8) Options: -route-messages -connection-type debruijn -routing-graph-degree 8 Vertices: 1024 Type: de Bruijn Degree: 4 Diameter: 5 (4*4*4*4*4) Options: -route-messages -connection-type debruijn -routing-graph-degree 4 Vertices: 1024 Type: de Bruijn Degree: 32 Diameter: 2 (32*32) Options: -route-messages -connection-type debruijn -routing-graph-degree 32 Vertices: 1024 Type: de Bruijn Degree: 2 Diameter: 10 (2^10) Options: -route-messages -connection-type debruijn -routing-graph-degree 2 ## Kautz Vertices: 750 Type: Kautz Degree: 5 Diameter: 4 (6*5*5*5) Options: -route-messages -connection-type kautz -routing-graph-degree 5 Vertices: 972 Type: Kautz Degree: 3 Diameter: 6 (4*3*3*3*3*3) Options: -route-messages -connection-type kautz -routing-graph-degree 3 Vertices: 768 Type: Kautz Degree: 2 Diameter: 9 (3*2*2*2*2*2*2*2*2) Options: -route-messages -connection-type kautz -routing-graph-degree 2