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


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

--

Legend:

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

    v3 v4  
    1 = [wiki:GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout <TCP ASSIGNMENT>] =
     1= [wiki:GENIEducation/SampleAssignments/Template/ExerciseLayout <EXERCISE TITLE>] =
    22{{{
    33#!html
     
    1919
    2020= STEPS FOR EXECUTING EXERCISE =
    21 Now that we have reserved the nodes. Let's log on to each nodes and do experiment. [[BR]]
    22 Recall that the nodes reserved are pc73, pc81, pc55, pc47, pc84.[[BR]]
    23 pc47 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]]
    24 I 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]]
    25 However, 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]]
    26 For 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]]
    27 Right 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 {{{
    32 echo reno | sudo tee /proc/sys/net/ipv4/tcp_congestion_control
    33 echo cubic | sudo tee /proc/sys/net/ipv4/tcp_congestion_control
    34 }}}
    35  Change the delay/loss of a particular interface:
    36 {{{
    37 sudo /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 {{{
    41 sudo /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 ------------------------------------------------------------
    59 Client connecting to 10.10.1.1, TCP port 5001
    60 TCP 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 {{{
    68 echo 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 ------------------------------------------------------------
    73 Client connecting to 10.10.1.1, TCP port 5001
    74 TCP 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 
    82 2. 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 
    17121
    17222