Hi,
I'm configuring a new laptop with Intel i7 4810MQ and 32GB of memory. I've a 256GB M.2 PCIE SSD, a SATA Samsung EVO 850 1TB and 5400rpm 2TB Samsung Spinpoint M2T.
I've a Windows 7 64-bit and apps installed on the M.2 PCIE SSD and lots of downloaded files on the 2TB HDD. There's nothing on the 1TB SSD yet as I just purchased it.
I'd like to seek some suggestions on how to optimize my setup. I'm thinking of doing the following:
1. Cache the 256GB M.2 PCIE SSD with L1 cache using 4GB from my 32GB memory. I'm hoping that this will further improve my OS and apps performance.
2. Cache the 1TB SATA SSD with L1 cache using 4GB from my 32GB memory. I intend keep all my working docs and email PST files on this 1TB SSD.
2. Create a 8GB partition on the 1TB SSD and use it as a L2 cache for the 2TB HDD. I download a lot firmware and ISO files due to my work nature and keep them on the HDD for it's large capacity. The HDD gets hit most when I copy large files to/from it, or extract huge TGZ files usually 5-10GB in size.
I also run VMs using Oracle VirtualBox and is not quite sure if I should keep them on the 256GB PCIE SSD or the 1TB SATA SSD. I don't start the VMs everyday but when I run them, they can be quite performance intensive as I could be running several instances of Windows 2008/2012 R2 VMs with different software versions in them.
I'm new to PrimoCache so isn't quite sure if the my usable memory will be reduced to 24GB after implementing #1 and #2, or will the amount of memory consumed for these L1 caches change depending on actual cached data.
I seldom shutdown my laptop as I put it to sleep when I'm not using it. Does it impact PrimoCache negatively?
PrimoCache with M.2 PCIE SSD, SATA SSD and 5400rpm HDD
-
- Level 1
- Posts: 4
- Joined: Thu Apr 30, 2015 4:33 pm
Re: PrimoCache with M.2 PCIE SSD, SATA SSD and 5400rpm HDD
Quick thoughts:
- * you will see limited benefit L1 read caching SSDs; write caching cuts down on physical writes (I see a 50% reduction) if delay is sufficiently long. However, you need robust power protection to avoid data loss/corruption with write delays. Todays SSDs are sufficiently robust to not worry about the quantity of data written (even EVOs) unless extremely heavy. Write reduction is more of an interesting exercise than true benefit IMO.
* use the same L1 cache for both drives to optimize resource utilization unless you plan to go with different block sizes, write delays, etc
* greatest benefit will be seen caching HDD but there have been various complains regarding the behavior and performance of L2 caches. Given your memory footprint you may want to consider a L1 cache here as well.
* No problems with sleep; I have never had a power management issue traceable to Primocache L1 (I do not use L2)
-
- Level 1
- Posts: 4
- Joined: Thu Apr 30, 2015 4:33 pm
Re: PrimoCache with M.2 PCIE SSD, SATA SSD and 5400rpm HDD
I have on countless occasions, let my laptop sleep to a point where the battery is completely drained and can only be powered back on by plugging it to a wall socket. I don't run any transactional applications and mostly, my MS Office files are able to recover from such abrupt shutdowns. Should I even be considering deferred writes?
Re: PrimoCache with M.2 PCIE SSD, SATA SSD and 5400rpm HDD
There is always a risk of data loss from unplanned shutdowns. Windows makes an attempt to flush caches when power levels become critical but that depends on whether the battery has sufficient charge to wake the machine, perform whatever tasks Windows (and sometimes applications) have queued then gracefully shutdown before the battery is exhausted. PrimoCache has no such provisions; anything in the L1 cache when power is lost will be discarded potentially leading to inconsistencies in individual files or (worst case) the file system itself.
An easy solution is to configure Windows to hibernate after the battery falls below a certain percentage. This works regardless of whether the machine is in use (S0) or sleeping (presumably S3). Just need to set a level high enough so hibernation can complete before the battery is exhausted. 5% should be fine provided your battery is in reasonably good shape. Under this scenario any data in the L1 cache (including deferred writes) would be written to the hibernation file and restored when Windows resumes. You also won't have to worry about recovering MS Office files and/or recovering from other power problems.
An easy solution is to configure Windows to hibernate after the battery falls below a certain percentage. This works regardless of whether the machine is in use (S0) or sleeping (presumably S3). Just need to set a level high enough so hibernation can complete before the battery is exhausted. 5% should be fine provided your battery is in reasonably good shape. Under this scenario any data in the L1 cache (including deferred writes) would be written to the hibernation file and restored when Windows resumes. You also won't have to worry about recovering MS Office files and/or recovering from other power problems.
-
- Level 1
- Posts: 4
- Joined: Thu Apr 30, 2015 4:33 pm
Re: PrimoCache with M.2 PCIE SSD, SATA SSD and 5400rpm HDD
Thanks Davey126!
My first attempt at using SSD for Windows 7 OS was 4 years ago and back then, the general wisdom was to disable hibernation for SSDs due to the huge hiberfil.sys and relatively smaller SSD size and also the additional write cycles it imposes on the SSD. Is this concern still valid for the current state-of-art for SSDs?
With my 256GB SSD boot drive and 32GB memory, I'm thinking if I were to enable hibernation as what you have suggested, I'll still set of limit to the size of hiberfil.sys to just 16GB.
My first attempt at using SSD for Windows 7 OS was 4 years ago and back then, the general wisdom was to disable hibernation for SSDs due to the huge hiberfil.sys and relatively smaller SSD size and also the additional write cycles it imposes on the SSD. Is this concern still valid for the current state-of-art for SSDs?
With my 256GB SSD boot drive and 32GB memory, I'm thinking if I were to enable hibernation as what you have suggested, I'll still set of limit to the size of hiberfil.sys to just 16GB.
Re: PrimoCache with M.2 PCIE SSD, SATA SSD and 5400rpm HDD
Modern SSDs have proven to be remarkably robust. Google "SSD Endurance Experiment" for some interesting reading. That 16-32 GB file is barely noise on the radar unless your device is routinely hibernating. Size is a different matter as hiberfil.sys does take a good chunk of space. Restricting to 16 GB (50% option) is reasonable recognizing that if memory is highly utilized with 'dense' data that resists compression you may experience a hibernation failure. The risk seems low given the large amount of memory on your laptop.
Side note: You may be surprised how fast your machine recovers when the hibernation file is read from SSD (assuming the bios gets through its business pretty quickly). Writes are almost as fast although Windows normal power-down gyrations often overshadow actual hibernation file write times. S3 Sleep is obviously much faster and remains the preferred option for shorter slumbers.
Good luck.
Side note: You may be surprised how fast your machine recovers when the hibernation file is read from SSD (assuming the bios gets through its business pretty quickly). Writes are almost as fast although Windows normal power-down gyrations often overshadow actual hibernation file write times. S3 Sleep is obviously much faster and remains the preferred option for shorter slumbers.
Good luck.
-
- Level 1
- Posts: 4
- Joined: Thu Apr 30, 2015 4:33 pm
Re: PrimoCache with M.2 PCIE SSD, SATA SSD and 5400rpm HDD
I'm not sure if I should enable RAPID mode on my Samsung 850 EVO 1TB SSD, if I were to enable L1 cache for it. Any advice?
Re: PrimoCache with M.2 PCIE SSD, SATA SSD and 5400rpm HDD
I don't feel there is an argument for/against other than what has been published sans Primocache. Try it both ways and stick with what you like best.
-
- Level SS
- Posts: 477
- Joined: Wed Oct 06, 2010 11:10 pm
Re: PrimoCache with M.2 PCIE SSD, SATA SSD and 5400rpm HDD
1 should be worth doing - L1 caching can boost SSD performance to nearly the same speed as a ramdisk (factor of 10 in my experience, though an M.2 SSD might be fast enough compared to SATA-based SSDs to lessen the improvement) - the improvement in application performance won't be anything like as dramatic, but should be noticeable. 2 is a slightly trickier one - documents won't likely benefit as much but Davey126's suggestion of a single L1 cache for both SSDs should be worth serious consideration.romulanvox wrote:1. Cache the 256GB M.2 PCIE SSD with L1 cache using 4GB from my 32GB memory. I'm hoping that this will further improve my OS and apps performance.
2. Cache the 1TB SATA SSD with L1 cache using 4GB from my 32GB memory. I intend keep all my working docs and email PST files on this 1TB SSD.
If you use a disk for download storage, then you probably aren't reading the same file repeatedly which means caching can't do anything. For the occasions that you might access the same file twice, Windows' own file caching would probably suffice and has the advantage that it will hand over memory to any other process that wants it.romulanvox wrote:2. Create a 8GB partition on the 1TB SSD and use it as a L2 cache for the 2TB HDD. I download a lot firmware and ISO files due to my work nature and keep them on the HDD for it's large capacity. The HDD gets hit most when I copy large files to/from it, or extract huge TGZ files usually 5-10GB in size.
One thing that might be worth doing is setting up a ramdisk for temporary files and configuring your extractor to use it - that can speed up the processing of archives enormously but you need to ensure that the ramdisk is large enough (Romex's ramdisk software has a file-disk option which uses RAM up to a set value then disk storage if that space is exceeded - using that with your SSD should be worth trying).
The key factor is how much space the images need. I would suspect that your M2 SSD is likely to run short on space so the SATA-SSD would seem the better choice.romulanvox wrote:I also run VMs using Oracle VirtualBox and is not quite sure if I should keep them on the 256GB PCIE SSD or the 1TB SATA SSD. I don't start the VMs everyday but when I run them, they can be quite performance intensive as I could be running several instances of Windows 2008/2012 R2 VMs with different software versions in them.
Memory allocated to PrimoCache won't be available for other applications, so you would be left with 24GB in the above example. Primo Ramdisk does provide the option of Dynamic Memory Management (where a ramdisk will only use enough memory to match the data stored, rather than matching the ramdisk size) but you may want to check whether that causes any performance degradation.romulanvox wrote:I'm new to PrimoCache so isn't quite sure if the my usable memory will be reduced to 24GB after implementing #1 and #2, or will the amount of memory consumed for these L1 caches change depending on actual cached data.
Re: PrimoCache with M.2 PCIE SSD, SATA SSD and 5400rpm HDD
i encountered a weird issue. the cache task for my pcie ssd is saved but 'missing' on every cold boot.
the tests that i did were as follows:
1. create cache task for pcie ssd (dedicated l1 cache, 2GB) and save it. reboot the machine. the setting is saved correctly and loaded successfully.
2. shut down the machine, then do a cold boot. the setting for pcie ssd is gone. the task designated for pcie ssd is still there, but it's now inactive. the pcie ssd drive is missing from the task.
- brief system info: windows 8.1; 5930k; 64gb ram; 1x pcie ssd mounted on a pcie adapter (samsung xp941); 2x sata ssd (samsung sm843); and 2x wd green hdd.
- primocache settings (primocache 2.0):
1. task 1 - dedicated l1-cache for pcie ssd, 2GB read only, defer-write on.
2. task 2 - l1-cache for 2x sata ssd, 2GB read only., defer-write on.
in both tests above, task 2 worked fine. please help.
the tests that i did were as follows:
1. create cache task for pcie ssd (dedicated l1 cache, 2GB) and save it. reboot the machine. the setting is saved correctly and loaded successfully.
2. shut down the machine, then do a cold boot. the setting for pcie ssd is gone. the task designated for pcie ssd is still there, but it's now inactive. the pcie ssd drive is missing from the task.
- brief system info: windows 8.1; 5930k; 64gb ram; 1x pcie ssd mounted on a pcie adapter (samsung xp941); 2x sata ssd (samsung sm843); and 2x wd green hdd.
- primocache settings (primocache 2.0):
1. task 1 - dedicated l1-cache for pcie ssd, 2GB read only, defer-write on.
2. task 2 - l1-cache for 2x sata ssd, 2GB read only., defer-write on.
in both tests above, task 2 worked fine. please help.