Difference between revisions of "Running Timer Code"

From Earlham CS Department
Jump to navigation Jump to search
Line 1: Line 1:
 
Basic Flow:
 
Basic Flow:
 
#make sure the tp_timer module is installed and working on the client and server nodes
 
#make sure the tp_timer module is installed and working on the client and server nodes
#clear /proc/tp_timer on both client and server machines (just read its contents; cat /proc/tp_timer)
+
#clear /proc/tp_timer on both client and server machines (just read its contents; cat /proc/tp_timer > /dev/null)
 
#run pacgen on client and server to amass new data.
 
#run pacgen on client and server to amass new data.
 
#read data into log files on both server and client
 
#read data into log files on both server and client

Revision as of 13:06, 21 October 2005

Basic Flow:

  1. make sure the tp_timer module is installed and working on the client and server nodes
  2. clear /proc/tp_timer on both client and server machines (just read its contents; cat /proc/tp_timer > /dev/null)
  3. run pacgen on client and server to amass new data.
  4. read data into log files on both server and client
  5. load data from the log files into database
  6. look at data via php scripts


Machines setup with llk timing: b10,b11,c10,c11

Need to check out from CVS:

  • llk-pacgen - cvs module with modified pacgen


Instructions on compiling and/or installing the tp_timer kernel module from Alex go here.

tp timer must be compiled into the kernel or compiled/loaded as a module. Note that there is a significant chance that this compilation will crash the machine. May not want to compile the module on the machine you want to test with.

pacgen sample commands:

./server tcp <port number>
./client -t <protocol> -s <source IP> -m <source port> -d <dest IP> -p <dest port>

Each window is a specific ID for the packet. This ID is used as the payload for the packets. Useful for checking for packet fragmentation (educated guess via Alex). Windows are 0xffffffff, 0xffffffff (2 unsigned ints worth of 1's), an unsigned int for socket/thread id (We don't use it; that part of the code was removed), and an unsigned int holding the window number (we don't know what this is for).

After pacgen is ran with on a tp timer enabled machine, the timing results will be available in /proc/tp_timer. Note that after you read this proc entry, the information will be cleared.


To enter the data into our database:

  1. Collect the /proc/tp_timer from the server node and the client node:
    1. cat /proc/tp_timer > tp_timer_client.log
  2. Execute the create-table-llk.pl script found in the the llk cvs module in the scripts sub directory.
    1. Usage: ./create-table-llk.pl <tablename> <label> <datafile> <client|server>
    2. If the table given by name to the scripts doesn't exist, the script creates the table.