Changes between Version 2 and Version 3 of GENIEducation/SampleAssignments/Template/ExerciseLayout/Execute


Ignore:
Timestamp:
05/08/13 13:38:47 (11 years ago)
Author:
shuang@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIEducation/SampleAssignments/Template/ExerciseLayout/Execute

    v2 v3  
    1 = [wiki:GENIEducation/SampleAssignments/Template/ExerciseLayout <EXERCISE TITLE>] =
     1= [wiki:GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout <TCP ASSIGNMENT>] =
    22{{{
    33#!html
     
    1919
    2020= STEPS FOR EXECUTING EXERCISE =
     21Now that we have reserved the nodes. Let's log on to each nodes and do experiment. [[BR]]
     22Recall that the nodes reserved are pc73, pc81, pc55, pc47, pc84.[[BR]]
     23pc47 is top; pc84 is bottom; pc81 is left; pc55 is right; pc73 is center. We can figure this out from the output of "createsliver" step. [[BR]]
     24I typically draw a topology, naming the nodes correctly for quick reference; but again we can use the GENI Portal to see a graphical representation of the topology, with named nodes. [[BR]]
     25However, the flack interface (we can launch it via GENI Portal) still does not show the interface numbers of each nodes (we might need those interface numbers when we debug our experiment). [[BR]]
     26For example, we might want to see the traffic sent from center to top, then we need to do "tcpdump" on the interface that center uses to connect to top. [[BR]]
     27Right now we can not do this via the flack interface. But we can see it from the output of "createsliver" step (another reason I prefer to use command line omni :-))
     28
     29 '''Useful commands:''' [[BR]]
     30 Change the use of congestion control algorithm:
     31{{{
     32echo reno | sudo tee /proc/sys/net/ipv4/tcp_congestion_control
     33echo cubic | sudo tee /proc/sys/net/ipv4/tcp_congestion_control
     34}}}
     35 Change the delay/loss of a particular interface:
     36{{{
     37sudo /sbin/tc qdisc add dev eth1 root handle 1:0 netem delay 200ms loss 5%
     38}}}
     39 Restore network delay/loss on nic card:
     40{{{
     41sudo /sbin/tc qdisc del dev eth1 root
     42}}}
     43
     44
     45
     46'''1. compare cubic and reno under no loss/delay introduced:[[BR]]'''
     47 use default TCP congestion control (cubic) on left and right, run iperf between them: [[BR]]
     48 On left, run:
     49{{{
     50/usr/local/etc/emulab/emulab-iperf -s
     51}}}
     52 On right, run (10.10.1.1 is the ip address for left):
     53{{{
     54/usr/local/etc/emulab/emulab-iperf -c 10.10.1.1 -t 60
     55}}}
     56 Results: 94.2 Mbps for Cubic when there is no delay introduced
     57{{{
     58------------------------------------------------------------
     59Client connecting to 10.10.1.1, TCP port 5001
     60TCP window size: 16.0 KByte (default)
     61------------------------------------------------------------
     62[  3] local 10.10.2.1 port 53755 connected with 10.10.1.1 port 5001
     63[  3]  0.0-60.0 sec    674 MBytes  94.2 Mbits/sec
     64}}}
     65
     66 Let both left and right use reno as the TCP congestion control mechanism, repeat the experiments:
     67{{{
     68echo reno | sudo tee /proc/sys/net/ipv4/tcp_congestion_control
     69}}}
     70 Results: 94.2 Mbps for reno when there is no delay introduced
     71{{{
     72------------------------------------------------------------
     73Client connecting to 10.10.1.1, TCP port 5001
     74TCP window size: 16.0 KByte (default)
     75------------------------------------------------------------
     76[  3] local 10.10.2.1 port 53073 connected with 10.10.1.1 port 5001
     77[  3]  0.0-60.0 sec    674 MBytes  94.2 Mbits/sec
     78}}}
     79
     80 '''Answer:''' they are the same under no loss/delay
     81
     822. add 300ms delay and see how it goes: [[BR]]
     83 With Cubic, here is the result:
     84{{{
     85[  3]  0.0-1800.2 sec  6.57 GBytes  31.3 Mbits/sec
     86[  3]  0.0-60.2 sec    213 MBytes  29.7 Mbits/sec
     87}}}
     88 With Reno, here is the result:
     89{{{
     90[  3]  0.0-1800.1 sec  6.57 GBytes  31.3 Mbits/sec
     91[  3]  0.0-60.2 sec    214 MBytes  29.8 Mbits/sec
     92}}}
     93
     94 '''Answer:''' I was hoping to see Cubic out-performs Reno but it seems that they are the same in this case.
     95
     96 3. repeat the experiments with 30 parallel connections (-P 30 option in iperf) and see how it goes: [[BR]]
     97 With Cubic, here is the result:
     98{{{
     99[ 12]  0.0-57.0 sec  13.1 MBytes  1.93 Mbits/sec
     100[ 16]  0.0-57.0 sec  13.8 MBytes  2.03 Mbits/sec
     101[ 14]  0.0-57.3 sec  20.2 MBytes  2.96 Mbits/sec
     102[ 18]  0.0-57.4 sec  18.4 MBytes  2.69 Mbits/sec
     103[  8]  0.0-57.4 sec  20.3 MBytes  2.97 Mbits/sec
     104[  7]  0.0-57.3 sec  23.7 MBytes  3.48 Mbits/sec
     105[  6]  0.0-57.3 sec  23.3 MBytes  3.41 Mbits/sec
     106[  5]  0.0-57.3 sec  29.4 MBytes  4.30 Mbits/sec
     107[  4]  0.0-57.3 sec  21.0 MBytes  3.07 Mbits/sec
     108[  3]  0.0-57.5 sec  23.3 MBytes  3.41 Mbits/sec
     109[ 11]  0.0-57.5 sec  18.5 MBytes  2.70 Mbits/sec
     110[ 15]  0.0-57.5 sec  23.7 MBytes  3.46 Mbits/sec
     111[ 13]  0.0-57.6 sec  26.4 MBytes  3.85 Mbits/sec
     112[ 17]  0.0-57.6 sec  19.3 MBytes  2.81 Mbits/sec
     113[  9]  0.0-57.8 sec  15.3 MBytes  2.22 Mbits/sec
     114[ 10]  0.0-57.9 sec  20.5 MBytes  2.97 Mbits/sec
     115[ 28]  0.0-60.0 sec  23.8 MBytes  3.32 Mbits/sec
     116[ 30]  0.0-60.0 sec  15.9 MBytes  2.22 Mbits/sec
     117[ 29]  0.0-60.1 sec  14.7 MBytes  2.05 Mbits/sec
     118[ 32]  0.0-60.1 sec  27.3 MBytes  3.81 Mbits/sec
     119[ 19]  0.0-60.1 sec  20.5 MBytes  2.86 Mbits/sec
     120[ 23]  0.0-60.1 sec  16.2 MBytes  2.25 Mbits/sec
     121[ 20]  0.0-60.1 sec  30.0 MBytes  4.19 Mbits/sec
     122[ 26]  0.0-60.1 sec  14.6 MBytes  2.04 Mbits/sec
     123[ 21]  0.0-60.2 sec  22.1 MBytes  3.07 Mbits/sec
     124[ 27]  0.0-60.3 sec  19.9 MBytes  2.77 Mbits/sec
     125[ 22]  0.0-60.4 sec  24.7 MBytes  3.44 Mbits/sec
     126[ 24]  0.0-60.4 sec  26.1 MBytes  3.62 Mbits/sec
     127[ 25]  0.0-60.5 sec  28.0 MBytes  3.88 Mbits/sec
     128[ 31]  0.0-60.5 sec  34.2 MBytes  4.74 Mbits/sec
     129[SUM]  0.0-60.5 sec    648 MBytes  89.8 Mbits/sec
     130
     131
     132}}}
     133 With Reno, here is the result:
     134{{{
     135[ 17]  0.0-57.1 sec  7.38 MBytes  1.08 Mbits/sec
     136[ 15]  0.0-57.0 sec  7.33 MBytes  1.08 Mbits/sec
     137[ 14]  0.0-57.0 sec  7.35 MBytes  1.08 Mbits/sec
     138[ 18]  0.0-57.0 sec  7.16 MBytes  1.05 Mbits/sec
     139[ 13]  0.0-57.1 sec  7.31 MBytes  1.08 Mbits/sec
     140[  3]  0.0-57.2 sec  25.7 MBytes  3.77 Mbits/sec
     141[ 12]  0.0-57.2 sec  7.33 MBytes  1.08 Mbits/sec
     142[  5]  0.0-57.2 sec  87.5 MBytes  12.8 Mbits/sec
     143[  4]  0.0-57.2 sec  26.5 MBytes  3.88 Mbits/sec
     144[ 11]  0.0-57.2 sec  7.32 MBytes  1.07 Mbits/sec
     145[ 10]  0.0-57.3 sec  7.38 MBytes  1.08 Mbits/sec
     146[ 16]  0.0-57.3 sec  7.41 MBytes  1.09 Mbits/sec
     147[  8]  0.0-57.4 sec  29.6 MBytes  4.33 Mbits/sec
     148[  7]  0.0-57.7 sec  23.7 MBytes  3.45 Mbits/sec
     149[  9]  0.0-57.7 sec  23.3 MBytes  3.38 Mbits/sec
     150[  6]  0.0-58.1 sec  64.6 MBytes  9.33 Mbits/sec
     151[ 25]  0.0-60.0 sec  43.4 MBytes  6.06 Mbits/sec
     152[ 21]  0.0-60.0 sec  36.2 MBytes  5.05 Mbits/sec
     153[ 20]  0.0-60.2 sec  27.3 MBytes  3.81 Mbits/sec
     154[ 24]  0.0-60.1 sec  28.2 MBytes  3.94 Mbits/sec
     155[ 23]  0.0-60.1 sec  30.3 MBytes  4.23 Mbits/sec
     156[ 27]  0.0-60.0 sec  7.80 MBytes  1.09 Mbits/sec
     157[ 26]  0.0-60.1 sec  7.84 MBytes  1.09 Mbits/sec
     158[ 30]  0.0-60.1 sec  7.84 MBytes  1.09 Mbits/sec
     159[ 29]  0.0-60.1 sec  7.74 MBytes  1.08 Mbits/sec
     160[ 31]  0.0-60.1 sec  7.82 MBytes  1.09 Mbits/sec
     161[ 19]  0.0-60.3 sec  29.1 MBytes  4.04 Mbits/sec
     162[ 22]  0.0-60.2 sec  30.9 MBytes  4.31 Mbits/sec
     163[ 32]  0.0-60.1 sec  32.8 MBytes  4.58 Mbits/sec
     164[ 28]  0.0-60.1 sec  7.82 MBytes  1.09 Mbits/sec
     165[SUM]  0.0-60.3 sec    652 MBytes  90.7 Mbits/sec
     166}}}
     167 The above results show that the total performance is about the same for Cubic and Reno. [[BR]]
     168 Apparently when u use multiple TCP connections the bandwidth utilization will be higher. [[BR]]
     169 But the single throughput for each TCP connection varies. [[BR]]
     170
     171
    21172
    22173= [wiki:GENIEducation/SampleAssignments/Template/ExerciseLayout/Finish Next: Teardown Experiment] =