Does L1 write through to L2?

FAQ, getting help, user experience about PrimoCache
CrypEd
Level 6
Level 6
Posts: 71
Joined: Mon Nov 11, 2013 11:04 am

Re: Does L1 write through to L2?

Post by CrypEd »

If fire up a few games, say 5GB so of reads. That's cached in the L1...
No it's not cached in the L1!!!!!!...sure, the EXE is, but not any of the game-data itself, you will have that completely in L1 maybe after a complete playthru.. but i doubt you found all object that invoke read of all data :D

Cache is NOT MEANT to load "specified-data" containers.. so it's NOT what you are searching for.
PrimoCache is ONLY able to speed up the SECOND-reads... never the FIRST-reads, that's the architecture of caching and theres no magic available to change that.

Your games use fixed-size ressource-folders... so why do you try speeding them up with PrimoCACHE at all, thats so pointless?!

This is a perfect scenario for RAMDISK.... you create one with associated Image, move your game-ressources in, create a symlink to the RAMDISK.... then you put the RAMDISK-image on a SSD and you load it into memory in few seconds before you doubleclick your game.

(Maybe we will have the blessing of a Primo-Shell-Extension one day to slimfasten image-maintenance) ;)

Then the hole game is in RAM and it will "load off" ultra fast like you want.
Nothing of the game-data will junk your OS-L1-Primo-Cache.
Savegames not affected... on game update you simply invoke a manuall image-update.

Believe me... games do not profit from high write-rates.... and the game barely re-read the same data into memory... even if you "lost a life" and need to "restart the map/level" often does not trigger a new read of the same data, but sure this is where CACHE might help :D ... not loading the next unknown (unloaded/un-present) level.

Games do permanently read new (first) data from the drive... textures and object of new levels/maps/enemies, etc.

L1-Cache is useless because it simply does not help on that...whatever you have a fast SSD L2 behind it....because the data is no-where present...except the HDD. SO IT MUST READ FROM HDD!



You are wrong using CACHE for Games. CACHE is meant to accelerate hole disks on write and on re-read (second, third, and so on). CACHE does not boost your game in any means. . . it is only filling up CACHE focing it to discard OS-stuff that you might need again when you quit the game.

You should make-up a 5GB RAMDisk for the Game .. if neccessary due to lack of RAM-space you should stop your CACHE for that time. With a RAM-DIsk it does NO-MORE read first from HDD, considering triggering the sequential fast "load of the image" is a completete "first read".. data is completely available at RAM-Speed for any next read.


You seem believe that: soon as you start your game... it is completely loaded into your Cache...lol thats a bit of a funny facepalm and totally wrong.... :D Starting any known game on the market does NOT make the game itself request any of its' data to be loaded...so for PrimoCACHE to hotswapp all game-data on L2 for use after reboot is impossible...you first have to load all data from within the game (playthru, load all levels and data at least one time) and finally have enough L2-read available. After that yeah, firing them up again after a reboot with CACHE and L2 would sum up like you want. . . but it's still worthless by design, because now you already played them all through. xD ... this waste of space would have not happended with a RAM-Disk ;)

BTW: I doubt a 5 gig-game is slow at any point because of hardisk bottlenecking... you hardly don't need it for any game..except ultra long loading times (not with a SSD at all) or the game-engine uses massive texture/object-streaming from HDD...like MMX, to prevent the poor engine streaming from HDD/SSD once and for all. SO yes it can have impact on fps/lagg, but generally it does not. :)

Also be aware that any RAM-Disk or RAM-Cache software absoluteley NEEDS the CPU to do additional work for ANY read/write. It might considered minor, sure... but don't forget that even "minor" additional CPU-cycles can have huge negative impact IF your system is hardly limited on CPU.

I think, that when there is absolutely NO need to boost game (acceptable loading times, no I/O-laggs due to environment streaming) then you should not do. I recall it ridiculous to start a bunch of Indie-Games on a PrimoCACHEd PC and expecting or demand a "benefit". First because this is not what CACHE is meant for, considering what games do (see above). Also PrimoRAMDISKing a game should only be applied if that particular game really sucks managing it's own memory/disk-io (MMX or any Unity-Engine based lol xD) or conserves masses of data and extreme long loading times (i.e. Crysis 3). Im also a little confused about whats the practical sense in "launching multiple games" (few) at a time? I don't think theres a "RAM-Need" even for one game that sum up 5gb readable content. Even less with a SSD...because one need time to playthru these 5Gb.... if it is reading 5gb content in one loading-screen, than i like to know this game... im always looking for "content" ;)
bd2003
Level 3
Level 3
Posts: 11
Joined: Tue Mar 25, 2014 10:50 pm

Re: Does L1 write through to L2?

Post by bd2003 »

You're reading far too much into what I'm saying because you're presuming I don't understand what I'm trying to do.

All I want to know is one simple thing, whether or not L1 is a subset of L2. And by extension, whether that means L1 will autopopulate from L2 on boot. That's it, wish I hadn't said anything beyond that. :)

And the reason why writes are important here - the game I'm most likely to play is the game I just downloaded. So caching the writes to the volume should ensure the first read comes from the cache.

RAMdisk isn't a viable solution because some games are 30-40GB. Caching is more appropriate because it'll only cache what's actually being read.
User avatar
Support
Support Team
Support Team
Posts: 3736
Joined: Sun Dec 21, 2008 2:42 am

Re: Does L1 write through to L2?

Post by Support »

bd2003 wrote:What I'm really asking is if L1 is always a subset of L2.
Since PrimoCache 0.9.8, L2 algorithm has been changed. L1 is not a subset of L2. L2 has its own algorithm which based on data use frequency to store necessary data, not related to L1. By default, L2 will store all read data on idle, if it has enough cache space.
bd2003
Level 3
Level 3
Posts: 11
Joined: Tue Mar 25, 2014 10:50 pm

Re: Does L1 write through to L2?

Post by bd2003 »

Ah well, looks like I need to look elsewhere then. Thanks for the response.
CrypEd
Level 6
Level 6
Posts: 71
Joined: Mon Nov 11, 2013 11:04 am

Re: Does L1 write through to L2?

Post by CrypEd »

bd2003 wrote:And the reason why writes are important here - the game I'm most likely to play is the game I just downloaded. So caching the writes to the volume should ensure the first read comes from the cache.
So this games run directly from download-folder and need no extraction and no installation? If it does require installation/extraction then there's no way to accelerate it at all, before you did that.

The thing i was pointing at is that your game - whatever is 40gb size and you downloaded it before - itself during the runtime does not take use of writes...except of "saving game".



Edited big part of the post, because i thought read-cashing deferred-writes doent work with Primo... but it does..

Blocks of data that you copied onto a PrimoCached device (defered-write) then access again during timeout (read) really is exluded from purge during flush and maintained as R-block. Im shocked :D PRETTY AWESOME... wish you would advertise better Romex. One can think by it's describtion that R/W just share space and work side-a-side, but not co-op in this perfect manner! Why don't you say that??? xD
Post Reply