[j-nsp] Multi Core on JUNOS?

Phil Mayers p.mayers at imperial.ac.uk
Thu Oct 22 08:12:59 EDT 2015


On 22/10/15 13:05, Saku Ytti wrote:
> On 22 October 2015 at 14:31, Adam Vitkovsky <Adam.Vitkovsky at gamma.co.uk> wrote:
>> I see, so no possibility to offload BGP to another node nor multi-chassis capability in Junos right?
>> With regards to IPC, there got to be some XR folks in Juniper so where's the holdup :)
>
> IOS-XR seems to have fair share problems with the IPC :)
>

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(


More information about the juniper-nsp mailing list