OverSim
The Overlay Simulation Framework
OverSim
 

Changes between Version 9 and Version 10 of OverSimChurn


Ignore:
Timestamp:
Nov 28, 2011, 9:32:29 AM (6 years ago)
Author:
baumgart@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OverSimChurn

    v9 v10  
    1818   * Notes: This churn generator results in heavy tailed session times similar to empirical results from P2P filesharing networks or MMOGs.
    1919* '''!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.
    2121   * Parameters:
    2222       * targetMobilityDelay: Timespan in seconds between two actions.
    2323       * 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.
    2525
    2626=== 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.
     27In 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.
    2828
    2929'''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.
     30We 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.
    3131
    3232{{{
    3333**.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
    4141}}}
    4242