• Keine Ergebnisse gefunden

In our first experiment peers, join the network randomly. We always conduct two simulation steps after a node has joined the network (one simulation step is about 100ms on average). We measure the time, i.e., the number of simulation steps, required to establish a correct hierarchy. The hierarchy tree is constrained to at most three subordinate positions per peer. Since peers join the network randomly, at least at the beginning, they are usually placed first on higher positions than their ranks.

That avoids gaps in the hierarchy but produces higher reorganization costs in the beginning of the simulation process. When the peers with the correct ranks appear, reorganization takes place.

The empirical results show that the time needed to establish correct hierarchy varies only slightly with the network size (see Figure 8.3). It takes about 250 simulation steps from the time of the last joined peer until the time when the hierarchy is fully established. One simulation step is the time needed for one communication hop, which we set to 100ms. For example, in the observed scenario, the organizational structure is established and functioning after approximately 25s.

The same experiment performed on Symphony has different reorganization costs (see Figure 8.4). The time needed to reestablish the hierarchy depends on the network size, because additional routing steps are required. Small networks perform any routing within one densely connected cluster. With increasing network size, several clusters appear, which are only sparsely connected with long distance links.

In that case, routing means leaving a cluster with a long distance link, entering another cluster and then locally routing to the desired target. Nonetheless, average reorganization costs are below 60s for a network with 1000 peers.

Comparing both P2P networks, the same implementation of DCC shows much better performance in the Chord network. The reorganization delay is about 60%

less than that of Symphony. Furthermore, the variance of Chord is smaller than the variance of Symphony. This comes from the better structure of the underlying net-work of Chord. Nevertheless, the price is more links per peer and very constrained freedom when new links are established.

Our next experiment simulates a typical scenario: after the joining process is over and both the underlying network and the hierarchy are in steady state, we simulate a random crash of 5% of all peers. We set the crash rate to 5 crashes per second (i.e., one peer crashes every second simulation step). During the crash phase, the underlying P2P network is already allowed to start maintenance operations.

-100 0 100 200 300 400 500 600

0 200 400 600 800 1000

Steps required to reestablish hierarchy

Number of peers in the network Steps to reestablish hierarchy in Chord

Figure 8.6: Reestablish hierarchy in Chord after failure of 5% of all nodes The results show that the time required for Chord to reestablish the correct hierarchy after the last peer has crashed grows logarithmically with the network size (see Figure 8.6).

The same experiment is carried out on the Symphony network as well. Figure 8.7 shows the repair costs for a random crash of 5% of all Symphony peers. Given a network size of 1000 peers, on average, 800 steps, which require approximately 80s, are needed in order to fully reestablish the organizational structure. As observed in the former experiment, where we continuously added peers to the network, Symphony has higher variance in the delay for repairing the network. This is again caused by the underlying routing mechanism of Symphony.

Then, we investigate the impact of different crash rates with a fixed number of peers (500) in the network. The experiment requires an already established organizational structure and begins after both the underlying network and the hierarchy are in a steady state. We simulate crash rates between 1% and 20%.

It turns out that the time Chord required to reestablish correct hierarchy hardly increases (see Figure 8.8). Even in a situation of a crash of 20% of all peers, the network will most likely be re-established in between 40s and 60s. In other words, independent of the underlying network, the overhead for building and maintaining the network hierarchy only increases marginally with the network size and does not depend on the crash rate.

Using the same simulation parameters, Symphony shows a slightly longer delay than Chord. Though fail rates up to 20% are successfully repaired by DCC, recovering requires almost always require more time than Chord. Node failure rates higher than 15% show decreasing repair costs. This effect is even more visible using a higher fraction of node failures. Even though this effect may be counterintuitive, it occurs because the higher the number of failed nodes, the smaller the network size becomes. The organizational hierarchy substantially shrinks and therefore fewer

-200 0 200 400 600 800 1000 1200 1400 1600

0 200 400 600 800 1000

Steps required to reestablish hierarchy

Number of peers in the network Steps to reestablish hierarchy in Symphony

Figure 8.7: Reestablish hierarchy in Symphony after failure of 5% of all nodes

messages are needed for it to be reestablished.

All results described above are acquired with hierarchy constrained to at most three subordinate positions per peer. But how does this affect the overall performance?

We perform another experiment. We fix the number of peers in the network, vary the number of subordinate positions, remove the most superior peer (which produces the highest reorganizational costs possible) and measure the time needed for the hierarchy to recover.

From graph theory, we know: for a fixed number,N, of peers in a given network, the hierarchy heighthdecreases when the number of subordinate positions grows, and vice versa. Forssubordinate positions, it holds thath=logsN. Therefore, when the most superior peer fails, the largerhis, and the faster the hierarchy recovers to a correct state. The time required for the hierarchy to recover depends on its height.

Thus, the recovery time scales asO(logN).

Figure 8.9 shows results for both Chord and Symphony networks with a fixed number of 500 peers and under perfect conditions, i.e., no churn and no congestion.

The Chord network shows faster recovery time, which is caused by the underlying faster routing algorithm. In addition, our experiments have shown high variance in the experiments carried out on Symphony. Due to the way the routing algorithm of Symphony is built, the average delay may vary more than those of Chord. In the worst case, i.e., two subordinate nodes per peer, Symphony recovers from failures of the root node within 70 seconds, and Chord recovers in 40 seconds on average.

Increasing the number of subordinates from two to four greatly reduces the delay for reestablishing the hierarchy: by 40% within the Chord network and by 30%

within the Symphony network.

100 200 300 400 500 600 700 800 900

0 5 10 15 20

Steps required to reestablish hierarchy

Failrate [%]

Steps to reestablish hierarchy in Chord Steps to reestablish hierarchy in Symphony

Figure 8.8: Reestablish hierarchy under failure rate up to 20%

0 100 200 300 400 500 600 700 800

2 4 6 8 10

Steps required to reestablish hierarchy

Number of subordinate peers per node Impact of removing the root in Chord Impact of removing the root in Symphony

Figure 8.9: Impact of the number of subordinate positions for reestablishing hierarchy after root-node failure