Enabling multi-core¶
Starting with the flexiEdge release 4.1.X, it is possible to increase the tunnel throughput performance by enabling multi-core feature. With multi-core the devices can utilize more than one core on their CPU and thus greatly increase tunnel performance. The performance improvements varies from CPU however even when using older CPU’s such as Intel X5670 we’ve observed more than 5Gbps throughput or more with several tunnels. On newest hardware flexiWAN with multi-core enabled should have no trouble exceeding more than 10Gbps.
Requirements¶
In order to enable multi-core, the device must satisfy the following system requirements:
Modern CPU with 4 or more CPU cores
A network card which supports RSS - Receive Side Scaling. Learn more about it here.
The network has at least three flexiWAN devices with three or more tunnels.
Note
Using multiple cores will increase heat output from the device. Make sure that the device has sufficient cooling.
Recommended use case¶
While it can be tempting to enable multicore and use all CPU cores, enabling this feature may not be suitable for every setup. By default flexiWAN uses a single core which is capable of reaching up to a gigabit throughput even when using encrypted tunnels, on most modern hardware.
We recommend enabling multicore if the device has 4 or more CPU cores and fits one of the following use cases:
Main hub flexiEdge - Datacenter hub. In this case flexiWAN device is a main hub to which three or more tunnels are established.
Take into account that multi-core benefits will only be notable when using three or more tunnels.
Enable multi-core only on main hub flexiEdge device, not on spokes as in most cases the spokes have less tunnels and does not require more than 500Mbps throughput
Enabling multi-core¶
In order to enable multi-core make sure that the vRouter is stopped. At the moment, enabling multi-core can be done using system checker. Multi-core can be enabled on device that was previously added to flexiManage or on a brand new device, during the usual system checker configuration.
In order to enable multi-core first run system checker from the command line.
At the following step run option 3 - configure system interactivley. Enter the following settings and confirm with the screenshot below:
“Check hugepage number” - answer with yes and enter max number, usually 1024
“Check multi core support requires rss” - make sure this step is passed
“Check multi core support requires rss: configure” - answer with yes and proceed to enter the number of cores you wish to use.
In order to enable multi-core first run system checker from the command line.
After confirming all the steps match the screenshot, exit with 0. In case the device was already added to flexiManage, reboot the machine and start the vRouter. To verify that multicore are used, run htop command and verify that multiple CPUs are in 100% urilization: