What's new

How much RAM is enough in a router?

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

There is no other way to run code. Ram is a 'must' for any x86 processor in the few decades they've been available.

Virtual memory on a hdd cannot be used by the cpu directly. It can use vm to page in and out of main ram, but that's it.

And even our routers today do not use ram/dram as a hard drive. They have the small flash memory (nand?) to do so.
L&LD, you are simply incorrect about this and there is no other way to spin it. DRAM (or what we have been referencing in this discussion as active system RAM as an design of memory external to the CPU) is NOT required to run code. It is simply an industry standard design. As an example example... On board processor memory instead of external DRAM can be used and is used to run code.

I suppose you can try to spin what your definition of code is if you want but the reason this is an important point is that we originally disagreed on the importance of having active external RAM (DRAM) relating to performance vs. processor speed relating to performance. You disagreed that RAM (DRAM) is a resource and you disagreed that processor with a higher clock speed with sufficient RAM is less important to performance than a slower processor clock speed with much more RAM. Thirty plus years of real world personal and professional experience relating to memory and processors in the computer industry (I've worked in manufacturing, quality testing, high level sales, repair, etc..) says that you are just plain wrong about this... at least relating to personal computers. DRAM is a resource that is normally only utilized as it is needed by the OS and applications. How the DRAM is utilized is system dependent and excess DRAM memory resources running on a traditional operating system cab be referred to as available free memory. This is really basic knowledge... not advanced knowledge. While everyone including me can make an argument that more DRAM is a good thing I haven't read anyone else argue against these facts above you disagree with.

I said before that I don't claim to be an expert on router hardware design the way many in this forum may be. I do know that router hardware has similarities to traditional personal computers. Many modern devices do. The next generation of computers has been my interest for the past five years. I have attended many lectures about the design and development of quantum computers which require us to rethink how future computers of the future are designed. One of the biggest challenges with quantum computers is what is called " decoherence ". Traditional computer designs that use a traditional RAM (DRAM) system to store and access data, use error checking and store data that has been processed... do not work with most current quantum computer designs under development because of the problem of decoherence. Quantum computers being developed rely on qubits (instead of traditional classical bits of information) held in quantum states of superposition. If you want we can go on talking about this topic that's great but I am certain we have strayed far away from the original intent of this thread relating to the 68U vs. the 87U.

https://www.quora.com/How-can-a-quantum-RAM-be-designed

"In quantum computing, RAM and the processor are the same physical device. Physical qubits act as both memory and the processor. Think about if they weren't... you'd then have to copy (observer/measure) quantum information from the RAM to the processor and would destroy all superposition and entanglement in the process."


More about decoherence...
http://www.physics.drexel.edu/~tim/open/main/node2.html
 
Last edited:
L&LD, you are simply incorrect about this and there is no other way to spin it. DRAM (or what we have been referencing in this discussion as active system RAM as an design of memory external to the CPU) is NOT required to run code. It is simply an industry standard design. As an example example... On board processor memory instead of external DRAM can be used and is used to run code.

Can you give an actual example of the on board processor memory you state? What product does that and for what purpose (certainly not general purpose computing).

A computer is a computer (no reason to differentiate between a computer and a router).

I am not disagreeing that ram is a resource. But I am disagreeing with what your definition of 'sufficient ram' is though.

Any os that shows 'free space' is not an indication of sufficient ram. Why? Because the os will change/adapt it's behavior to always have free ram.

It is easy to see this with any system today with 4GB ram vs. one with 8GB ram or more (and otherwise identical). The systems with more ram are much more responsive and can do much more before they run out of steam. Even with tasks that show both the low ram and higher ram capacity systems as lots of available 'free ram'.

Interestingly, your links to the quantum computing and ram supports what I am saying to you (with a different perspective, of course). :)

The cpu and ram combo is a requirement to make compute happen.

Whether that ram is DRAM, 'on board' ram (please give your examples of this), or any of the faster than DRAM caches onboard a processor and including the other ram (NOR, etc.) that is directly accessible like sfx2000 talks about.
 
Can you give an actual example of the on board processor memory you state? What product does that and for what purpose (certainly not general purpose computing).

Microcontroler quite often provide their own small amount of RAM, as they have very little dynamic data that requires volatile storage - the code itself is run directly from read-only memory. Devices using micro controllers will generally try to be as integrated as possible, for design simplicity and low cost.

In a computer (broad use of the term here) system, RAM is used to store volatile data. The code itself does not need to be stored in RAM, as it's read-only, and doesn't modify itself. You could have a basic program that does mostly hardware initialization and operation, which means almost no RAM would be required - a few KBs might be enough.

Look at a router's bootloader, for example. Or old-days computer BIOS.
 
Can you give an actual example of the on board processor memory you state? What product does that and for what purpose (certainly not general purpose computing).

A computer is a computer (no reason to differentiate between a computer and a router).

I am not disagreeing that ram is a resource. But I am disagreeing with what your definition of 'sufficient ram' is though.

Any os that shows 'free space' is not an indication of sufficient ram. Why? Because the os will change/adapt it's behavior to always have free ram.

It is easy to see this with any system today with 4GB ram vs. one with 8GB ram or more (and otherwise identical). The systems with more ram are much more responsive and can do much more before they run out of steam. Even with tasks that show both the low ram and higher ram capacity systems as lots of available 'free ram'.

Interestingly, your links to the quantum computing and ram supports what I am saying to you (with a different perspective, of course). :)

The cpu and ram combo is a requirement to make compute happen.

Whether that ram is DRAM, 'on board' ram (please give your examples of this), or any of the faster than DRAM caches onboard a processor and including the other ram (NOR, etc.) that is directly accessible like sfx2000 talks about.

I'm happy to read you now agreeing with me that the DRAM is a resource... at least that's what I think you are saying. We have also been talking about RAM external to the processor which in the common personal computer design is the DRAM. This is the RAM in the Asus router that you argued about causing a performance increase when it's 512MB vs. only 256MB. You argued that it was more important to the performance than increasing the main clock speed of the processor... for example 1Ghz to 1.4Ghz. Then to bolster your original stand you said that the same external RAM ( which we were discussing as DRAM) is required to run code... as if external available DRAM is an essential part of ALL computer designs. I think there have been enough examples posted me and others to prove that is not true.

Your quote: "The cpu and ram combo is a requirement to make compute happen."

-That would be embedded RAM or on board RAM which is different than the external RAM (or DRAM) used in industry standard personal computer designs we were talking about. If you want to agree with me on that point also then that helps shorten what has become a long drawn out discussion.

-It is my understanding with the design of most of these quantum computers that the CPU and RAM combo that was referenced in the link I provided was only stated that way as a metaphor to help describe it's all in one operation... when if fact the design has little in common with a traditional CPU and external DRAM design of most modern personal computers (with the exception that there are quantum computer designs that are actually trying to utilize the current manufacturing technologies). If you want to change your argument from " external RAM being a requirement" to saying that computers of the future "without traditional external RAM will be the requirement" then I might be able to entertain that idea.
 
Last edited:
Microcontroler quite often provide their own small amount of RAM, as they have very little dynamic data that requires volatile storage - the code itself is run directly from read-only memory. Devices using micro controllers will generally try to be as integrated as possible, for design simplicity and low cost.

In a computer (broad use of the term here) system, RAM is used to store volatile data. The code itself does not need to be stored in RAM, as it's read-only, and doesn't modify itself. You could have a basic program that does mostly hardware initialization and operation, which means almost no RAM would be required - a few KBs might be enough.

Look at a router's bootloader, for example. Or old-days computer BIOS.
Great points Merlin. I actually thought about using the bootloader example in my previous post but I didn't due to time constraints in what has become an extended topic about the importance of more RAM in routers. I'm sure we will see this question come up more often as vendors increase the RAM in their designs from the 256MB common standard now to 512MB, 1GB or more.
 
Microcontroler quite often provide their own small amount of RAM, as they have very little dynamic data that requires volatile storage - the code itself is run directly from read-only memory. Devices using micro controllers will generally try to be as integrated as possible, for design simplicity and low cost.

In a computer (broad use of the term here) system, RAM is used to store volatile data. The code itself does not need to be stored in RAM, as it's read-only, and doesn't modify itself. You could have a basic program that does mostly hardware initialization and operation, which means almost no RAM would be required - a few KBs might be enough.

Look at a router's bootloader, for example. Or old-days computer BIOS.


RMerlin, agree with all you state above. But that is not a general purpose computer that an os can be loaded and additional programs added on top. ;)

I never said code needs to be stored in ram. It needs to be run in ram.
 
I'm happy to read you now agreeing with me that the DRAM is a resource... at least that's what I think you are saying. We have also been talking about RAM external to the processor which in the common personal computer design is the DRAM. This is the RAM in the Asus router that you argued about causing a performance increase when it's 512MB vs. only 256MB. You argued that it was more important to the performance than increasing the main clock speed of the processor... for example 1Ghz to 1.4Ghz. Then to bolster your original stand you said that the same external RAM ( which we were discussing as DRAM) is required to run code... as if external available DRAM is an essential part of ALL computer designs. I think there have been enough examples posted me and others to prove that is not true.

Your quote: "The cpu and ram combo is a requirement to make compute happen."

-That would be embedded RAM or on board RAM which is different than the external RAM (or DRAM) used in industry standard personal computer designs we were talking about. If you want to agree with me on that point also then that helps shorten what has become a long drawn out discussion.

-It is my understanding with the design of most of these quantum computers that the CPU and RAM combo that was referenced in that quote was only stated that way as a metaphor to help describe it's all in one operation... when if fact the design has very little if anything in common with a traditional CPU and external DRAM design of most modern personal computers (with the exception that there are quantum computer designs that are actually trying to utilize the current manufacturing technologies). If you want to change your argument from " RAM being a requirement" to saying that computers of the future "without traditional external RAM will be the requirement" then I might be able to entertain that idea.


Of course ram is a resource. but I have not seen any examples given of anything resembling a 'general purpose' compute device that can run without ram.

Embedded ram or on board ram is not different (it's role). Again, no examples have been given for such a configuration for an computer.

No difference between today's computers and quantum computers with regards to ram. Saying it is now a 'metaphor' doesn't change that fact.
 
RMerlin, agree with all you state above. But that is not a general purpose computer that an os can be loaded and additional programs added on top. ;)

I never said code needs to be stored in ram. It needs to be run in ram.

"It needs to be run in ram."

I don't believe that statement is true either... but if you want to split hairs and come to some type of compromise about the discussion about RAM in general (all types of RAM... SRAM, CPU cache, etc.) you could say that some type of memory storage system whether it be internal or external to the main processor is needed in traditional industry standard computer system designs.
 
"It needs to be run in ram."

I don't believe that statement is true either... but if you want to split hairs and come to some type of compromise about the discussion about RAM in general (all types of RAM... SRAM, CPU cache, etc.) you could say that some type of memory storage system whether it be internal or external to the main processor is needed in traditional industry standard computer system designs.

This is what the whole discussion is about. :) And is too important to 'compromise'. ;)

You do not need to believe, but that is how computers (specifically processors) work.

Any command or data set needs to be in ram to be acted upon. Nothing happens otherwise.
 
Of course ram is a resource. but I have not seen any examples given of anything resembling a 'general purpose' compute device that can run without ram.

Embedded ram or on board ram is not different (it's role). Again, no examples have been given for such a configuration for an computer.

No difference between today's computers and quantum computers with regards to ram. Saying it is now a 'metaphor' doesn't change that fact.
The design differences are night and day. To my knowledge at this time there is no way you can have a quantum computer design utilizing external DRAM the way it is used in traditional classical bit computer designs.
 
Last edited:
This is what the whole discussion is about. :) And is too important to 'compromise'. ;)

You do not need to believe, but that is how computers (specifically processors) work.

Any command or data set needs to be in ram to be acted upon. Nothing happens otherwise.
Ok. It's your choice to continue but I'm running out of patience trying to explain and it doesn't seem like you want to be convinced. It is an interesting topic. No regrets discussing this. If they want to split this off into its own thread I'd be ok with it. I'm just not sure I have the same motivation to be involved as much. I'm now ready to return to the non-threaded world for a dose of normal life at least once every few days. :)
 
Ok. It's your choice to continue but I'm running out of patience trying to explain and it doesn't seem like you want to be convinced. It is an interesting topic. No regrets discussing this. If they want to split this off into its own thread I'd be ok with it. I'm just not sure I have the same motivation to be involved as much. I'm now ready to return to the non-threaded world for a dose of normal life at least once every few days. :)

I'm open to being convinced. But you do not provide proof of what I ask. :)

Sorry you're running out of patience. I too find this an interesting topic.
 
RMerlin, agree with all you state above. But that is not a general purpose computer that an os can be loaded and additional programs added on top. ;)

I never said code needs to be stored in ram. It needs to be run in ram.

@L&LD - You're on a good hunt here - and while things are ok at the minute - there will be a time...

More Cores, More RAM - this will be more beneficial than many would expect... some folks think I'm tilting at windmills, but just keep in mind - I'm a recovering standards and systems engineer here - I wouldn't take folks down this path if I didn't know what I was doing... and if the vendors follow the lead - we all win.
 
@L&LD - You're on a good hunt here - and while things are ok at the minute - there will be a time...

More Cores, More RAM - this will be more beneficial than many would expect... some folks think I'm tilting at windmills, but just keep in mind - I'm a recovering standards and systems engineer here - I wouldn't take folks down this path if I didn't know what I was doing... and if the vendors follow the lead - we all win.

I have been shown by some good customers how important (more) ram is needed to get better performance from their computers. And funnily enough, they too mentioned 'more cores, more ram'. :)

I do not need to be convinced of this. ;)

And I know that even with my entry level fibre connection (100d/30u Mbps), the RT-AC68U is overwhelmed at full ISP speeds. :) (With one core pegged at 100% and the other at 40% or so).

A router that I could grow into would be Intel based (skylake, why not :)), have 4 or more cores, as much ram as my computer (8GB) and a large ssd inside too.

Needing to physically put a USB drive into the router to run something as simple as the excellent utility by john9527 (NVRAM Save/Restore Utility) is like something from an old b/w movie. Or worse, needing one continually plugged in for utilities like thelonelycoder's AB-Solution.

Right now, even a 32GB ssd would be exponentially better than the nothingness we have. But a better move would be at least an 128GB ssd, with the ability to upgrade the capacity as needed by the user.

This is why the Synology router is interesting to me. When Synology (or even better (for me), QNAP) releases something at that level, Asus' current routers will be a pleasant, but distant memory. :D
 
Last edited:
Right now, even a 32GB ssd would be exponentially better than the nothingness we have. But a better move would be at least an 128GB ssd, with the ability to upgrade the capacity as needed by the user.

Believe it or not...

My router has 4GB RAM, and 120GB of SSD - overkill perhaps :D

(The SSD is not for storage/shares - it's for code/logs... the smallest mSATA I could source locally was a Samsung EVO 120, so in it went)

I would be happy with more cores perhaps - the two I have right now (intel rangely) are going fine, but I sense sometime in the near future, there might be an upgrade to 4/8 there... but for now, it's probably suitable for a decent small business...
 
Believe it or not...

My router has 4GB RAM, and 120GB of SSD - overkill perhaps :D

(The SSD is not for storage/shares - it's for code/logs... the smallest mSATA I could source locally was a Samsung EVO 120, so in it went)

I would be happy with more cores perhaps - the two I have right now (intel rangely) are going fine, but I sense sometime in the near future, there might be an upgrade to 4/8 there... but for now, it's probably suitable for a decent small business...


Oh, I know! I follow your post on your little router. :)

Doesn't seem like overkill to me at all (except for the knowledge required to configure it, perhaps. Above my level, that is for sure even with your excellent tutorials).
 
Funny thing - it does one thing - and it does it well...

No Samba, no mediashares, nothing really interesting... but it's fast - in the 0.100 ms fast zone... and pretty much close to GigE max...

Code:
$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.189 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.113 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.129 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.135 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=0.136 ms
64 bytes from 192.168.1.1: icmp_seq=6 ttl=64 time=0.128 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=64 time=0.126 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=64 time=0.133 ms
64 bytes from 192.168.1.1: icmp_seq=9 ttl=64 time=0.137 ms
64 bytes from 192.168.1.1: icmp_seq=10 ttl=64 time=0.127 ms
--- 192.168.1.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 8997ms
rtt min/avg/max/mdev = 0.113/0.135/0.189/0.021 ms

$ iperf3 -c 192.168.1.20 -i1 -Z
Connecting to host 192.168.1.20, port 5201
[  4] local 192.168.1.100 port 49394 connected to 192.168.1.20 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   113 MBytes   945 Mbits/sec                 
[  4]   1.00-2.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   2.00-3.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   3.00-4.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   4.00-5.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   5.00-6.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   6.00-7.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   7.00-8.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   8.00-9.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   9.00-10.00  sec   112 MBytes   940 Mbits/sec                 
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  sender
[  4]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  receiver
 
Oh, I know! I follow your post on your little router. :)

My "little" router.. hehe...

Stop by the house - it's seamless... there's a bit of DNS magic as well, but everyone that has camped out at Casa de SFX has been amazed that we have skinny pipes... 50MBit downstream these days isn't very fast compared to some...

Latency matters...

CPU load is around 5 percent - tuning...
 
Jackalope.jpg

...the hunt is on in the wild wild west.
 
Similar threads

Latest threads

Sign Up For SNBForums Daily Digest

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