Must be the DDR4-3200: PrimoCache Benchie on 6700K/Z170 SATA SSD

BonzaiDuck

Lifer
Jun 30, 2004
15,699
1,448
126
This is relevant perhaps to a few discussions currently taking place about getting various M.2 NVMe SSD cards, such as the Intel 600P 512GB model -- certainly a great buy if you want only half a terabyte.

So the question for me is this: When will prices decrease by at least 40% on entries that are LIKE those for Plextor and Toshiba-OCZ 1TB models ( > $600), or when will Samsung produce their 1TB 950 Pro in such a market and price discipline?

I'm selling one of the Sandy boxes, lock stock and barrel. It is really hard to let go. Buyer is already committed.

But now I've got Skylake @ 4.6 and DDR4 3200 with a cheap little ADATA SP550 480GB SATA SSD. I decided to move a PrimoCache license from my Sandy-to-sell to the Skylake. And I had wondered what value such a stellar caching jackknife-of-all-tools would give to Z170, DDR4 and an SATA SSD.

I have never seen a benchmark like this on any of my Z68 and Ivy-Bridge Z77 systems. Especially note here that this configuration only uses 1,500 MB of RAM for the cache. To get even half the speeds reported in this benchmark on the older systems (also with MBR instead of my Skylake's GPT), I need 3 or 4GB of RAM for the cache:

Anvil%20Benchmark%20PrimoCach%201500MB%20RAM.jpg
 
  • Like
Reactions: grimpr

XavierMace

Diamond Member
Apr 20, 2013
4,307
450
126
Your test size is 1Gb and you've got 1.5Gb allocated as RAMDISK. I'm not sure what's surprising about this result.
 

BonzaiDuck

Lifer
Jun 30, 2004
15,699
1,448
126
Your test size is 1Gb and you've got 1.5Gb allocated as RAMDISK. I'm not sure what's surprising about this result.

Only that I may run that 1GB test most of the time to see what it gives with an older system. These numbers are at least twice what they are with that system, but for at least 500MB to 1GB less in the cache size.

Also -- hope you simply made an error for choosing words. RAMDISK is something different -- Romex also provides ramdisk software. But this is a managed cache.

As to whether the bench numbers reflect much of reality, that's all been discussed and I think we all agree that they're synthetic benchmarks.

If buying hardware and building a system were like surfing, the "good wave" for an M.2 drive just doesn't seem to be quite "there" yet.

But as stable and versatile as PrimoCache is, I could even see myself trying it with the M.2 drive. At that point, though, any real performance gains would seem meaningless at the spec speeds of M.2.

Does anybody feel that their full-spec SATA--III SSD is too slow?

Maybe I'll pull the string on an M.2 drive and pick up the Intel 600P. I'd really like to wait, though. I'll keep an eye on the prospects through end of the month, and watch the Newegg ads as they overwhelm my Inbox.
 

XavierMace

Diamond Member
Apr 20, 2013
4,307
450
126
Only that I may run that 1GB test most of the time to see what it gives with an older system. These numbers are at least twice what they are with that system, but for at least 500MB to 1GB less in the cache size.

Also -- hope you simply made an error for choosing words. RAMDISK is something different -- Romex also provides ramdisk software. But this is a managed cache..

They have fancy marketing words for it, but that's effectively what you are doing. Using RAM as temporary storage for physical volumes. In their terms, you've created a 1.5Gb "level-1" cache which is stored in RAM. Your test file is 1.0Gb of RAM which means (if the software is doing it's job) the bench mark is only benching your memory as that's not large enough to overflow to disk. It's not magic.

Just like this:

20150917210022-cef30419.png


That's on my ZFS array of 16x 7200rpm SATA drives. How is it so high? Because ZFS caches to memory too so most of that data never hit spindles in the benchmark, just RAM and the ZIL on the SSD. It's the same concept. I'm writing to 1,333Mhz ECC DDR3. You're writing to 3,200Mhz DDR4. Looking at it overly-simplistically, based on the clock speed difference alone, you'd expect your numbers to be about 2.5 times faster. Obviously there's many other factors though.

Increase your test size and you're going to see your speeds plummet because you've overflowed the ram cache just like I would if I increased mine much further. That's why I've got 64Gb of RAM on the SAN. It's unlikely I'm going to be doing any writes that exceed that. By the same token, you could give Primo 16Gb of cache, it wouldn't matter if you're only writing 1Gb of data to it.
 
Last edited:

VirtualLarry

No Lifer
Aug 25, 2001
56,227
9,990
126
Interesting discussion, nonetheless.

Would it be worth it, to buy a 32GB DDR4 SO-DIMM kit for my ASRock DeskMini (#2), that I plan to build, as soon as I can afford it - and add PrimoCache, and dedicate a generous portion of that RAM, to a RAM cache for the SSD? I have the option of a PCI-E M.2 SSD, or a SATA6G SSD.

My current DeskMini, I have a G4400 Pentium Skylake CPU, and a 16GB (2x8GB) DDR4-2400 kit @ 2133, and a PNY CS1111 240GB SATA6G 2.5" SSD (BX100 clone). Win10 Pro.

It runs really well, but I wonder how much better it would run, either by doubling the RAM, swapping in my 256GB Intel 600p PCI-E M.2 NVMe SSD, or doubling the RAM to 32GB in the new rig, and going for PrimoCache.

Given the raw performance of a PCI-E SSD, is something like a PrimoCache RAM cache useful for that speed of SSD? I can understand wanting to speed up a SATA6G SSD, but PCI-E?

Edit: And given the current prices of DDR4 RAM (GSKill) @ Newegg / ebay ($200 for a 32GB kit, up from $110 a few months ago), would it be more worthwhile to invest in an i3-6100 instead of a G4400 ($120 + ship instead of $60), and go with 16GB of RAM, or go with the G4400 and 32GB of RAM?

I don't do Photoshop or 3D modeling. Mostly just forum browsing, but the newest Waterfox has consumed 8GB of RAM after leaving it running for a few days with some forum tabs open. (No Flash Player installed either...)
 

XavierMace

Diamond Member
Apr 20, 2013
4,307
450
126
To be clear, I'm not saying Primo doesn't do what they advertise. I'm just not sure Bonzai really understands what it's doing (no disrespect Bonzai). Caching is big in the server world on servers where the same information is being read over and over and over. Your desktop for the most part is different.

When you first install the application, it's basically doing nothing other than using CPU (and from the benchmarks I've seen, a crap ton of it) as it hasn't built up a cache yet. That's unavoidable and would be the case with any sort of caching. This is where you see the term "Hit Rate". For example, the ARC (read cache) on my SAN. I'm not posting my numbers as some sort of brag but to illustrate a point. This is my ARC right this second:

20161014041817-ee16014f.png


That's showing a 100% hit rate which is great. But that 3rd column from the right is showing the ARC is 41Gb and the first column after the time stamp is showing there was only 554 read requests in that sample period. 40Gb of cache is not exactly practical for most people and 554 read requests is basically nothing. Primo is doing the same thing. It's got to figure out what to cache and over time, that hit rate will start increasing. However, here's the catch. 1Gb of cache is basically nothing these days and it's only caching data that already exists on your actual storage (using default settings). Think about how much data you read and write on your computer just surfing the internet. Stream a movie? That can be anywhere from a few MB to over a Gb depending on the video. Now, what happens when you access data you haven't accessed in a while? In my case, lets say an ISO for a game I haven't used in ages. Let me mount that ISO and install the game and look at my ARC again:

20161014043632-6c0bb8e1.png


Within minutes, my hit rate has dropped to 59% because even with 41Gb of cache, that's not enough to store every bit of information I ever use which means I'm only getting the speed of whatever my underlying storage is at this point. So, now look at your usage case. What can you cache, and how much space would you need to store it all?

Boot times. Given this sits on top of the OS, it can't do squat until the OS is at least partially loaded (probably not until it's completely loaded), so little to no help here.

Websurfing. If you're not clearing out your browsers cache, you'd arguably see an improvement on frequently viewed websites. But do you really think you're going to notice if the 4Kb AT banner loads at 11Gb/s instead of 500Mb/s? Outside of static content like that you won't notice anything because it's not caching data until it's written to disk and if it's already written to disk, your page is already loaded.

Email. If you've got a client that's caching your email in a single file (like Outlook), yeah it will be faster. But how fast does your email really need to be?

Gaming. For it to make any noticeable performance gain for gaming, it's going to have to be a large enough to hold a substantial portion of whatever game you're playing. Otherwise lets say your characters outfit is cached but the map is not. That's going to make an unnoticeably small impact on your load times.

Content Creation. Ok, here's where it could make a huge difference. If you're editing a single large file, such as a Bluray rip, and that's cached, that could make a huge different in encoding/editing speeds. However, now you're getting into a deeper question of how does Primo (or whatever your software is) decide what to cache? Does it cache every single file the first time it gets read? If so, with a small cache, that's going to be extremely limited in it's usefulness as it's going to be constantly swapping the data in the cache. Or does it only cache frequently used data? This would seem to me the more logical choice, but that means a one time file, like the above Bluray rip might not get cached which means no performance gain.

RAM Caching technologies have their purpose but general purpose computing really isn't one of them yet unless you've got the budget to go crazy. My previously mentioned ZFS SAN has 12 VM's including a Plex server and two low usage SQL servers running on it which means it's got a vastly higher IOPS usage than your desktop PC. That combined with the abundant amount of RAM provides a substantial real-world performance increase as it's has a lot of data that's being access repeatedly and therefore cached. Hybrid drives are a good reference point. It's the same concept except SSD caching instead of RAM caching. Take the current Firecuda's, they've got 8Gb of cache on the cheapest drive and they are caching at the hardware level so it can make use of it outside the OS. I'd consider 8Gb to be a decent starting point for a cache.

If you have to choose between Primo and a spindle or even a smaller/cheaper SSD versus just buying a good PCIe SSD, I'll take the PCIe SSD in a heart beat. Primo will be faster for that 10% of the data cached in RAM (being generous with the 10%), but the PCI-e SSD will be faster for the other 90% of data that isn't cached. Not to mention the amount of CPU overhead you are adding for that part time disk I/O improvement. Again, using my SAN as a reference, it's got a pair of 6 core Xeon's and the ONLY thing it's running is Solaris 12+napp-it which runs far thinner than Windows. No additional applications or services. Plex and everything else runs on VM's on my host. But with 12 cores (24 threads) and the SAN doing basically nothing, I'm still seeing 4% CPU usage. Now think about applying that load to your desktop which has 2-4 cores (in both of your usage cases).
 
Last edited:

BonzaiDuck

Lifer
Jun 30, 2004
15,699
1,448
126
XavierMace -- I think there's nothing to argue about in your dissertation there. When ISRT was introduced for my Z68 boards, it was a stopgap because of the high cost of SSDs at that time. It met with ambivalence from forum veterans. I used it for some two years until the base drive VelociRaptor died.

The PrimoCache program is a lot more flexible and is storage-mode agnostic: you can cache a RAID from one controller and an AHCI disk from a different controller as either separate caching tasks or under a single task.

It just offers less and less to simple desktop use the faster the base device in the relative scheme of things. I CAN see possibilities I've already tried, though, if it might involve a single multi-TB spinner.

Me -- I have a 3PC license and an extra single license -- which are effectively lifetime. And I'm sitting here, waiting to see a 1TB 950 Pro M.2, or whatever we find in the next few months, but at a price that conforms to my sense of a "5-year-plan.". Should I buy an Intel 600P? should I wait?

Wait and watch -- for now.

Meanwhile, with or without RAM-cached boot drive, this Skylake system is only waiting for a few minor "case and cooling' project-tasks. It will run LinX @ 4.6 and push the temperatures no higher than 73C @ 80F ambient. I wanted to see what it would do if I dropped the speed to 4.5 and lowered the voltage to ~ 1.28 to 1.29V. Gaming only pushes the core sensors to < 50C, and the stressing like LinX to about 65C. Next thing I want to do is run Cinebench or similar to compare it with my 2700K system.

By the way. There is one thing you can do with the PrimoCache program that gives a "performance accumulation." The program will save cache contents for reloading at boot time, which restores an improving hit-rate. Or -- that's my perception of it.

But as you say, it adds complexity, and if you pull out all the stops to get :"faster writes," it's also riskier.
 
Last edited:

BonzaiDuck

Lifer
Jun 30, 2004
15,699
1,448
126
Interesting discussion, nonetheless.

Would it be worth it, to buy a 32GB DDR4 SO-DIMM kit for my ASRock DeskMini (#2), that I plan to build, as soon as I can afford it - and add PrimoCache, and dedicate a generous portion of that RAM, to a RAM cache for the SSD? I have the option of a PCI-E M.2 SSD, or a SATA6G SSD.

My current DeskMini, I have a G4400 Pentium Skylake CPU, and a 16GB (2x8GB) DDR4-2400 kit @ 2133, and a PNY CS1111 240GB SATA6G 2.5" SSD (BX100 clone). Win10 Pro.

It runs really well, but I wonder how much better it would run, either by doubling the RAM, swapping in my 256GB Intel 600p PCI-E M.2 NVMe SSD, or doubling the RAM to 32GB in the new rig, and going for PrimoCache.

Given the raw performance of a PCI-E SSD, is something like a PrimoCache RAM cache useful for that speed of SSD? I can understand wanting to speed up a SATA6G SSD, but PCI-E?

Edit: And given the current prices of DDR4 RAM (GSKill) @ Newegg / ebay ($200 for a 32GB kit, up from $110 a few months ago), would it be more worthwhile to invest in an i3-6100 instead of a G4400 ($120 + ship instead of $60), and go with 16GB of RAM, or go with the G4400 and 32GB of RAM?

I don't do Photoshop or 3D modeling. Mostly just forum browsing, but the newest Waterfox has consumed 8GB of RAM after leaving it running for a few days with some forum tabs open. (No Flash Player installed either...)

Actually, I did that -- adding only 4GB (2x2) to a 16GB kit. People are going to say again I might just have bought a 32GB 2x16, but then again no matter what one does to minimize it, you have a larger hiberfil.sys (unless you don't use that hibernation feature.)

Put it another way, I never see my 16GB configurations saturate the RAM, while some others with various specialized tasks want more and more RAM. I saw this initially as a way to take advantage of the extra memory.

Let's say you have an SSD under the caching program. You would've dropped the swap-file to 2GB. In my case, I can only reduce the hyberfil to 10. So you configure PrimoCache to save RAM cache contents, and you might add 4 or more GB of writes at restart or shutdown time.

Then, at boot time, there's the delay for restoring that cache. And figure that your memory should not be on the edge for an RMA panic.

On the other hand, it's not expensive software and it works. Or put it another way, even for the price, if the benefits are questionable, it's a benign program -- or -- it "does no harm."

Paradoxically, we're looking at benefits from RAM-caching, while the Primo program will also allow for the "L2" SSD-caching of a spinner if you aren't annoyed at the idea of adding a small-capacity SSD for the purpose. In gaming that uses HDD storage, I see the hit-rate grow quickly to 99%.

But as the X-man said, "more beneficial for server tasks." And I'm pondering whether to buy a license for the program to use with my server -- which of course uses a lot of spinners.
 
Last edited: