Figure 1: Emulab Maelstrom topology example (NS file). |
Mahesh Balakrishnan, Tudor Marian, Ken Birman, Hakim Weatherspoon, Lakshmi Ganesh. Maelstrom: Transparent Error Correction for Communication between Data Centers. To appear in IEEE/ACM Transactions on Networking (ToN).
Mahesh Balakrishnan, Tudor Marian, Ken Birman, Hakim Weatherspoon, and Einar Vollset. Maelstrom: Transparent Error Correction for Lambda Networks. Fifth Usenix Symposium on Networked Systems Design & Implementation (NSDI 2008). April 2008, San Francisco, CA.
Hakim Weatherspoon, Lakshmi Ganesh, Tudor Marian, Mahesh Balakrishnan, and Ken Birman. Smoke and Mirrors: Reflecting Files at a Geographically Remote Location Without Loss of Performance. In Proceedings of the 7th USENIX Conference on File and Storage Technologies (FAST 2009). February 2009, San Francisco, CA.
Version 2.0 (recommended) including IP-level redundancy elimination: svn snapshot.
Version 1.1 (deprecated): svn snapshot.
Download and build the CVS snapshot ('make'). Make sure you have the linux headers installed, e.g. in Ubuntu the package is called linux-headers-2.6.xx-xx where xx-xx should match your current kernel (type 'uname -r' to find it out). The kernel module was tested on kernel versions 2.6.20, 2.6.24 and 2.6.27, found for example in stock Ubuntu 7.04, 8.04 and 8.10 respectively.
Load the kernel module on the ingress and egress boxes ('/bin/bash in.sh'). You may want to take a look at the in.sh script in case you want to specify different kernel module load-time parameters.
Start iperf server on node20 ('iperf -s').
Start iperf client on node10 ('iperf -c node20 -t 120 -P 8').