inters/vita

Scale to more CPU cores

eugeneia opened this issue · 0 comments

In order to support higher bitrates it will be necessary to distribute Vita’s workload onto more CPU cores. How to achieve this is not entirely obvious. For instance, hardware-based RSS may not be an option due to limited entropy in inbound ESP packet headers. Additionally, we are confined by the sequential nature of ESP decapsulation.

Possible approaches to investigate:

  • Have two dedicated processes route (one for encapsulation/decapsulation each): this would be a simple approach that addresses the idealized case where traffic is evenly distributed between a set of routes. Bonus: reduces context switches in enc/dec workers due to multiple SAs.

  • Parallelize ESP workload partially (see “Parallelizing IPsec”): it is possible to partially parallelize the ESP workload (i.e., the expensive, non-sequential parts, namely encryption and decryption). Downside: increased complexity in ESP implementation.

  • ...?

References:

Steffen_Klassert_Parallelizing_IPsec.pdf