Modes

CloudSurf allows you to monitor the performance of the cloud network in its constituent parts.

  • o The intra-datacenter network
  • o The inter-datacenter network
  • o The User-to-cloud network

Intra-datacenter network performance

This mode allows you to benchmark the network interconnecting two VMs deployed into the same geographic region.

Inter-datacenter network performance

This mode allows you to benchmark the network interconnecting two VMs deployed into different geographic regions.

User-to-Cloud network performance

This mode allows to benchmark the performance of the set of paths that interconnect the cloud consumer to the datacenter.

Preconfigured Experiments

Cloudsurf comes with a set of preconfigured experiments:

  • o TCP throughput and latency test
  • o UDP throughput test
  • o ICMP latency
  • o Path characterization

TCP throughput and latency

This experiments aims at finding the maximum TCP throughput and the perceived latency by generating high-rate (1 Gbps) synthetic TCP traffic.

UDP throughput

This experiments aims at finding the maximum UDP throughput by generating high-rate (1 Gbps) synthetic UDP traffic.

ICMP latency

This experiments aims at finding the maximum the latency perceived by generating low-rate (10 pps) ICMP traffic.

Path characterization
(Soon Available)

This experiments aims at characterizing the traversed path in terms of hop distance, traversed ASes, and number of paths.

Output Format

CloudSurf defines a common output format for the results of the experiment.

JSON file naming format

JSON file naming example:

aws-us-west-2a-t2.medium_aws-us-east-1d-t2.nano_1452774551_results.json
JSON file naming template:
<snd_prv>-<snd_plc>-<snd_type>_<rcv_prv>-<rcv_plc>-<rcv_type>_<ts>_results.json
JSON file naming fields:
  • - snd_prv → provider of sender VM
  • - snd_plc → placement of sender VM
  • - snd_type → type of sender VM
  • - rcv_prv → provider of receiver VM
  • - rcv_plc → placement of receiver VM
  • - rcv_type → type of receiver VM
  • - ts → starting timestamp of the campaign

JSON file format

JSON file example:


  • - exp_name → experiment name
  • - tool → experiment used tool
  • - proto (protocol) → experiment protocol
  • - port → experiment target port
  • - start (start_time) → experiment start time [seconds since the epoch (1970-01-01 UTC)]
  • - duration → experiment duration [s]
  • - granularity → frequency of experiment probes [s]
  • - target_bwd → target bandwidth for throughput measurements [bit/s]
  • - interval → probing interval for ICMP latency measurements [s]
  • - ip_agent → IP address of XMLRPC agent
  • - ip_sender → IP address of sender VM
  • - ip_receiver → IP address of receiver VM
  • - ip_exp_sender → target IP address at sender side
  • - ip_exp_receiver → target IP address at receiver side
  • - info_snd → information about sender VM
  • - info_rcv → information about receiver VM
  • - camp → information about campaign:
  • - provider_snd → provider of sender VM
  • - region_snd → placement of sender VM
  • - size_snd → type of sender VM
  • - provider_rcv → provider of receiver VM
  • - region_rcv → placement of receiver VM
  • - size_rcv → type of receiver VM
  • - results → experiment parsed results:
  • - <metric> → metric of interest (i.e. tput, delay, jitter, loss):
  • - detailed → detailed results
  • <timestamp>:<value>
  • - synt → experiment synthetic parameters
  • - mean → average of experiment samples
  • - median → median of experiment samples
  • - std → standard deviation of experiment samples
  • - min → minimum of experiment samples
  • - pctl5 → 5-percentile of experiment samples
  • - pctl25 → 25-percentile of experiment samples
  • - pctl75 → 75-percentile of experiment samples
  • - pctl95 → 95-percentile of experiment samples
  • - max → maximum of experiment samples

Download results from the community repository and copy them in your local <$CLOUDSURFDIR/cloudsurf_res> directory to easily visualize them through CloudSurf.