Performance improvements: 21/521/1
authorJason Ye <yisye@cisco.com>
Wed, 26 Jun 2013 06:24:00 +0000 (23:24 -0700)
committerJason Ye <yisye@cisco.com>
Wed, 26 Jun 2013 06:24:00 +0000 (23:24 -0700)
commit417916ee81c50372a787cb5673a004df9f2c033c
tree655e2db7b1c9bdcbb923fd809e22d84f3169dd43
parent5867f9868572e312aad8f01ab042889f1268f5b5
Performance improvements:

Solution: Use LinkedBlockingQueue with fixed capacity. The MAXQUEUESIZE is now set to 50,000. With the change, the system become stable.

Solution: Implemented more efficient way to compute header checksum. As a result, the throughout has more than doubled.See test results below. Used Cbench for testing.

Before:
RESULT: 16 switches 9 tests min/max/avg/stdev =
9598.35/10395.48/10193.23/225.24 responses/s

After:
RESULT: 16 switches 9 tests min/max/avg/stdev =
28767.44/32073.92/30335.74/999.70 responses/s

Solution: Transmit messages in a tight while loop until the Tx queue is empty.

Signed-off-by: Jason Ye <yisye@cisco.com>
opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/core/internal/Controller.java
opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/core/internal/SwitchHandler.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/packet/ICMP.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/packet/IPv4.java