README.simplewan.txt 2.6 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
"Simplewan"
----------

Model overview:
---------------

Simplewan is an extension of simplenet to allow for arbitrary point-to-point
capacities.

Simplewan has nearly the same duplex queued transmission semantics as
simplenet, though with a few important differences. First, point-to-point
latencies and bandwidths are different. Second, each unique link is given its
own queue that do not interfere with the others. The use case for this model is
a set of sites with internal networks, with each site communicating via
simplewan; we assume the internal network is capable of servicing all
outgoing/incoming WAN transmissions at their full capacities.

Additional configuration is needed to initialize the link latencies/capacities.
In the codes-configuration file, the variables "net_startup_ns_file" and
"net_bw_mbps_file" must be set under the PARAMS group. They point (in a path
relative to the configuration file) to configurations for the startup and
bandwidth costs, respectively.

Each of the latency/bandwidth configuration files have the same format, based
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
on a square matrix of directed point to point capacities. Given N modelnet LPs,
it has the format:

1:1 1:2 ... 1:N
2:1 2:2 ... 2:N
      ...
N:1 N:2 ... N:N

where x:y is the latency or bandwidth between components x and y. Whitespace is
ignored, but linebreaks are not, and delimit rows of the matrix. The relative
simplewan identifiers 1..N are assigned to simplewan LPs in the order of
their appearance in the codes-configuration file. It is expected that all i:i
entries are 0 - modelnet currently doesn't handle self messages.

Support in the code is also available for triangular matrices of the format:
40
41
42
43
44
45

1:2 1:3   ...   1:N
    2:3 2:4 ... 2:N
        ...
                N-1:N

46
47
48
However, this option is currently disabled (the configuration code path has not
been expanded to allow specifying the option). The option will be enabled
into the configuration routines if deemed necessary.
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

Caveats:
--------

The model-net statistics are slightly more complex than in other model-net
implementations because there are in essence multiple queues per simplewan
instance. In particular, the "send time" and "recv time" stats are computed as
ranges of time in which the simplewan LP is actively sending/receiving data
from *any* link. Hence, simple bandwidth calculations (send bytes / send time)
may not be accurate due to skew in message issuance.

Having more than one category in simplewan will cause the times in the
derived "all" category to be off. "all" is currently implemented as the sum of
the various categories, which doesn't work when times in certain categories may
overlap.