close
Warning:
BrowserModule failed with ConfigurationError: Look in the Trac log for more information.
- Timestamp:
-
Nov 28, 2011, 9:32:29 AM (13 years ago)
- Author:
-
baumgart@…
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v9
|
v10
|
|
18 | 18 | * Notes: This churn generator results in heavy tailed session times similar to empirical results from P2P filesharing networks or MMOGs. |
19 | 19 | * '''!RandomChurn''' |
20 | | * Node behaviour: In fixed intervalls a random number is drawn. Depending on this number, a random node is either added, deleted or migrated. |
| 20 | * Node behavior: In fixed intervals a random number is drawn. Depending on this number, a random node is either added, deleted or migrated. |
21 | 21 | * Parameters: |
22 | 22 | * targetMobilityDelay: Timespan in seconds between two actions. |
23 | 23 | * creationProbability, migrationProbability, removalProbability: Changes the probability of the actions taken when a number is drawn. Example: ''creationProbability=0.5, removalProbability=0.5, migrationProbability=0''. In this case, every ''targetMobilityDelay'' seconds a node is added or removed with a probability of 50%. Other example: ''creationProbability=0.6, removalProbability=0.4, migrationProbability=0''. In this example, nodes are created with a probability of 60% and removed with a probability of 40%. This will result in a constantly growing network. |
24 | | * Parameter restriction: The sum of all probabilities must not exeed 1. |
| 24 | * Parameter restriction: The sum of all probabilities must not exceed 1. |
25 | 25 | |
26 | 26 | === Using multiple churn generators === |
27 | | In some simulation scenarios you might feel the need to use multiple churn generators in a single run, for example when you have two clases of nodes that act differently. You can do this by specifying multiple churn generators, seperated by a single space. You can then configure each churn generator seperately by using "**![0]." as prefix for parameters valid for nodes controlled by the first churn generator, "**![1]" for the second, and so on. |
| 27 | In some simulation scenarios you might feel the need to use multiple churn generators in a single run, for example when you have two classes of nodes that act differently. You can do this by specifying multiple churn generators, separated by a single space. You can then configure each churn generator separately by using "**-0[*]." as prefix for parameters valid for nodes controlled by the first churn generator, "**-1[*]" for the second, and so on. |
28 | 28 | |
29 | 29 | '''Example''': |
30 | | We want to use PubSubMMOG, a protocoll that relies on a central lobby server for some tasks, but uses peer-to-peer techniques for everything else. This lobby server is assumed to be fail save, all other clients will join or leave the network frequently. This implies we need two different churn generators: One for the lobby server, one for the rest of the network. |
| 30 | We want to use PubSubMMOG, a protocol that relies on a central lobby server for some tasks, but uses peer-to-peer techniques for everything else. This lobby server is assumed to be fail save, all other clients will join or leave the network frequently. This implies we need two different churn generators: One for the lobby server, one for the rest of the network. |
31 | 31 | |
32 | 32 | {{{ |
33 | 33 | **.churnGeneratorTypes = "oversim.common.NoChurn oversim.common.LifetimeChurn" |
34 | | **[0].overlayType = "oversim.overlay.pubsubmmog.OverlayPubSubLobby" |
35 | | **[0].tier1Type = "oversim.common.TierDummy" |
36 | | **[0].targetOverlayTerminalNum = 1 |
37 | | **[1].overlayType = "oversim.overlay.pubsubmmog.OverlayPubSubMMOG" |
38 | | **[1].tier1Type = "oversim.applications.simplegameclient.SimpleGameClientModules" |
39 | | **[1].targetOverlayTerminalNum=10 |
40 | | **[1].lifetimeMean=1000s |
| 34 | **-0[*].overlayType = "oversim.overlay.pubsubmmog.OverlayPubSubLobby" |
| 35 | **-0[*].tier1Type = "oversim.common.TierDummy" |
| 36 | **-0[*].targetOverlayTerminalNum = 1 |
| 37 | **-1[*].overlayType = "oversim.overlay.pubsubmmog.OverlayPubSubMMOG" |
| 38 | **-1[*].tier1Type = "oversim.applications.simplegameclient.SimpleGameClientModules" |
| 39 | **-1[*].targetOverlayTerminalNum=10 |
| 40 | **-1[*].lifetimeMean=1000s |
41 | 41 | }}} |
42 | 42 | |