What's new

Quad-core vs dual-core

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

truoc

Regular Contributor
I know which is better in a PC, but does the same apply in a router? Does it really make that much difference going with a quad-core vs. a dual-core CPU in a router?

Example: would it be better going with quad-core router where each core is 700mhz vs. going with a dual-core router where each core is 1.6ghz?

Can someone enlighten me on when it would even matter?
 
As with a PC it depends entirely on your own workload. If your router is merely acting as a router then CPU is largely irrelevant (for current generation models).

The problem comes when you start loading down the router with "non-router" functions, like media servers, BitTorrent clients, traffic analysers, VPN clients/servers, IPS, etc., etc.. Using such software not only adds extra load onto the router but can in some cases disable hardware acceleration features, reducing the router's overall throughput. Some add-on software might only be single-threaded, meaning a higher clock rate is better than multiple slower cores.
 
I am old school, I would go with the faster clock speed but I don't use my router for much other than firewall.
 
For basic routing - a single core CPU is more than enough.... then it's about clocks...

Single Core MIPS24KC (QCA Atheros) can do fine with all apps at a 100Mb/Sec connection - wifi included (802.11n) on the AR9531 @ 650 MHz...

WLAN/LAN/WAN - all max out at 100Mb/Sec. This chip does a nice job with WireGuard even... 30 Mb/Sec there.
 
it depends on what you're running, but for a router more cores do help if you are running more components or have more traffic.
To give you a better example lets talk about a flow
Interface -> Firewall -> IDS (API back and forth via interface, simplified) -> QoS -> Interface
So in the traffic flow above, you cannot parallelise the flow but you can apply this process to every connection or packet, so every packet or connection can be processed in its own thread, and this is where having multiple cores help especially if running something like an IDS which can run on a separate core.

In some cases, you can parallelise the flow, but this is way more complex, like given the mikrotik CCR and its manycore architecture is not only to do with handling a lot of traffic but also the physical path. For instance the first interface can be nearer to the core that handles the firewall, and the core that handles the QoS can be different and closer to the output interface. A thread path below
Interface -> Core 1 (firewall) -> core 2 (IDS) -> core 3 (QoS) -> Interface . Given a manycore and a lot of traffic, multiple cores can run the same task, and it reduces the bottleneck of the frequency of each core unlike in the first flow where running all 3 processes on 1 core (even if you have many cores) will be bottlenecked by the core frequency, however the 2nd path will be bottlenecked by the internal bus, something that i've managed to bring my CCR to heel with testing which seems not limited by bandwidth, but by rate.

When comparing a quad core vs dual core, you also have to look at the architecture. Its not just the frequency but there are many components to picking a router.

1) Internal architecture. Look at the internal busses and SoC diagram. For instance, is the ram bandwidth 4x that of the max interface bandwidth? Is the architecture a bottleneck (like in the of the asus AC87U where wifi and ethernet ports share the same port to CPU), or in the case of dual one above 1Gb/s where doing so results in less than 1Gb/s (many consumer routers have this bottleneck). Then you have to look at the features like the radios and such if going for wifi, things like micro SD cards, SATA depending on your needs, upgradeable ram. Than you have to look at the CPU architecture. a dual core x86 at 1Ghz is faster than a quad core ARM or MIPS at 1Ghz, Every CPU architecture is different. ARM A7 is very different from ARM A9, MIPS 24Kc is different from the MIPS used in ubiquiti edgerouters.

When comparing CPU architectures, the architecture does matter for what you want to run. If you plan to run complicated QoS, you'll be better off with an ARM A9 than an ARM A7 because of the out of order processing in the ARM A9 which the ARM A7 doesnt have. So picking a hardware can be very complicated which most people dont bat an eye about.
 

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top