| 1 | This page describes the procedure for setting up, running, and cleaning up each of the experiments that we're running for the [wiki:PlasticSlices Plastic Slices] project. |
| 2 | |
| 3 | In each experiment, it assumes you've already created your slice and all of its slivers, and divided your compute resources into ''clients'' and ''servers''. |
| 4 | |
| 5 | = !GigaPing = |
| 6 | |
| 7 | This experiment uses the 'ping' command to send 1 GB of data via ICMP. |
| 8 | |
| 9 | == Setup == |
| 10 | |
| 11 | Divide the hosts that you want to use into pairs. The client is the one that you'll run the 'ping' command on; the server is the one that you'll ping from the client. |
| 12 | |
| 13 | Identify the precise IP address on each server that you'll want to ping. Make a table to keep track of which server you'll want to ping from each client, e.g. |
| 14 | |
| 15 | || ''client'' || ''server address'' || |
| 16 | || ganel.gpolab.bbn.com || server=10.42.101.104 || |
| 17 | || of-planet1.stanford.edu || server=10.42.101.73 || |
| 18 | |
| 19 | You'll use the "server=<ipaddr>" parts when you go to execute the experiment. |
| 20 | |
| 21 | To send 1 GB of data, you'll need to send a total of 666,667 1.5 KB packets. Rounding up for simplicity, divide 700,000 by the number of host pairs you have; call this number <count>, and use it below when you run the 'ping' commands. |
| 22 | |
| 23 | == Execution == |
| 24 | |
| 25 | On each client, run |
| 26 | |
| 27 | {{{ |
| 28 | server=<ipaddr> |
| 29 | count=<count> |
| 30 | sudo ping -i .001 -s $((1500-8-20)) -c $count $server |
| 31 | }}} |
| 32 | |
| 33 | using the "server=<ipaddr>" line from your table, and the <count> value you calculated earlier. |
| 34 | |
| 35 | That should print many lines on your terminal that look like |
| 36 | |
| 37 | {{{ |
| 38 | 1480 bytes from <ipaddr>: icmp_seq=44 ttl=64 time=135 ms |
| 39 | 1480 bytes from <ipaddr>: icmp_seq=49 ttl=64 time=87.7 ms |
| 40 | 1480 bytes from <ipaddr>: icmp_seq=50 ttl=64 time=77.9 ms |
| 41 | }}} |
| 42 | |
| 43 | and then finish with a section that looks like |
| 44 | |
| 45 | {{{ |
| 46 | --- <ipaddr> ping statistics --- |
| 47 | <count> packets transmitted, <count> received, 0% packet loss, time 5229ms |
| 48 | rtt min/avg/max/mdev = 59.376/70.448/522.011/57.578 ms, pipe 55 |
| 49 | }}} |
| 50 | |
| 51 | Copy that final block for your results. |
| 52 | |
| 53 | == Cleanup == |
| 54 | |
| 55 | No special cleanup is needed. |
| 56 | |
| 57 | = !GigaNetcat = |
| 58 | |
| 59 | This experiment uses the 'netcat' command to send 1 GB of data via unencrypted TCP. |
| 60 | |
| 61 | = !GigaWeb = |
| 62 | |
| 63 | This experiment uses the HTTPS protocol to send 1 GB of data via encrypted TCP. |
| 64 | |
| 65 | = GigaPerfTCP = |
| 66 | |
| 67 | This experiment uses the iperf command to send 1 GB of data via TCP, measuring performance throughout the transfer. |
| 68 | |
| 69 | = GigaPerfUDP = |
| 70 | |
| 71 | This experiment uses the iperf command to send 1 GB of data via UDP, measuring performance throughout the transfer. |