[j-nsp] Multi Core on JUNOS?
Raphael Mazelier
raph at futomaki.net
Fri Oct 9 07:12:58 EDT 2015
Le 08/10/15 18:46, Saku Ytti a écrit :
> On 8 October 2015 at 18:45, Giuliano (WZTECH) <giuliano at wztech.com.br> wrote:
>
> It's the step#1, they can get the underlaying OS to support SMP.
>
> But rpd is still 100% flat, run-to-completion. You can almost think of
> FreeBSD as hypervisor and rpd as virtual pc on top of it, it has own
> scheduler, memory management etc.
> IOS-XE is almost same architecture, Linux with flat ios as process.
> Otoh iosd is already slightly distributed and runs like 5 threads (but
> no meaningful routing work is distributed).
>
> Easy step#2 would be to give rpd affinity to push it on its own dedicated core.
I think we are close to this step.
>
> Hard step#3 is to make rpd use multiple cores. JNPR seems to choose to
> DIY inside rpd and just launch threads. I personally would like to see
> rpd distributed to multiple OS processes, and capitalise more on
> FreeBSD's memory management and scheduling. But I'm not sure how to
> handle the IPC efficiently without large cost in data duplications
> across processes.
>
In my opinion rpd should also be split in several process. I know there
was a lot of interprocess communication/synchonisation, but this can be
rethink. For example arista propose a central/fast db called sysdb to
handle communication/sync to other process (see :
https://www.arista.com/assets/data/pdf/EOSWhitepaper.pdf for detail). I
don't know if was a good/viable approach, but on the paper it seems
promising.
--
Raphael Mazelier
More information about the juniper-nsp
mailing list