wiki:HowTo/virtualMobilitySS

Version 7 (modified by (none), 18 years ago) ( diff )

Virtual Mobility using Spatial Switching

Enter description from paper here.

For Experimenters

The setup

  • Download and untar the attached file in your home directory.
    $ tar -xvzf vmss.tar.gz
    

A list of files should look similar to below.

$ cd ~/vmss
$ ls -ltr
-rw------- 1 sanjit user 9105 May 18  2005 RandomWalk1.pl
-rw-r--r-- 1 sanjit user    0 May 18  2005 conflicts.txt
-rwxr-xr-x 1 sanjit user  818 May 18  2005 CreateMobilitySetup
-rw-r--r-- 1 sanjit user  908 Dec  3  2005 ProcessVMtxtFiles.pl
-rwxr-xr-x 1 sanjit user  295 Dec  3  2005 loadclick.sh
-rw-r--r-- 1 sanjit user   16 Jun  7  2006 listofvms.txt
-rw-r--r-- 1 sanjit user   20 Jun  7  2006 VM2.txt
-rwxr-xr-x 1 sanjit user  174 Jun  7  2006 start.sh
-rwxr-xr-x 1 sanjit user  506 Jun  7  2006 loadFiles.sh
-rw-r--r-- 1 sanjit user  141 Jun  7  2006 VM1.txt
-rwxr-xr-x 1 sanjit user   93 Jun  9  2006 setup.sh
drwxr-xr-x 2 sanjit user 4096 Feb  6 23:38 database
drwxr-xr-x 2 sanjit user 4096 Feb  6 23:56 EthernetAddresses
-rw-r--r-- 1 sanjit user    0 Feb  7 18:39 dump

Running an experiment

  • Specify the nodes that should be used as VMs in the file listofvms.txt. For the purpose of illustration let us assume that we want to emulate two mobile nodes on the grid. Each mobile node has to be associated with a VM, an association that will stay throughout the experiment. Select nodes [3,6] and [5,6] on the grid. The corresponding entries in the file listofvms.txt are shown below.
    $ cat listofvms.txt
    node1-2
    node1-4
    
    Any nodes on the grid may be selected as VM nodes. A VM nodes uniquely maps one and only one mobile node.
  • For each VM create a file VM<no>.txt where <no> can take a value from 1 to number of VMs. In our example we have two VMs, we create VM1.txt and VM2.txt. Each VM<no>.txt file contains two columns. The first column contains time and the second column the grid node that should be mapped to the mobile node at the time. The mapping stays unless the next entry in the VM<no>.txt changes the mapping. Sample VM1.txt and VM2.txt are shown.
    $ cat VM1.txt
    0 node4-1
    5 node4-3
    10 node4-5
    15 node4-1
    20 node4-3
    25 node4-5
    30 node4-1
    35 node4-3
    40 node4-5
    45 node4-1
    50 node4-3
    55 node4-5
    60 node4-1
    $ cat VM2.txt
    0 node4-7
    0 node4-7
    

In the example mobile node corresponding to VM1 is mapped to nodes [4,1], [4,3], [4,5] at intervals of 5 seconds. The mapping is repeated and the total experiment time is 60 sec after which the mobile node is fixed to node [4,1] on the grid. The mobile node corresponding to VM2 is mapped to node [4,7] on the grid. The mapping doesn't change. The repeated entry is a adhoc fix. Whenever a VM<no>.txt contains just one entry, the entry must be repeated twice. The experimenter needs to ensure that at no time more than one mobile node be mapped to a grid node. Only atheros grid nodes are supported.

  • Run the script CreateMobilitySetup once you have populated the files listofvms.txt and VM<no>.txt(s).
    $ CreateMobilitySetup
    

Click files/scripts are generated in the EthernetAddresses directory. A click file/script is generated for each VM. Also a click file is generated for each grid node which is mapped to a mobile node at a certain time during the experiment. Files corresponding to VMs are of the name mob_server_src_generated_VM<no>.click. Those corresponding to mapped nodes on the grid are of the name mob_node_src_generated_Node_<x>_<y>.click where [x,y] is the grid co-ordinate of the node mapped. The list of files generated for our experiment are listed below.

$ cd EthernetAddresses
$ ls *.click
mob_server_src_generated_VM1.click
mob_server_src_generated_VM2.click
mob_node_src_generated_Node_4_1.click  
mob_node_src_generated_Node_4_5.click  
mob_node_src_generated_Node_4_3.click  
mob_node_src_generated_Node_4_7.click  
  • Image all grid nodes (VM nodes and the nodes mapped to mobile nodes) with the image click-2.4.26-20051204.ndz.
  • Upload the click files onto the grid nodes they correspond. The file loadFiles.sh contains sample commands for the example experiment.
  • For each node install the click script. On nodes specified in the VM<no>.txt(s) it is important that the ath0 interface is up.
    $ ssh root@nodex-y
    $ click-install mob*.click
    
  • The installation of the click script marks the beginning of experiment on the node.

For Developers

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.