[dpdk-dev] Load-balancing position field in DPDK load_balancer sample app vs. Hash table
Chilikin, Andrey
andrey.chilikin at intel.com
Fri Nov 14 17:57:14 CET 2014
Fortville supports symmetrical hashing on HW level, a patch for i40e PMD was submitted a couple of weeks ago. For Niantic you can use symmetrical rss key recommended by Konstantin.
Regards,
Andrey
-----Original Message-----
From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ananyev, Konstantin
Sent: Friday, November 14, 2014 4:50 PM
To: Yerden Zhumabekov; Kamraan Nasim; dev at dpdk.org
Cc: Yuanzhang Hu
Subject: Re: [dpdk-dev] Load-balancing position field in DPDK load_balancer sample app vs. Hash table
> -----Original Message-----
> From: Yerden Zhumabekov [mailto:e_zhumabekov at sts.kz]
> Sent: Friday, November 14, 2014 4:23 PM
> To: Ananyev, Konstantin; Kamraan Nasim; dev at dpdk.org
> Cc: Yuanzhang Hu
> Subject: Re: [dpdk-dev] Load-balancing position field in DPDK
> load_balancer sample app vs. Hash table
>
> I'd like to interject a question here.
>
> In case of flow classification, one might possibly prefer for packets
> from the same flow to fall on the same logical core. With this '%'
> load balancing, it would require to get the same RSS hash value for
> packets with direct (src to dst) and swapped (dst to src) IPs and
> ports. Am I correct that hardware RSS calculation cannot provide this symmetry?
As I remember, it is possible but you have to tweak rss key values.
Here is a paper describing how to do that:
http://www.ndsl.kaist.edu/~shinae/papers/TR-symRSS.pdf
Konstantin
>
> 14.11.2014 20:44, Ananyev, Konstantin пишет:
> > If you have a NIC that is capable to do HW hash computation, then
> > you can do your load balancing based on that value.
> > Let say ixgbe/igb/i40e NICs can calculate RSS hash value based on
> > different combinations of dst/src Ips, dst/src ports.
> > This value can be stored inside mbuf for each RX packet by PMD RX function.
> > Then you can do:
> > worker_id = mbuf->hash.rss % n_workersl
> >
> > That might to provide better balancing then using just one byte
> > value, plus should be a bit faster, as in that case your balancer code don't need to touch packet's data.
> >
> > Konstantin
>
> --
> Sincerely,
>
> Yerden Zhumabekov
> State Technical Service
> Astana, KZ
>
More information about the dev
mailing list