close
Warning:
BrowserModule failed with ConfigurationError: Look in the Trac log for more information.
- Timestamp:
-
Sep 19, 2008, 1:26:22 PM (17 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. |