This file is indexed.

/usr/share/doc/ray/Documentation/Routing.txt is in ray-doc 2.3.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
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