Here's the history of my extended building and improvement of a Skylake i7-6700K system as pertains to RAM decisions.
I may have contemplated the choice between a 2x8 = 16GB RAM kit and a 2x16GB = 32GB RAM kit for about two weeks. And at that time, I didn't have plans for an NVME M.2 drive. I added the NVME first as a 250GB 960 EVO just as an experiment with L2 caching. Then I added a 960 Pro as a boot-system disk, and put the EVO in my x16/x8 PCIE #2 slot for caching. I only bought the 2x8 kit of G.SKILL RAM.
It must have taken six months before I decided what to do about the RAM, as prices were going up and everyone is still talking about the price-point today. Ideally you would want a 2x16 kit for 32GB. I didn't want to waste the existing 2x8 kit. G.SKILL told me that a second kit of 2x8's might not work at the rated spec speeds and timings, but they would support the combination if I downclocked the RAM to DDR4-3000. I considered the possibilities, and realized that they didn't explicitly say that 2 x (2x8) wouldn't work. They just wouldn't guarantee that it would at 3200 Mhz. So for half the price of a 2x16 kit, I opened my wallet for another 2x8. 1,000% coverage by HCI Memtest 64 proves that 2 x (2x8) works fine.
So there I was. I cached the 960Pro to RAM, and I cached SATA device(s) to the 960 EVO. And I still added another tier of caching by assigning 8GB RAM to the SATA devices, leaving another 8GB to cache the Pro drive. Whether this is an optimal configuration, not even to mention a choice of read and write cache segments, I haven't much bothered to test, because stability is more important and with Primo version 3, this is all perfectly stable -- without cache resets or other troubles. Fine tuning continues to be assured stability, but what it is now is "good enough."
Caching to an L1 may indeed be wasteful, but it only cost me $180 as opposed to ~ $360 for the "ideal" kit with no uncertainty for running at spec. At that point, I have to say -- "why the hell not?!" After about 18 months running since initial parts purchase, someone could say "Hey! Isn't it time to let go and build an i7-8700K?" I'll put that one on my 2019 budget-option list. I don't even want to think about it now.
And I guess I'm still watching this thread that I started, because y'all have some interesting ideas. with the checkboxes filled for the deferred write and prefetch with "Start at boot time" options -- the "release L1 on hibernation" also checked -- this is a dream system, and I didn't shell out $15,000 on it like you see the Maximum PC magazine staff doing annually.
(OF course, I could wonder what a 4x16 RAM setup would offer. But I think we'd be talking about $800 there, and it definitely does not seem worth it just for being "curious.") Even if I didn't make them myself -- that's an awful lot of pulled-pork chili-verde wet burrito dinners. Several years worth.
Somthing toward a "sticky:" Suggestiion for a configuration discussion for various PC usage patterns
-
- Level 7
- Posts: 88
- Joined: Wed Jan 11, 2017 12:57 am
Re: Somthing toward a "sticky:" Suggestiion for a configuration discussion for various PC usage patterns
If Windows' caching was as effective as you think, we wouldn't see such a dramatic effect using Primocache in a L1-read capacity. And yet... we do. Every system I've installed it on (including 64 and 32gb memory systems) speeds up appreciably when using read/write caching (or even just read). Truth be told, Windows' disk caching algorithms are sub-par, in my experience.Hodor wrote:I see it the same way. I use a small 384MB write-only L1 cache because Windows' memory manager already functions as a read cache. Using L1 as a both read/write cache typically causes write data to be flushed too often in my experience.
I suppose if you were severely RAM limited, restricting to L1 writes only might help more than read/writes for future disk operations. But then I don't starve systems for RAM, since I believe enough RAM is essential when it comes to system performance. From that perspective, using a L2 (even a USB 3.0/3.1 attached drive) SSD would be more effective for read/writes if you can't afford the RAM for a sizable L1.
Re: Somthing toward a "sticky:" Suggestiion for a configuration discussion for various PC usage patterns
I don't really disagree but note that a write-only cache still allows write data to be read from. It sounds counter-intuitive but you will still see improved read speeds from a write-only cache if that data is cache resident. Run CrystalDiskMark with a write-only cache and you'll see the same high read speeds, for example. My reason for keeping the cache size small is simply to prevent too much unflushed data in RAM while still freeing the SSD controller to focus solely on reads.Jaga wrote:If Windows' caching was as effective as you think, we wouldn't see such a dramatic effect using Primocache in a L1-read capacity. And yet... we do. Every system I've installed it on (including 64 and 32gb memory systems) speeds up appreciably when using read/write caching (or even just read). Truth be told, Windows' disk caching algorithms are sub-par, in my experience.Hodor wrote:I see it the same way. I use a small 384MB write-only L1 cache because Windows' memory manager already functions as a read cache. Using L1 as a both read/write cache typically causes write data to be flushed too often in my experience.
I suppose if you were severely RAM limited, restricting to L1 writes only might help more than read/writes for future disk operations. But then I don't starve systems for RAM, since I believe enough RAM is essential when it comes to system performance. From that perspective, using a L2 (even a USB 3.0/3.1 attached drive) SSD would be more effective for read/writes if you can't afford the RAM for a sizable L1.
Of course, this is mainly true for gaming/consumer drives where data unpacking is often a greater bottleneck than disk IO. If you're working on large datasets that don't fit into Windows' file cache then caching reads at the block level may well show a greater benefit. But I see a lesser benefit for application launches and such.
-
- Level 7
- Posts: 88
- Joined: Wed Jan 11, 2017 12:57 am
Re: Somthing toward a "sticky:" Suggestiion for a configuration discussion for various PC usage patterns
Good discussion so far, and material for me to consider further.
Re: Somthing toward a "sticky:" Suggestiion for a configuration discussion for various PC usage patterns
thank you this was very useful.
Re: Somthing toward a "sticky:" Suggestiion for a configuration discussion for various PC usage patterns
I don't think L1 cache is super useful as a read cache unless it's 16Gb +. I'm just using a 2Gb write only L1 cache and 200Gb ssd L2 cache with read/writes, Increases the performance of my L2 cache a lot because it never has to write at the same time as it's reading now thanks to the L1 cache. And even my small L1 cache makes everyday tasks like install apps/updating programs and web browsing faster than the fastest ssd.
-
- Level 2
- Posts: 5
- Joined: Fri Oct 04, 2019 8:17 pm
Re: Somthing toward a "sticky:" Suggestiion for a configuration discussion for various PC usage patterns
Hi,
I'm hoping for some sage advice from the ram cache elders; I've been snooping on BonzaiDuck's posts over on Anandtech and Tom's Hardware for a while, and you're actually the reason I went with Primocache![Smile :)](./images/smilies/icon_e_smile.gif)
Could I get any optimization help and/or suggestions for improvement? I don't have a UPS so I didn't enable deferred write. Also I have always-on google drive enterprise backup, onedrive enterprise backup, and personal backblaze always on backing up different stuff on my Seagate 10 TB storage HDD, not sure if they are messing up the caching algorithm?
Tasks: General purpose workstation stuff, in descending order of importance to me:
1.) gaming (on sabrent 1tb SSD boot drive and Seagate 10 TB storage HDD)
2.) Plex and Emby home media server (on Seagate 10 TB storage HDD)
3.) VPN seedbox Hyper-V virtual machine (disk image on Sabrent 1tb SSD boot drive, shared data drive on Seagate 10 TB storage HDD)
4.) Handbrake media transcoding (on Seagate 10 TB storage HDD)
Computer details:
CPU: AMD Ryzen 3700x
GPU: EVGA Nvidia GeForce RTX 2060 super SC Ultra
RAM: Corsair Vengeance LPX 32 GB (2 x 16 GB) DDR4 @ 2998 mhz; 15-17-17-35
Boot drive: Sabrent - 1 TB M.2-2280 SSD
Level 2 cache storage: Intel - 660p Series 1.02 TB M.2-2280 SSD
Data Storage: Seagate - IronWolf 10 TB 3.5" 7200RPM HDD
Local external file backup storage: Western Digital - Elements 8 TB USB 3.0 5400 RPM external hard drive
Cloud file backup: Google Drive enterprise and Microsoft OneDrive enterprise through my university, and Backblaze personal
Primocache tasks for Boot Drive:
I'm hoping for some sage advice from the ram cache elders; I've been snooping on BonzaiDuck's posts over on Anandtech and Tom's Hardware for a while, and you're actually the reason I went with Primocache
![Smile :)](./images/smilies/icon_e_smile.gif)
Could I get any optimization help and/or suggestions for improvement? I don't have a UPS so I didn't enable deferred write. Also I have always-on google drive enterprise backup, onedrive enterprise backup, and personal backblaze always on backing up different stuff on my Seagate 10 TB storage HDD, not sure if they are messing up the caching algorithm?
Tasks: General purpose workstation stuff, in descending order of importance to me:
1.) gaming (on sabrent 1tb SSD boot drive and Seagate 10 TB storage HDD)
2.) Plex and Emby home media server (on Seagate 10 TB storage HDD)
3.) VPN seedbox Hyper-V virtual machine (disk image on Sabrent 1tb SSD boot drive, shared data drive on Seagate 10 TB storage HDD)
4.) Handbrake media transcoding (on Seagate 10 TB storage HDD)
Computer details:
CPU: AMD Ryzen 3700x
GPU: EVGA Nvidia GeForce RTX 2060 super SC Ultra
RAM: Corsair Vengeance LPX 32 GB (2 x 16 GB) DDR4 @ 2998 mhz; 15-17-17-35
Boot drive: Sabrent - 1 TB M.2-2280 SSD
Level 2 cache storage: Intel - 660p Series 1.02 TB M.2-2280 SSD
Data Storage: Seagate - IronWolf 10 TB 3.5" 7200RPM HDD
Local external file backup storage: Western Digital - Elements 8 TB USB 3.0 5400 RPM external hard drive
Cloud file backup: Google Drive enterprise and Microsoft OneDrive enterprise through my university, and Backblaze personal
Primocache tasks for Boot Drive:
- Attachments
-
- 3 primocache storage drive overview.PNG (73.19 KiB) Viewed 8156 times
-
- Level 2
- Posts: 5
- Joined: Fri Oct 04, 2019 8:17 pm
Re: Somthing toward a "sticky:" Suggestiion for a configuration discussion for various PC usage patterns
Contd post for screenshots:
Primocache tasks for storage drive
Primocache tasks for storage drive
Re: Somthing toward a "sticky:" Suggestiion for a configuration discussion for various PC usage patterns
@datahoarder9k, for the cache task #2, you may increase block size to reduce overhead, now is 2.85GB which is a big waste of RAM. And since you don't enable the defer write, a write-only L1 cache is almost useless. You may simply set L1 cache caching both read and write data by unchecking the option "Individual Read/Write Cache Space" in the Advanced Level-1 Cache Options dialog.
-
- Level 2
- Posts: 5
- Joined: Fri Oct 04, 2019 8:17 pm
Re: Somthing toward a "sticky:" Suggestiion for a configuration discussion for various PC usage patterns
Thank you very much for the advice. I have changed the L1 cache back to auto-managed. Regarding increased block size, I vaguely recall advice to the effect of "keep your cache cluster size the same size or below your target disk's cluster size".
Is there is a major performance or cache size penalty if my boot drive cluster size is 4KB, but my cache cluster size is 8KB? If so, is it easy for me to change the boot drive cluster size without reformatting it?
Is there is a major performance or cache size penalty if my boot drive cluster size is 4KB, but my cache cluster size is 8KB? If so, is it easy for me to change the boot drive cluster size without reformatting it?