Changes between Version 9 and Version 10 of GeniTmixCalibTutorial


Ignore:
Timestamp:
06/19/14 14:28:58 (10 years ago)
Author:
Ben Newton
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GeniTmixCalibTutorial

    v9 v10  
    55This 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.
    66
     7At 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.  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.   
    78
    89== A Reserve Resources in Omni or GENI Portal ==
     
    2122As expected, <username> should be replaced with your GENI username, and <hostname> and <port> are replaced with the hostname and port of the reserved GENI resource noted in the previous step. 
    2223
    23 == C Run Tmix  Script ==
    24 1.  The image loaded on the nodes has the tmix tools already installed and in your path.  Each time the system boots, a kernel module is automatically inserted to assist in simulating the packet delays.  Issue the following command to run a Tmix setup script
     24== C Run Tmix  Script and view data files ==
     251.  The image loaded on the nodes has the tmix tools already installed and in your path.  Each time the system boots, a kernel module is automatically inserted to assist in simulating the packet delays.  Issue the following command on the SSH terminal of the "left" node to run a Tmix setup script
    2526{{{
    2627sudo /local/tmix-script.sh
    2728}}}
    2829
    29 2.  Now, list the contents of your home directory.
     302.  '''Repeat''' the above command in the SSH terminal of the "right" node. 
     31
     323.  Now, list the contents of your home directory on either node.
    3033{{{
    3134ls
     
    3336You should see a tmix.conf file, which contains the configuration for a tmix experiment.  Open the file with an editor such as vim, emacs, or nano, and browse its contents.  These are 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 lines you will need to change as we run our calibration experiments. 
    3437
    35 3.  List the contents of the tmix data directory by typing the following:
     383.  List the contents of the tmix data directory by typing the following on either node:
    3639{{{
    3740ls /opt/tmix-1.2/data
    3841}}}
    39 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.  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.   
     42A 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.    
    4043
    41 4.  Whe
     44== C Run Tmix  Script and view data files ==
     45
     461.  '''Edit your tmix.conf''' file using a terminal text editor such that your Crecv and Cinit lines are the following. 
     47{{{
     48Cinit_Trace = /opt/tmix-1.2/data/1of10.cinit.tcvec
     49Crecv_Trace = /opt/tmix-1.2/data/1of10.crecv.tcvec
     50}}}
     51on the "left" node, and
     52{{{
     53Cinit_Trace = /opt/tmix-1.2/data/1of10.crecv.tcvec
     54Crecv_Trace = /opt/tmix-1.2/data/1of10.cinit.tcvec
     55}}}
    4256Tmix relies upon a pre-determined start time to synchronize tmix on the two nodes.  On both nodes run the following command to determine the time and date:
    4357{{{