Changes between Version 72 and Version 73 of GeniTmixCalibTutorial


Ignore:
Timestamp:
06/21/14 15:30:33 (5 years ago)
Author:
Ben Newton
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GeniTmixCalibTutorial

    v72 v73  
    33= Calibrating Experiments on GENI using the Tmix Traffic Generation Tool =
    44
    5 This page describes how to run calibration experiments with [wiki:GeniTmix Tmix] on GENI nodes.  This tutorial assumes that you are already familiar with basic experimentation with GENI, and that you have access to a machine from which you can execute ssh commands and login to external machines.  If you wish to reserve resources using omni, some version of Linux or Unix running on a PC or virtual machine is required.  The tutorial also assumes basic familiarity with Linux or Unix, and the ability to use a terminal text editor such as emacs, vim or nano.
     5This page describes how to run calibration experiments with [wiki:GeniTmix Tmix] on GENI nodes.  This tutorial assumes that you are already familiar with basic experimentation with GENI and that you have access to a machine from which you can execute ssh commands and login to external machines.  If you wish to reserve resources using omni, some version of Linux or Unix running on a PC or virtual machine is required.  This tutorial also assumes basic familiarity with Linux or Unix, as well as the ability to use a terminal text editor such as emacs, vim or nano.
    66
    7 Before starting it is important to understand what calibration is, and why it is important.  At run-time Tmix "replays" the exchanges encoded in a set of connection vectors (or c-vecs).  The connection vectors are extracted from traffic captured on a real network link.    Since all of the traffic crossing a busy link cannot generally be replayed using a single pair of nodes, it is customary to split the connection vectors into N pairs of tcvec files.  These can then be used on N pairs of machines to simulate the captured network traffic.  If all of the traffic observed on a busy link cannot be simulated with just two nodes, what percentage of the traffic can we replay?  How many pairs of nodes do we need to use to simulate all the traffic?  It is exactly these questions that calibration seeks to answer.  Below we will walk through the process of determining how much traffic can be simulated by a single pair of nodes.   
     7Before starting, it is important to understand what calibration is, and why it is important.  At run-time, Tmix "replays" the exchanges encoded in a set of connection vectors (or c-vecs).  The connection vectors are extracted from traffic captured on a real network link.    Since all of the traffic crossing a busy link cannot generally be replayed using a single pair of nodes, it is customary to split the connection vectors into N pairs of tcvec files.  These can then be used on N pairs of machines to simulate the captured network traffic.  If all of the traffic observed on a busy link cannot be simulated with just two nodes, what percentage of the traffic can we replay?  How many pairs of nodes do we need to use to simulate all the traffic?  It is exactly these questions that calibration seeks to answer.  Below, we will walk through the process of determining how much traffic can be simulated by a single pair of nodes.   
    88
    99== A. Reserve Resources on GENI Portal ==
    10 Click the link below for instructions on generating a slice and reserving resources using the GENI Portal.  For this tutorial we will use the '''“Tmix 10 min experiment”''' resource specification (rspec). If you are completing this tutorial at a conference you will add nodes from the aggregate you were assigned to use by the person in charge of the tutorial. Otherwise, you may use any of the '''instageni''' or ProtoGENI aggregates.  The image and setup are the same as in the basic Tmix Tutorial. 
     10Click the link below for instructions on generating a slice and reserving resources using the GENI Portal.  For this tutorial, we will use the '''“Tmix 10 min experiment”''' resource specification (rspec). If you are completing this tutorial at a conference, add nodes from the aggregate you were assigned to use by the leader of the tutorial. Otherwise, you may use any of the '''InstaGENI''' or ProtoGENI aggregates.  The image and setup are the same as in the basic Tmix Tutorial. 
    1111
    1212[wiki:GeniTmixTutorialPortal Reserve Resources using GENI Portal]
     
    1515== B. Log in to nodes ==
    1616Two nodes have been reserved with the hostnames "left" and "right".  Open two new SSH terminals, one to each node.   
    17 On Linux you may use the following command to log in to both nodes reserved in the previous step. 
     17On Linux, you may use the following command to log in to both nodes reserved in the previous step. 
    1818{{{
    1919ssh -i ~/.ssh/id_geni_ssh_rsa <username>@<hostname> -p <port>
     
    2626ls
    2727}}}
    28 2.  If you do not see a "tmix.conf" file in your home directory type:
     282.  If you do not see a "tmix.conf" file in your home directory, type:
    2929{{{
    3030/local/tmix-script.sh
    3131}}}
    32 This script generates a "tmix.conf" file and attempts to reload the kernel module.  Ignore the warning that that effect.
     32This script generates a "tmix.conf" file and attempts to re-insert the kernel module, which it may report is already loaded.
    3333
    34343. '''Repeat''' step 2 for the other node. 
    3535
    36 4. Open the "tmix.conf" file with an editor such as vim, emacs, or nano, and browse its contents.  The entries represent various settings that control a Tmix experiment. At the end of the file notice the Crecv_Trace and Cinit_Trace lines.  These are the only two lines you will need to change as we run our calibration experiments. 
     364. Open the "tmix.conf" file with an editor such as vim, emacs, or nano, and browse its contents.  The entries represent various settings that control a Tmix experiment. At the end of the file, notice the Crecv_Trace and Cinit_Trace lines.  These are the only two lines you will need to change as we run our calibration experiments. 
    3737
    38385.  List the contents of the Tmix data directory by typing the following on either node:
     
    4040ls /opt/tmix-1.2/data
    4141}}}
    42 A set of connection vectors is described by with a pair of tcvec files (labeled cinit.tcvec and crecv.tcvec).  These two files correspond to connections that are initiated on either side of the link on which the traffic data was originally captured.  Since all of the traffic crossing a busy link cannot generally be replayed using a single pair of nodes, it is customary to split the connection vectors into N pairs of tcvec files.  Most of the files displayed in the listing are named 1ofN.crecv.tcvec.  This is a single pair of connection vector files obtained by evenly splitting the original set of connection vectors into N parts.  For example, running Tmix with the pair of files, 1of10.crecv.tcvec and 1of10.cinit.tcvec, will replay about 1/10th the traffic originally recorded on the link.  Below we will perform a set of experiments in which we iterate to find the point at which our pair of nodes can no longer work fast enough to simulate all the network traffic.   
     42A set of connection vectors is described by a pair of tcvec files (labeled cinit.tcvec and crecv.tcvec).  These two files correspond to connections that are initiated on either side of the link on which the traffic data was originally captured.  Since all of the traffic crossing a busy link cannot generally be replayed using a single pair of nodes, it is customary to split the connection vectors into N pairs of tcvec files.  Most of the files displayed in the listing are named 1ofN.crecv.tcvec.  This is a single pair of connection vector files obtained by evenly splitting the original set of connection vectors into N parts.  For example, running Tmix with the pair of files, 1of10.crecv.tcvec and 1of10.cinit.tcvec, will replay about 1/10th the traffic originally recorded on the link.  Below we will perform a set of experiments in which we iterate to find the point at which our pair of nodes can no longer work fast enough to simulate all the network traffic.   
    4343
    4444== D. Run Tmix  Script and view data files ==