The simulation features a large set of configuration parameters to initialize the simulator and the test scenarios. It is not possible to systematically evaluate the effects of all parameters. Some of them had to be picked based on assumptions and common sense. These parameters were the same for all simulation runs. However, we believe we picked parameters good enough to obtain realistic results and picking different parameters would not deliver qualitatively different results. Usually, we used more conservative assumptions than probably necessary.
6.2.1 Communication Parameters
As mentioned before, the Internet message latency is calculated using a Pareto distribution with a minimum latency of 20 ms. Every message transfer takes at least that time plus the time to pass through up- and downstream channels. The distribution parameter k is picked as 1.5 yielding an average latency of 60 ms. We truncated the Pareto distribution at a maximum latency of 5 seconds. In an Internet settings, most message will be much faster and TCP retransmit timers can always be adapted to retransmit sooner to get lost messages through in that maximum time with a high probability.
At first, the bandwidths of nodes were set using a scenario where most nodes had an ADSL connection with upstream bandwidths down to 192 KBit/s. We quickly recognized this to be a major bottleneck with messages in the upstream channel be- ing delayed by several seconds. Therefore, we decided not to systematically evaluate the influence of this parameter because for most settings this would just mean the storage could not work correctly. Instead, we picked a fixed symmetric bandwidth
6.2 Common Simulation Parameters 153
of 100 MBit/s that should be realistic in a few years as fibre Internet access becomes more common.
The link layer added 42 bytes of TCP/IP header data and 74 bytes of link layer data to each transferred message. During the certificate exchange on connection establishment, the three exchanged messages had a size of 1028 bytes, 1060 bytes, and 32 bytes respectively in line with the used real link layer implementation.
6.2.2 Timing parameters
Errors in physical processes like measuring time are typically modelled using normal distributions in absence of any additional information. Therefore, the clock drift of each node is drawn from a normal distribution with mean value one – the speed of the perfect clock. The standard deviation is set at σ = 0.1%. Therefore, clock drift is practically bounded at 3∗ σ = 0.3% using the common estimation that 99.73% of all values lie within 3∗ σ. The maximum allowed drift rate is 1%. This is a very conservative assumption as nowadays the timestamp counter bound to quartz crystal oscillations is used as a timing source yielding much lower drift rates [88]. The resynchronization difference to the perfect clock of each node is calculated by drawing a value from a normal distribution with mean value zero on each resynchro- nization. The standard deviation is set to σ = 3ms so clocks can be synchronized within a maximum distance of 3∗ σ = 9ms to the global time. Resynchronization is scheduled to happen every ten seconds, which is the minimum interval time allowed by the rules of NTP.
6.2.3 Lifecycle Settings
Regarding the arrival and departure of different nodes as independent, we decided to use the exponential distribution for both the inter-arrival distribution (IAD) as well as the session length distribution (SLD). We fixed the expected value of the SLD at two hours regarding this as the average time a player stays in the system. A study of MMORPG session lengths [97] suggests this is a reasonable value. We varied the IAD expected value creating an equilibrium of node join and departure at different node numbers in the network. Figure 6.2 shows the number of nodes in the network over eight hours with an expected value of 25 seconds for the IAD. Ten different random seeds were used to create ten scenarios with an equilibrium between 250 and 300 nodes after eight hours.
154 Chapter 6 Evaluation 0 50 100 150 200 250 300 350 0 5000 10000 15000 20000 25000 30000 Number of Nodes Time in s Running Nodes
Figure 6.2: Number of nodes in the network with E(SLD) = 2h and E(IAD) = 25s
Node departure was realized as graceful stopping of nodes instead of node failure. The ping messages to detect node failure within reasonable time quickly dominated the traffic and slowed down the simulation as 1000 nodes exchanged messages on each link several times a minute. In reality, people usually at least shut down their computer with the operating system closing all open connection rather than just turning it off. Furthermore, varying latency of close messages still means connected nodes do not immediately notice the departure at the same time. Therefore, this scenario is still reasonably realistic.
6.2.4 Bootstrapper Settings
The time the bootstrapping service needs to return bootstrapping peers is taken from a uniform distribution on the interval from 100 ms to 300 ms. The time for the bootstrapping service to add a node to the set of potential bootstrapping peers and to remove it when it leaves is also drawn uniformly from the interval 200 ms to 500 ms. The delays are mainly introduced to not rely on the bootstrapping service to always know the global state of the network. The delays may cause scenarios where a node has already left but is reported as a bootstrapping peer to new nodes. Furthermore, the bootstrapping service might exclude nodes from the selection that have already started to register themselves as potential bootstrapping peers.