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.

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.

Step1

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.

Step2

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:

Step3