File: Message-Routing.txt

package info (click to toggle)
ray 2.3.1-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 4,128 kB
  • ctags: 6,125
  • sloc: cpp: 49,973; sh: 325; makefile: 278; python: 168
file content (34 lines) | stat: -rw-r--r-- 941 bytes parent folder | download | duplicates (5)
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
Having too many connections can be bad.

Let's say we have 64 ranks.

Let's say that we want the ranks to be grouped in 8.


Then, when rank 3 want to send a message to rank 55, it is required
to get the intermediate ranks.


rank 3 -> intermediate(rank 3) -> intermediate(rank 55) -> rank 55



rank 3 sends to rank 0
rank 0 sends to rank 48
rank 3 sends to rank 0
rank 0 sends to rank 48
rank 48 sends to rank 55
rank 48 sends to rank 55

To route messages with Ray, you need to provide the option -route-messages.

You can also provide the type using -connection-type <type>

== Connection types ==

- complete (same as not using -route-messages)
- group (as described above, not really good because it is not balanced)
- random (the graph has random n*log2(n)/2 edges)
- debruijn (better than random, but needs a power of something)
- kautz (better than debruijn, but needs n ranks where n=(k+1)*k^(d-1) where k and d are two integers.