close
Warning:
BrowserModule failed with ConfigurationError: Look in the Trac log for more information.
- Timestamp:
-
Sep 19, 2008, 1:26:22 PM (16 years ago)
- Author:
-
Ingmar Baumgart
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v3
|
v4
|
|
1 | 1 | == OverSim and Churn == |
2 | | OverSim uses churn generators for simulating non-static networks. The different churn generators simulate different user behaviour and can be configured individually. Note: all churn generators use an "init phase" where nodes will be added to the network until targetOverlayTerminalNum is reached: On average every "initialMobilityDelay" seconds, one node will be added; measurements will start after all nodes have joined the network. |
| 2 | OverSim uses churn generators for simulating non-static networks. The different churn generators simulate different user behaviour and can be configured individually. Note: all churn generators use an "init phase" where nodes will be added to the network until targetOverlayTerminalNum is reached: On average every "**.initPhaseCreationInterval" seconds, one node will be added; measurements will start after all nodes have joined the network. |
3 | 3 | |
4 | 4 | === Churn Generators === |
5 | | * '''!NoChurn''' (will be added in the next release) |
| 5 | * '''!NoChurn''' |
6 | 6 | * Node behaviour: No churn. Nodes will be added until targetOverlayTerminalNum is reached; after that, the network will remain static. |
7 | 7 | * Parameters: None |
8 | | * '''!RandomChurn''' |
9 | | * Node behaviour: In fixed intervalls a random number is drawn. Depending on this number, a random node is either added, deleted or migrated. |
10 | | * Parameters: |
11 | | * targetMobilityDelay: Timespan in seconds between two actions. |
12 | | * 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. |
13 | | * Parameter restriction: The sum of all probabilities must not exeed 1. |
14 | | * Notes: This churn generator can be used to simulate static networks if all probabilities are set to 0. |
15 | 8 | * '''!LifetimeChurn''' |
16 | 9 | * Node behaviour: On creation of a node, his lifetime will be drawn randomly from a given probability function. When this time is reached, the node is removed. A new node will be created after a ''dead time'' drawn from the same probability function. |
… |
… |
|
24 | 17 | * deadtimeMean: The mean deadtime. |
25 | 18 | * Notes: This churn generator results in heavy tailed session times similar to empirical results from P2P filesharing networks or MMOGs. |
| 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. |
| 21 | * Parameters: |
| 22 | * targetMobilityDelay: Timespan in seconds between two actions. |
| 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. |
26 | 25 | |
27 | 26 | === Using multiple churn generators === |
… |
… |
|
32 | 31 | |
33 | 32 | {{{ |
34 | | **.churnGeneratorTypes = "RandomChurn LifetimeChurn" |
| 33 | **.churnGeneratorTypes = "NoChurn LifetimeChurn" |
35 | 34 | **[0].overlayType = "OverlayPubSubLobby" |
36 | 35 | **[0].tier1Type = "TierDummy" |
37 | | **[0].initialMobilityDelay=1 |
38 | | **[0].creationProbability=0.0 |
39 | | **[0].migrationProbability=0.0 |
40 | | **[0].removalProbability=0.0 |
41 | 36 | **[0].targetOverlayTerminalNum=1 |
42 | 37 | **[1].overlayType = "OverlayPubSubMMOG" |
… |
… |
|
46 | 41 | }}} |
47 | 42 | |
48 | | Here "!RandomChurn" and "!LifetimeChurn" are used. Random churn creates one single node (''**![0].targetOverlayTerminalNum=1'') that will remain static (''**![0].creationProbability=0.0 **![0].migrationProbability=0.0 **![0].removalProbability=0''). This node will use the "!OverlayPubSubLobby" overlay module. The other nodes will be managend by !LifetimeChurn. There will be an average of 10 these nodes (''**![1].targetOverlayTerminalNum=10''). They will stay for average 1000 seconds (''**.![1].lifetimeMean=1000'') and use "OverlayPubSubMMOG" as overlay module, and "!SimpleGameClientModules" as tier 1 application. |
| 43 | Here "!NoChurn" and "!LifetimeChurn" are used. NoChurn creates one single static node (''**![0].targetOverlayTerminalNum=1''). This node will use the "!OverlayPubSubLobby" overlay module. The other nodes will be managend by !LifetimeChurn. There will be an average of 10 these nodes (''**![1].targetOverlayTerminalNum=10''). They will stay for average 1000 seconds (''**.![1].lifetimeMean=1000'') and use "OverlayPubSubMMOG" as overlay module, and "!SimpleGameClientModules" as tier 1 application. |