A Chia farmer quickly turning this hobby from a spare space intrigue to a home lab mania.
Optimizing Chia Plotting
Any Chia enthusiast knows that the more effectively you optimize your software and hardware to output more plots per day, the more coins you stand to earn in a more cost-effective fashion.
This has led to optimizations in processors, SSDs, plotting scripts, all aimed at increasing plot output often by optimizing around maximum parallel plotting.
However, as of early 2021, the nuance of how each component of a given setup impacts time to plot is not fully matured. One such topic is the role that RAM plays in the plotting process.
RAM in Plotting
Any individual learning to plot quickly learns that RAM capacity is critical in maximizing parallel plots.
A single plotting thread uses between 3000 and 7000 RAM and is actually a figure you can set yourself while plotting. The high recommended value has landed around 6750 for the highest impact to speed, while the low end of 3400 allows for more parallel plots on a machine that may be more RAM constrained.
However, the role of the speed and quality of that RAM is acknowledged but not as heavily tested as other aspects. While many gaming enthusiasts are fully aware of the impact of RAM with a higher frequency, this is a less-discussed side of RAM elsewhere. Gamers shoot for RAM frequencies of 3200 MHz or higher, while many more standard grades of RAM will land in the 2000 to 3000 MHz range.
I decided to explore whether or not the gaming RAM in my machine had a meaningful impact on my plotting to see if dedicated plotting machines would benefit from similar RAM upgrades. To do this, I designed a test altering the speed of the RAM.
XMP Enabled and Disabled
Designing the Test
While both RAM frequency and RAM timings are considered crucial elements in gaming, the frequency side of it is really the single biggest part. To understand the impact of frequency on plotting time, I wanted to test high and low frequencies.
I used gaming RAM, 32GB of G.Skill Trident Z Neo DDR4 RAM clocking in at 3600MHz for the high end. It's important to note that this ram hits these speeds only with XMP/DOCP enabled. I'll spare the heavy details, but this RAM only operates at those high speeds when the motherboard is specifically set to enable them, and it is disabled by default.
It effectively overclocks the RAM to a manufacturer's pre-determined acceptable range (In this case, 3600MHz) assuming your motherboard is on the list of supported hardware. It doesn't run this high by default because it's not fully guaranteed, and not all motherboards can support the RAM reaching that high even if the RAM is capable of delivering it.
With XMP enabled RAM humming along in my machine, I then set a simple parallel plot test:
- 3 parallel plots, 60-minute delay
- 6 threads, 6750 RAM
- XMP enabled
For reference, the machine is using a Ryzen 3900XT processor and plotting with a Sabrent Rocket 4 2TB M.2 NVMe.
I let the machine plot completely uninterrupted or used for other purposes and recorded the times from the logs. I then repeated this with the exact same setup, however with XMP disabled, leading to a massively reduced frequency of 2133MHz.
The RAM Used in the Test
The SSD Used in the Test
The results of this test were staggering. The average plot completion time was 4 hours and 45 minutes for XMP enabled, and 6 hours and 8 minutes with it disabled. Every single phase of plotting was slower with XMP disabled, with phases 1 and 2 having the biggest difference.
That's roughly 30% faster just purely from RAM frequency and certainly something I did not expect.
In fact, I was so astonished by the results, it left me wondering if I'm missing something, so I decided to try a 2nd test.
Plot Times With XMP Enabled/Disabled
Validating in a 2nd Test
The results were incredible, but it felt necessary to run this test again to make sure there wasn't some strange hiccup I hadn't accounted for. This time I ran with slightly different settings:
- 2 parallel plots, 60-minute delay
- 4 threads, 5000 RAM
I ran this once with XMP enabled and once with XMP disabled. The net result was the same, XMP disabled took about 30% more time to complete. XMP disabled plots took an average of 395 minutes while XMP enabled plots took 299 minutes.
Again, each phase being impacted by the difference with a slight change in Phase 2 which was slower at a more significant ratio than the first test.
Final Thoughts on RAM Speed Impact on Chia Plot Output
It has been well established that Ryzen processors, in particular the Ryzen 3000 series, are sensitive to RAM speed. The noted sweet spot is that they tend to perform very well with 3200MHz RAM and have diminishing returns above that. I suspect that this is a factor in this test.
I would theorize that the equivalent Intel processor wouldn't have such a huge difference if this RAM speed test were repeated but don't have the hardware myself to verify. That being said, this test certainly concludes to me that RAM speed is absolutely an important factor to consider when building plotting machines!
For the types of gains I received on a Ryzen 3000 series CPU, a RAM upgrade to a higher frequency is definitely a very cost-effective way to increase plot output. However, do please note that if you choose to go down a path in purchasing RAM with a 3000MHz or higher speed, you will have to learn about XMP/DOCP profiling to hit those speeds!
This article is accurate and true to the best of the author’s knowledge. Content is for informational or entertainment purposes only and does not substitute for personal counsel or professional advice in business, financial, legal, or technical matters.