Hi HN,
After a mobo upgrade, i have ended up with an ungodly 48GB of 3200Mhz DDR4 RAM. This is a ridiculous amount to have on a personal machine for me. What are some cool things I can do with this much RAM?
All ideas are welcome. Video/audio editing?, databases, run an OS off a ramdisk??, anything.
Deleted Comment
And also how incredibly not-fast. The fact is that most applications are memory bandwidth bound, once you eliminate the disk as a bottleneck. Not CPU bound. So when you run off a ramdisk, it's not actually helping as much as I thought it would.
But! One really neat thing you can do is to save VM checkpoints, so that backing up your computer is as simple as checkpointing the VM. So there are other advantages.
Doing some video editing is fun too, and 3D modeling. Ever want to dabble with ZBrush? Now's your chance. Get yourself a nice big monitor and Wacom tablet. Yum.
(And then, y'know, set the hobby down and never touch it again, just like the rest of us. But it's fun while it lasts.)
Most programs spend little time doing computation, or reading I/O. Everyone knows I/O is expensive, so it's minimized.
But there's no getting around the fact that every time you want to do anything at all, you have to shuffle around memory. There's no choice.
One way to circumvent this restriction is to make memory faster. This is difficult with traditional approaches.
I was going to point to Memristors as a possible way forward, but honestly I don't know enough about the subject.
We're getting to the point where we're speed-of-light bound, I believe. I.e. running up against fundamental limits.
Still, there's a lot of room. One interesting thing is to read Feynman's lectures on computation: https://theswissbay.ch/pdf/Gentoomen%20Library/Extra/Richard...
He points out that a reversible computer is actually the most efficient, from an energy perspective. But the tradeoff is that things take more time. If you want to take less time, it generates more heat. And more heat means inevitable delay.
https://www.forrestthewoods.com/blog/memory-bandwidth-napkin...
If you dedicate 2 gigabytes of it to the .cache folder than either it's going to be mostly empty and you're be causing more thrashing as the kernel unloads stuff it didn't need to, or it fills up and your system falls over when something tries to put a big temporary file in that folder.
Would you agree with this article's recommendations regarding ramdisk setup? https://www.linuxbabe.com/command-line/create-ramdisk-linux There seems to be controversy in the comments as to whether tmpfs is a proper ramdisk - although no clear tutorial as to a better method. Interested to learn more!
SSDs can handle a lot of writes. That is not necessary to do.
Edit: Also, run a cluster of anything (in VMs or containers) and muck around killing individual cluster nodes or just suspending them/throttling them to be extremely slow to simulate a brownout/straggling cluster node.
[1] https://github.com/apache/arrow-datafusion
Alternatively, try running Elasticsearch to index something.
As for the other 2/3... ZFS, Google Chrome, or Electron apps maybe?
Deleted Comment
I allocate 32 of my 128GB to 'hugepages' - basically reserved areas of memory for the VMs (or other capable software) to use. It helps performance a bit.
Aside from that, I make pretty liberal usage of tmpfs (memory backed storage) for various things. When building software with many files it can make a big difference.
Fedpkg/mock will chew through 40-50GB depending on what I'm building/the chroot involved