close Warning: BrowserModule failed with ConfigurationError: Look in the Trac log for more information.

Changes between Version 3 and Version 4 of OverSimChurn


Ignore:
Timestamp:
Sep 19, 2008, 1:26:22 PM (16 years ago)
Author:
Ingmar Baumgart
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OverSimChurn

    v3 v4  
    11== 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.
     2OverSim 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.
    33
    44=== Churn Generators ===
    5 * '''!NoChurn''' (will be added in the next release)
     5* '''!NoChurn'''
    66   * Node behaviour: No churn. Nodes will be added until targetOverlayTerminalNum is reached; after that, the network will remain static.
    77   * 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.
    158* '''!LifetimeChurn'''
    169   * 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.
     
    2417      * deadtimeMean: The mean deadtime.
    2518   * 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.
    2625
    2726=== Using multiple churn generators ===
     
    3231
    3332{{{
    34 **.churnGeneratorTypes = "RandomChurn LifetimeChurn"
     33**.churnGeneratorTypes = "NoChurn LifetimeChurn"
    3534**[0].overlayType = "OverlayPubSubLobby"
    3635**[0].tier1Type = "TierDummy"
    37 **[0].initialMobilityDelay=1
    38 **[0].creationProbability=0.0
    39 **[0].migrationProbability=0.0
    40 **[0].removalProbability=0.0
    4136**[0].targetOverlayTerminalNum=1
    4237**[1].overlayType = "OverlayPubSubMMOG"
     
    4641}}}
    4742
    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.
     43Here "!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.