Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Mar 2010 23:07:07 +0100
From:      Ivan Voras <ivoras@freebsd.org>
To:        freebsd-net@freebsd.org
Subject:   Re: Choosing CPU for router
Message-ID:  <hnrjqc$87a$1@dough.gmane.org>
In-Reply-To: <C7C66BFA.244BF%jon.otterholm@ide.resurscentrum.se>
References:  <a952d5981003170212t1fe7b917x786c4d96cc1b1dad@mail.gmail.com> <C7C66BFA.244BF%jon.otterholm@ide.resurscentrum.se>

next in thread | previous in thread | raw e-mail | index | archive | help
Jon Otterholm wrote:
> Den 2010-03-17 10.12, skrev "Gilles WAGNER" <gillesw@gmail.com>:
>> 2010/3/17 Andrew Snow <andrew@modulus.org>

>>> The Supermicro Atom miniserver is more than enough CPU grunt for this sort
>>> of routing/ipfw task.  The main reason to go Xeon is if you need ECC RAM,
>>> and even then you can get away with just using the cheapest CPU available.

> This machine is going to act as access-router serving ~500 FTTH-customers.
> About 500Mbit/s and 200kpps. The big issue is Dummynet, around 1000 pipes (2
> pipes/customer).
> 
> I don't think an Atom-based machine can handle this, am I wrong?

Yes, don't use an Atom for this. At the very least it will by default 
come with a Realtek NIC which won't make you particularly happy.

200kpps is not small or trivial load - think about it: 200 kpps per 
direction on a 2 GHz CPU (to simplify calculations) this means only 
10,000 CPU cycles per packet - this must include servicing an interrupt 
in the incoming path, receiving and parsing the packet, routing it, 
firewalling it and then processing it by dummynet and scheduling it on 
output. To put this into perspective, a single context switch can take 
from ~~1000 CPU cycles to more than 5000 CPU cycles. In short, don't.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?hnrjqc$87a$1>