Experiment description XML is an XML file describing a single experiment.
<experiment> <name value="csComparison"/> <nodes value="200"/> <playbackSeconds value="720"/> <runs value="5"/> <uploadBandwidthDistribution> <distribution type="ConstantDistribution" value="5560000.0"/> </uploadBandwidthDistribution> <serverUploadBandwidth value="5560000"/> <messageHeaderSize value="64"/> <seed value="12345678"/> <descriptions value="1"/> <cycleLength value="1000"/> <churnModel type="none"> </churnModel> <skipIfNoChunk /> <enableTextLogger /> <debugSeed value="1242" /> <startupBuffering value="4000"/> <serverStartup value="10000"/> <streamWindowSize value="120"/> <framework value="PeerSimFramework" dropRate="0.01" minDelay="200" maxDelay="400" /> <bitrate value="500000"/> <!-- 500 kbps --> <streamingAlgorithm algorithm="CoolStreaming"> <overlayAlgorithm algorithm="CoolStreamingOverlay" H="200" M="2" c="1" amountToSend="3" exploreRound="30" gossipTimeout="6" > <clusteringAlgorithm algorithm="FullCluster"/> </overlayAlgorithm> </streamingAlgorithm> </experiment>
The name attribute specifies the name of the experiment.
A directory with such name will be created and will store the experiment results.
The nodes attribute sets the size of the P2P network - the amount of nodes that will be created.
The playbackSeconds attribute sets the amount of seconds to run.
The runs attribute sets the numbers of runs to perform this experiment. the results are then averaged overall runs.
Sets the distribution of bandwidth (in bits per second) of peers. [Distributions]
The upload bandwidth of the server node (in bits per second).
The simulated size of a header of a message sent in the system.
This is the size (in seconds) of the window each client holds, and tries to fill when using pull methods.
Amount of bits that every second of the movie takes up.
This seed is used to generate different seed for every run. a run with a specific seed must always generate the same results.
The amount of descriptions (MDCs) to be used by the system.
The length of a cycle between two consecutive calls to nextCycle functions.
The churn model that is to be used during the run. [Churn Models]
If this element is present, whenever a chunk that should be played is not present - it is skipped. Otherwise, the client would wait for the missing chunk.
Enables the text logger logging all messages.
If present, the system will perform a single run with the secified seed. Used for debugging.
The time in milliseconds that a node waits after joining the system and before starting playback.
The time in milliseconds that the server waits after joining the system and before starting content generation and streaming.
The algorithm to be used inside the cluster. different streaming algorithms may have different parameters and expect different child nodes. [Streaming Algorithms]
Wiki: Churn Models
Wiki: Distributions
Wiki: Home
Wiki: Streaming Algorithms