RE: [FRnOG] [TECH] router linux : quagga + packet-journey , quelqu'un a déjà essayé ?

2016-04-30 Thread Vincent JARDIN
Il faut compter 200 à 300 cycles CPU par core. Ensuite les Mpps = Fréquence
/ cycles

Exemple: Xeon 2Ghz / 250 ~ 8Mpps/core

---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] router linux : quagga + packet-journey , quelqu'un a déjà essayé ?

2016-04-30 Thread Francois Romieu
Michel Py  :
[...]
> - En essayant de pas troller (quand je trolle, c'est dans MISC), il faut quoi 
> comme bécane qui puisse faire du 10GE sur 4 interfaces avec 2 full-feed sans 
> s'éffronder comme une savate avec du paquet à 64 octets ? {sans bidouille | 
> avec bidouille }
> - Distro de base installée par un chimp, combien de Mpps par coeur ?

En fonction de la distro, un noyau bleeding edge avec des ajouts plus ou
moins intrusifs ou bien un noyau stabilisé depuis le précambrien avec des
backports en option risque de faire une nette différence entre "pas terrible"
et "bien pire".

Un coeur en réception ou en renvoi va plafonner entre 1 et 2 Mpps pour le
cas défavorable à 64 octets. Suivant le positionnement du chimp dans la
fourchette, 10 coeurs tiendront ou non une interface 10GE à 64 octets.

A la louche je dirais que tu t'orientes vers de l'octuple processeur à
8 coeurs. Tu devrais pouvoir maquetter avec un quadruple 10 coeurs. :o)

Un peu de lecture sans BGP pour le café du matin:

http://people.netfilter.org/hawk/presentations/devconf2016/net_stack_challenges_100G_Feb2016.pdf

-- 
Ueimor


---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] router linux : quagga + packet-journey , quelqu'un a déjà essayé ?

2016-04-30 Thread Vincent Bernat
 ❦ 30 avril 2016 04:45 GMT, Michel Py  :

> Pour que tout le monde soit d'accord : 500K préfixes minimum, 1
> million çà prend pas feu tout de suite.

Pour la partie routes, 1 route ou 5 millions de routes, cela n'influe
guère sur les performances.
-- 
Write clearly - don't be too clever.
- The Elements of Programming Style (Kernighan & Plauger)


---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] router linux : quagga + packet-journey , quelqu'un a déjà essayé ?

2016-04-30 Thread Francois Romieu
Vincent JARDIN  :
> Il faut compter 200 à 300 cycles CPU par core. Ensuite les Mpps = Fréquence
> / cycles
> 
> Exemple: Xeon 2Ghz / 250 ~ 8Mpps/core

Quel travail un coeur effectue-t-il exactement sur chaque paquet avec son
budget de 200~300 cycles ?

Il s'agit en gros d'un budget de 6 à 8 erreurs de cache, non ?

-- 
Ueimor


---
Liste de diffusion du FRnOG
http://www.frnog.org/


Re: [FRnOG] [TECH] router linux : quagga + packet-journey , quelqu'un a déjà essayé ?

2016-04-30 Thread Olivier Cochard-Labbé
2016-04-29 19:51 GMT+02:00 Vincent Bernat :

>  ❦ 29 avril 2016 17:20 GMT, Michel Py  > :
>
> >> En revanche avant de penser à utiliser packet journey comme
> >> forwarding plane :), il faut bien évaluer si cela en vaut la peine.
> >> Est ce que tu fais tant de trafic que tu ait besoin de dpdk ? aka
> >> supérieur à xGo/s ? Est ce qu'un simple linux/bsd bien tuné ne
> >> suffirait pas ?
> >
> > La carte mentionnée sur la page de Gandi est une 40 Gbit/s (XL710).
> >
> > Question de débutant dans ce domaine : un serveur comme ci-dessus,
> > avec juste BIRD et une distro sans fioritures (pas de DPDK, pas de
> > packet shader), on peut en sortir quel débit, avec des paquets de 64
> > octets ? Je me suis laissé dire qu'on dépassait difficilement 1 ou 2
> > Gbit/s.
>
> Ça dépend combien de coeurs tu as sur ta machine, vu que pour du
> routage, ça scale de manière linéaire sur le nombre de coeurs avec assez
> peu d'efforts. Sur un proc récent, tu peux viser 2 Mpps par coeur. Du
> coup, avec un hexacoeur, tu montes à 10G. Il semble qu'avec des noyaux
> plus récents (> 4), les performances ont été multipliées par 2. Je suis
> pas très à jour là-dessus.
>


​Je confirme: avec un FreeBSD 11-head, branche routing (pour corriger un
bug de non-linéarité), c'est en effet environ 1.5Mpps/cœurs et linéaire à
condition de n'avoir qu'un seul package physique: Les architectures NUMA
posent d'autre problèmes.
​
Exemple, avec un Intel Xeon E5-2650 a 2.6GHz et 8 cœurs (Hyperthreading
desactivé), on atteins "presque" les 10Mpps:

​
https://github.com/ocochard/netbenches/blob/master/Xeon_E5-2650-8Cores-Chelsio_T540-CR/nXxq10g.random.harvest.mask.351/results/fbsd11-routing.r287531/README.md

​(le harvest.mask mentionné sur ces graphs concerne la configuration des
sources d'entropie a utiliser: Utilise le trafic Ethernet créer un problème
de performance avec 8 cœurs ou plus).

​​Cordialement,

​Olivier

---
Liste de diffusion du FRnOG
http://www.frnog.org/