Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Today, the most common tool for measuring controller performance is cbench. We've made some changes to Floodlight to enhance cbench performance and want to suggest a configuration for running performance tests of this type.

Get a fast

...

JVM

Openjdk OpenJDK is easy to install but its worth getting a fast sun jvm Sun JVM to maximize performance. Check out www.java.com. There are no longer Ubuntu packages I believe.

Update the floodlight properties file

Edit src/main/resources/floodlightdefault.properties to look like this. It loads a minimal, optimized configuration of Floodlight.

xml
Code Block
xml
floodlight.modules ==\
net.floodlightcontroller.storage.memory.MemoryStorageSource,\
net.floodlightcontroller.core.internal.FloodlightProvider,\
net.floodlightcontroller.threadpool.ThreadPool,\
net.floodlightcontroller.learningswitchdebugevent.LearningSwitchDebugEventService,\
net.floodlightcontroller.counterdebugcounter.NullCounterStoreDebugCounterServiceImpl,\
net.floodlightcontroller.perfmon.NullPktInProcessingTime

PktInProcessingTime,\
net.floodlightcontroller.debugevent.DebugEventService,\
net.floodlightcontroller.restserver.RestApiServer,\
net.floodlightcontroller.hub.Hub

Note that you can substitute net.floodlightcontroller.learningswitch.LearningSwitch in place of Hub. This will slightly increase the overhead of Floodlight at the benefit of providing more intelligent packet forwarding decisions. (Hub simply floods a packet-out for each packet-in, which LearningSwitch tries to learn host locations and install flows.)

Build Floodlight

The Floodlight properties file is cached in the Floodlight jar. You can either rebuild Floodlight or add a "-cf floodlightdefault.properties" to the java command in floodlight.sh (in the root floodlight directory)

Code Block
xml
xml
.$ ant;

Run Floodlight

You should use floodlight.sh in the root directory to run Floodlight. This includes a number of java Java properties that optimize performance.

...