[j-nsp] Multi Core on JUNOS?

Raphael Mazelier raph at futomaki.net
Thu Oct 22 10:06:57 EDT 2015

> In fairness, concurrency is "teh hardz" on any platform, in any framework.
> You can use threads and shared memory then problems two you have.
> You can bodge it by serialising everything and pushing data between
> threads/processes with queues and using craploads of locking, but you
> typically want fast CPUs for that. Or you can cheat and coop multitask,
> but then you're back at IOS classic / JunOS rpd.
> You can write it in a concurrent-friendly language like Erlang (or maybe
> Go) but then you have problem employing developers on the cheap, and
> have to discard your existing codebase (yikes!)
> I'm sympathetic to Juniper/Cisco/etc. here - they've got huge codebases
> they can't afford to discard because of the years of accumulated
> real-world behavioural tweaks, but proper concurrency typically involves
> ground-up design principles.
> It's not a solved problem yet :o(

The approach to run rpd on one core, and other process on avaibles one 
is a quick win. And optimizing the actual code before thinking in 
paralelism may be a faster approach to make speed gain ?

I complelty agree that to make a good paralelized junos, major rewrite 
or complete rewrite must be engaged.

Btw Junos on intel RE is fast enough for me. But not all on other cpu, 
specially on EX/QFX one... Perhaps Juniper should install x86 cpu on 
switch too (other vendor do this).

Raphael Mazelier

More information about the juniper-nsp mailing list