Quick Start Guide<

After downloading Speedus, you can follow this guide to correctly setup your environment and perform some simple ping/pong tests which will give you a reference about how much Speedus can accelerate communications in your system.

Installation and setup<

Unzip the Speedus ZIP file:

unzip speedus-latest-linux.zip

By default, it will be unzipped in a directory with the name speedus-bYYYYMMDD-linux. Now, you must setup your environment in order to use Speedus.

Option #1: Using the "speedus" executable<

This is the recommended and the easiest way to try Speedus:

eval $(speedus-bYYYYMMDD-linux/bin/setenv-speedus)

This will update the PATH in your current shell so you can use the speedus executable that will preload the Speedus library before your application.

Option #2: Configuring a "speedus" alias<

Alternatively, you can setup an alias instead of using the executable:

export SPEEDUS_HOME=/full/path/to/speedus-bYYYYMMDD-linux
alias speedus='LD_LIBRARY_PATH=$SPEEDUS_HOME/lib:$SPEEDUS_HOME/lib32 LD_PRELOAD=libspeedus.so'

Option #3: Manually setting up the LD environment variables<

You can export the variables directly in your shell or inside a script:

export SPEEDUS_HOME=/full/path/to/speedus-bYYYYMMDD-linux
export LD_LIBRARY_PATH=$SPEEDUS_HOME/lib:$SPEEDUS_HOME/lib32
export LD_PRELOAD=libspeedus.so

Beware that, with this method, all binaries that you run from this environment will be preloaded with Speedus.

Testing performance<

Native socket-based C benchmark: NetPIPE-C<

First, change the directory and compile the NetPIPE-C benchmark:

cd speedus-bYYYYMMDD-linux/benchmarks/NetPIPE-C
make tcp

Running NetPIPE with system sockets

./NPtcp & # NetPIPE server
./NPtcp -h localhost # NetPIPE client

Now, you can run NetPIPE with speedus (you should see a message showing that Speedus was loaded) and compare the results against the previous execution:

speedus ./NPtcp &
speedus ./NPtcp -h localhost

Native socket-based JVM benchmark: NetPIPE-Java<

You can also test how Speedus improves communications under more complex requirements, e.g. with a Java Virtual Machine.

Again, change directory to the NetPIPE-Java benchmark:

cd speedus-bYYYYMMDD-linux/benchmarks/NetPIPE-Java

Running a simple ping/pong test with NetPIPE-Java under standard TCP/IP sockets:

java -cp $PWD/netpipe.jar benchmarking.NetPIPE TCP -p 0 -q -recv -host localhost &
java -cp $PWD/netpipe.jar benchmarking.NetPIPE TCP -p 0 -q -send -host localhost

Finally, run NetPIPE-Java with speedus and compare results:

speedus java -cp $PWD/netpipe.jar benchmarking.NetPIPE TCP -p 0 -q -recv -host localhost &
speedus java -cp $PWD/netpipe.jar benchmarking.NetPIPE TCP -p 0 -q -send -host localhost

Tests with other applications<

Now that you have verified that Speedus works in your system, you can go ahead and test it with your preferred application or benchmarking tool.

Note:

In order to use the speedus command, you must follow the configuration steps in all shell terminals where you plan to use it or add your .bashrc