What's new

too much CPU??

  • 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!

alienx2

Regular Contributor
Look this compare: (left) top over Telnet vs. (right) Asus Admin Panel...Is this normal or not? Which one is right true? that's why im worry about overheat.

highcpu.jpg
 

Attachments

  • highcpu.jpg
    highcpu.jpg
    60.7 KB · Views: 419
Look this compare: (left) top over Telnet vs. (right) Asus Admin Panel...Is this normal or not? Which one is right true? that's why im worry about overheat.
Which router? What is the current CPU temp? :rolleyes:
And most important: Do not ask to much form your small router! :eek:
 
Asus AC66U...

General>Tools :
Uptime 0 days 1 hours 40 minute(s) 19 seconds
Temperatures 2.4 GHz: 53°C - 5 GHz: disabled
 
Which one is right true? that's why im worry about overheat.
They are both the same.....your red boxes are in the wrong place (the utilization number PRECEEDS the category)

For example, it's 93.8% io, not idle.
 
MIPS is very different to other CPUs. a MIPS CPU could show 100% usage while not doing anything and this is because of IO, time based applications that use sleep or even if it is waiting for something such as data. When a MIPS based CPU shows 100% it doesnt necessarily mean it will overheat and MIPS based CPUs use a lot less silicon that they only use very little power and heat that many of them dont even need heatsinks other than the case covering the chip.

Also a MIPS CPU will show 100% when running some constant code such as software firewall or NAT even when theres barely any traffic. This is only to keep the CPU ready to process data.
 
MIPS is very different to other CPUs. a MIPS CPU could show 100% usage while not doing anything and this is because of IO, time based applications that use sleep or even if it is waiting for something such as data. When a MIPS based CPU shows 100% it doesnt necessarily mean it will overheat and MIPS based CPUs use a lot less silicon that they only use very little power and heat that many of them dont even need heatsinks other than the case covering the chip.

Also a MIPS CPU will show 100% when running some constant code such as software firewall or NAT even when theres barely any traffic. This is only to keep the CPU ready to process data.

ah now i understand.
 
MIPS at 100% utilization but doing nothing. No wonder MIPS loses competitive edge to ARM. Thanks to SEM's enlightenment :eek:
 
Actually the 100% utilisation doing nothing isnt limited to MIPS, many minimilistic CPUs have this behaviour. Infact MIPS is actually faster than ARM in routing clock per clock. Put 2 MIPS cores and clock them the same as the ARM ones and they will do software routing faster than ARM.

Any CPU even x86 ones can do this in order to have better response times by keeping the CPU constantly active and in a ready state. OpenGL for example continously loops so it will use 1 full core all the time whereas directx doesnt but openGL achieves a higher FPS than directx by doing this. Since MIPS wasnt made to process data as fast as ARM this helps when running software on it but MIPS is faster at forwarding data than ARM which is why it is faster at routing. The reason why consumer routers use ARM is mainly to run VPN and other software related stuff but in my opinion it is still a poor choice. Tilera's TILE used in mikrotik CCRs are not only faster than ARM clock per clock in routing but also in VPN and other tasks and they beat all other CPUs in price/performance for routing and NAT even when the competition uses hardware NAT and is priced very cheaply like tp-link. However even though a single CCR core may handle a specific application faster than the network speed it still will use the full core for the same reason and this is all done in software and compiler for performance reasons. You wont see pfsense trying to utilise intel speedstep or the AMD equivalent like windows does.

Also ARM cores easily come in multicore variants compared to MIPS and they have more publicity than MIPS. However Tilera's TILE used in routers come with a minimum of 9 cores and cost less than the ASUS AC5300 and has SFP+, SFP and a CPU fast enough to do software NAT at wirespeed which you cant do on any consumer router.

edit: In this case i was comparing with the ARM A9 and A7 that are used in consumer routers, not the A15 which are used in some phones, servers and such.
 
  • Like
Reactions: Etz
Actually the 100% utilisation doing nothing isnt limited to MIPS, many minimilistic CPUs have this behaviour.

Yes..if I recall right, it's known as polling in programming. A poor practice. If programmers are forced to do that, means the CPU doesn't have needed h/w to handle I/O efficiently.

Infact MIPS is actually faster than ARM in routing clock per clock. Put 2 MIPS cores and clock them the same as the ARM ones and they will do software routing faster than ARM.

Are you referring to Instruction Per Cycle? Both MIPS and ARM are RISC architecture, IPC shall be comparable. Or are you referring to some specific memory move instruction? ARMv7 onward shall have SIMD...
 
Yes..if I recall right, it's known as polling in programming. A poor practice. If programmers are forced to do that, means the CPU doesn't have needed h/w to handle I/O efficiently.



Are you referring to Instruction Per Cycle? Both MIPS and ARM are RISC architecture, IPC shall be comparable. Or are you referring to some specific memory move instruction? ARMv7 onward shall have SIMD...
MIPS 24k single core at 680Mhz does around 300Mb/s of NAT(mikrotik rb450g), ARM A9 dual core 1.4 Ghz does 500Mb/s of NAT. The numbers are quite evident. Also some have gotten the higher clocked same MIPS 24k up to 700Mb/s i think if you look at the swedish 1Gb/s symmetric ISP that gives mikrotik routers which pop up in articles replacing them with ubiquiti ERLs. I use mikrotik's example because their OS runs more efficiently(RB450G doesnt have NAT acceleration).

Even better Ubiquiti uses a more complex MIPS and has a 1Ghz dual core 64 bit MIPS on the ERPro. Infact theres a review on SNB http://www.smallnetbuilder.com/lanw...emax-edgerouter-pro-reviewed?showall=&start=3 . While it is a lot faster than ARM based routers it is however slower in VPN except for IPSEC as it has hardware IPSEC acceleration.

So MIPS is faster for routing and NAT but ARM is faster for VPN and running some softwares, also ARM is cheaper and easier to implement compared to MIPS for a multicore higher clocked device. RISC stands for reduced instruction set so one RISC architecture to another has very different IPCs. You can say all ARM CPUs are RISC based but each of them have very different IPCs. The ARM A7 (i.e. raspberry pi 2) has better IPC than the A8(raspberry pi), the A9 has better IPC than the A8, same as A7 but has out of order processing. The A15 has better IPC than the lower As and not forgetting apple's own ARM implementation, qualcomm's own implementation and nvidia denver. You are also forgetting about sparc which even though is RISC based is actually a much bigger chip than x86 and has better IPCs than ARM, MIPS and so on. Even for MIPS there are many variants and i have at least 3 different variants.

ARM has a comparison graph for IPCs and performance comparisons between their different architectures and the differences are significant that you cannot say RISC have similar IPCs, its all down to the instruction set and chip design.
 
Where do you get the ARM numbers? I think my AC56U can do better than that.
Software, not hardware NAT. To see CPU performance you want the CPU doing NAT not hardware. Many tests done by SNB uses hardware NAT.

The ARM numbers i got after looking at various different threads noting their software NAT performance and their CPU frequencies for their ASUS routers.

Polling isnt always used, loops are also used in the case of openGL vs directx in which openGL will use a full core all the time while directx wouldnt but openGL produced more FPS. So while you may think it a bad practice it does make it faster. Theres an older case of openGL vs directx on both windows and linux and if you have played games using both libraries you would notice they behave differently with CPU usage.
 
I think there is no real HW NAT in AC56U or AC68U. It's slower software or not so slow software NAT. The latter is with CTF enabled.

With CTF disabled, 500Mbit/s is about right. Maybe a bit less from my test. But I'm not convinced that's fair comparison. Since with CTF, it's still the CPU doing the datagram processing.

If you do a comparison between AC66U and AC56S (note: it's S), the WAN-LAN throughput is about the same 850Mbps. AC66U being 200MHz slower, you could say there is a slight advantage of MIPS. But not exaggerating much. I use these two 'cos I think the software stacks in there are comparable.

Your explanation of "100% utilisation doing nothing" is still not making sense to me. Explain e.g in the OP's case, I/O is using up almost 100% CPU. Can the CPU cycles be used to execute a program when it's handling i/o? It's not.
 
Last edited:
I think there is no real HW NAT in AC56U or AC68U. It's slower software or not so slow software NAT. The latter is with CTF enabled.

With CTF disabled, 500Mbit/s is about right. Maybe a bit less from my test. But I'm not convinced that's fair comparison. Since with CTF, it's still the CPU doing the datagram processing.

If you do a comparison between AC66U and AC56S (note: it's S), the WAN-LAN throughput is about the same 850Mbps. AC66U being 200MHz slower, you could say there is a slight advantage of MIPS. But not exaggerating much. I use these two 'cos I think the software stacks in there are comparable.

Your explanation of "100% utilisation doing nothing" is still not making sense to me. Explain e.g in the OP's case, I/O is using up almost 100% CPU. Can the CPU cycles be used to execute a program when it's handling i/o? It's not.
The CPU can still execute a program when it is waiting for data not when handling i/o. The CPU kept active doing nothing is actually just executing instructions that do nothing or have no data in them. simpler CPUs have simpler pipelines and keeping the pipeline filled with instructions that are related even though not having any data in them reduces the delay before new data gets processed since the instructions are already in the pipeline instead of waiting for it to come from RAM. So when there is something useful to do there wont be a delay but it can slow down other tasks such as if you were to launch a new program.

Broadcom's hardware acceleration involves using something else in hardware to perform the task just like how hardware encryption acceleration works.
 
The CPU can still execute a program when it is waiting for data not when handling i/o. The CPU kept active doing nothing is actually just executing instructions that do nothing or have no data in them.

To me, it seems you reached a state of clear statements that can be independently verified. Allow me to paraphrase. In OP's case, 93.8% i/o is not actually handling i/o but MIPS processor in busy loop waiting for data in a hope to speed up processing. When there is a program to execute, the MIPS processor will yield CPU cycles to the program. By that it implies that people will be able to see in their routers that the MIPS processor shall be always almost 100% utilisation ( 'cos waiting for data to speedy processing).

I think e.g. N66/AC66 owners can verify what you said true or false.

Broadcom's hardware acceleration involves using something else in hardware to perform the task just like how hardware encryption acceleration works.

It's a statement again not making sense to me. People can't verify what you said. Common understanding for encryption acceleration is through new cpu instructions. Seems you're implying new instructions for broadcom "HW NAT" ..?

--

I find most of your postings (that fall into my radar) are similar style...somewhat not that logical pieces. They're long. Contain lots of little facts which some are true, some are hard to verify. Cause and effect is not obvious. The prose as a whole become not making sense...to me personally.
 
The CPU can still execute a program when it is waiting for data not when handling i/o. The CPU kept active doing nothing is actually just executing instructions that do nothing or have no data in them.

Actually, the Cortex-A9 can get hard-locked if the other core is pending, and there are other issues with ARMv7...

Folks diss the MIPS platform, but in the SOHO environment, that's because of really old/slow core IP blocks, most vendors moved to ARM as it's cheaper to license, and their "blocks" scale better to lower geometry nodes... not because ARM is better (it's not for routing platforms, FWIW)
 
I find most of your postings (that fall into my radar) are similar style...somewhat not that logical pieces. They're long. Contain lots of little facts which some are true, some are hard to verify. Cause and effect is not obvious. The prose as a whole become not making sense...to me personally.
Phew, I thought it was just me thinking that :)

Anyway, back to the OP question... So according to SEM my N66U should have >90% io whilst idle because it's a MIPS processor waiting for some data to arrive?
Code:
Mem: 31568K used, 208144K free, 0K shrd, 1092K buff, 7608K cached
CPU:  0.0% usr  0.1% sys  0.0% nic 99.0% idle  0.0% io  0.0% irq  0.7% sirq
Load average: 0.40 0.51 0.22 2/56 2492
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
 2486  2482 admin    R     1448  0.6   0  0.2 top
  321     1 admin    S     4308  1.7   0  0.0 httpd
 2487   718 admin    S     3560  1.4   0  0.0 smbd -D -s /etc/smb.conf
  718     1 admin    S     3240  1.3   0  0.0 smbd -D -s /etc/smb.conf
 2268     1 nobody   S     2796  1.1   0  0.0 dnsmasq --log-async
    1     0 admin    S     2664  1.1   0  0.0 /sbin/init noinitrd
  337     1 admin    S     2656  1.1   0  0.0 watchdog02
  328     1 admin    S     2656  1.1   0  0.0 watchdog

No, never seen that. Ever.

However, 93% io and 3.9% sirq is entirely consistent with data being transferred to an attached USB storage device.
 
Last edited:

Similar threads

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

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