[Xorp-users] Multicore scalability

Jaime Nebrera jnebrera at eneotecnologia.com
Sun Jun 28 05:32:12 PDT 2009


  Hi Bruce,

  Thanks for your prompt reply :)

> Yup. The BSD/Linux software forwarding planes will make use of multiple 
> cores -- how scalable it is, though, is down to the implementation. 

  Great

> Usually only 1 route at a time can be pushed to the kernel as they 
> generally use some kind of reader-writer lock, even if the 
> routing/netlink sockets use message passing.

  Understood

> But the user space "route miss" behaviour you describe doesn't normally 
> exist. There are hooks available in PF_ROUTE and PF_NETLINK to do it, 
> but to my knowledge it is never used for normal IP forwarding. It 
> originally existed to support X.25, it can be used to support on-demand 
> routing protocols for tactical MANET networks (e.g. AODV).

  Well, I'm not that much interested in that part. Surely I didnt
explain it fully properly.

> If XORP were refactored to use Boost ASIO -- threading the individual 
> processes will get easier. At the end of the day, multicore optimization 
> is largely down to appropriate use of shared data 
> structures/locking/lock-free techniques -- and understanding the system 
> as a whole.

  Yep, I'm aware of this. Actually thats why I was making my question. I
have been reading quite a lot on forwarding improvements (RSS, lock
contention reduction, flow affinity, bottlenecks, ...) but in this docs
they dont talk about XORP side by itself. As I'm aware XORP is
monothread per routing protocol, I didnt want to invest long time in
optimizing the forwarding plane and then discover that doesnt work
properly with XORP :(

  Regards

-- 
Jaime Nebrera - jnebrera at eneotecnologia.com
Consultor TI - ENEO Tecnologia SL
Pol. PISA - C/ Manufactura 6, P1, 3B
Mairena del Aljarafe - 41927 - Sevilla
Telf.- 955 60 11 60 / 619 04 55 18




More information about the Xorp-users mailing list