The TL; DR version is that I was able to observe approximately 170 flows/second! **
Now for the longer story...
To benchmark the system three things had to come together: Helium running on Karaf, the wcbench utility running on a separate host, and the overall platform being stable enough to execute enough tests to produce statistically relevant data sets.
In my previous post, I outlined how I was able to tweak Helium into running on RPi. To these alterations I added one more tuning parameter: Xss200k. This reduces the startup size of Java threads, making it easier on the JVM and RPi to provide resources. See my github repo for sample Helium scripts.
Setting up the wcbench tool required standing up a host machine, in my case a Fedora Core 20 VM, and configuring its scripts to point to the RPi. Given the RPi's limit resources I tuned the number of switches, mac addresses, and time to run each test down. See my github repo for sample wcbench configuration.
|Ready for testing!|
Unfortunately this initial setup resulted in a failure to collect useful output :(
The trouble was that even though OpenDaylight Helium could boot up and install packages, it couldn't handle the heavy traffic. The system would freeze up, becoming unresponsive. Memory was completely consumed.
Looking at the base system's 700MHz CPU, and memory specs, something would need to change:
performance tweaks for RPi. See my github repo for a full list of the configuration changes I made to my RPi.
The final result was a base system with a 850MHz CPU and the following memory specs:
|An extra 40MB free ram, and 255MB of swap space!|
After running the benchmark tool with 10 simulated switches and 10 MAC addresses, I attempted increasing the load to 100 switches and 100 MAC addresses - the system promptly froze.
There are probably more system tweaks that could be applied to the RPi to free up more memory, and additional JVM tuning to make operating Helium more performant. I've published all of my tunings, and configurations to a git repo so that others may use my experiments as a starting point.
If you do decide to dive in and try out Helium on RPi, please let us all know about your results in the comments below.