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_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.


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