Version 3.0.0 - L1/L2 write question....

FAQ, getting help, user experience about PrimoCache
Post Reply
RobF99
Level 8
Level 8
Posts: 130
Joined: Fri Sep 19, 2014 5:14 am

Version 3.0.0 - L1/L2 write question....

Post by RobF99 »

Hello

I have a question about L1/L2 write on V3.0.0.

Please see attached screenshot
PrimoCacheUrgentWrite.JPG
PrimoCacheUrgentWrite.JPG (116.78 KiB) Viewed 4122 times
My question is about Total Write L1/L2 and urgent write....

I have 187 Gb available as free cache for L2 and allocated 2 Gb to L1. Why does the program do urgent writes on the L1 data instead of passing it to L2? You will see that out of 23.48 Gb write data - 19.49 went to L1 and only 4 to L2 but the program chose to urgent write 4.91 Gb.

The way I picture it as the ideal way to work is (for write) - If L1 full before scheduled flush then urgent write data to L2 in order to accept new data to L1 then flush L2 at scheduled flush time.... but I am just a humble user - but it would be nice to know the logic that is used as to why it urgent writes L1 to hard drive instead of passing/flushing it to L2. It would make the system operate faster too since the L1 urgent flush is to SSD and not hard drive.

Thanks.
User avatar
Support
Support Team
Support Team
Posts: 3731
Joined: Sun Dec 21, 2008 2:42 am

Re: Version 3.0.0 - L1/L2 write question....

Post by Support »

Good question!

The problem here is that it will cost much extra time in total using the way "L1->L2->Disk" compared with the way "L1->Disk". If L2 has enough free space, your way is better and faster. However, if L2 free space is not big enough, or there're huge amount of data coming to write suddenly which we are difficult to predict, then current design is better.

We're still improving the algorithm, so we may change current design in future for better performance.

Thanks.
RobF99
Level 8
Level 8
Posts: 130
Joined: Fri Sep 19, 2014 5:14 am

Re: Version 3.0.0 - L1/L2 write question....

Post by RobF99 »

Ok thanks... but what about if L1 is full instead of urgent write then write to L2. How does the program decide whether to write to L2 instead of L1 and why does it urgent write L1 when L2 has a lot of available space? Or does it already write to L2 when L1 is full? I can't tell for sure the behavior.

Thanks.
User avatar
Support
Support Team
Support Team
Posts: 3731
Joined: Sun Dec 21, 2008 2:42 am

Re: Version 3.0.0 - L1/L2 write question....

Post by Support »

when L1 is full, L1 will start "urgent write" to underlying disks, meanwhile the program will write incoming data to L2.
RobF99
Level 8
Level 8
Posts: 130
Joined: Fri Sep 19, 2014 5:14 am

Re: Version 3.0.0 - L1/L2 write question....

Post by RobF99 »

Thanks - now I understand exactly how it works. I like to understand what I am seeing in the numbers on the GUI. Maybe in the future you can give the user options to change the behavior between L1 and L2 (like I suggested above) just like they can change write modes and L2 gather.
User avatar
Support
Support Team
Support Team
Posts: 3731
Joined: Sun Dec 21, 2008 2:42 am

Re: Version 3.0.0 - L1/L2 write question....

Post by Support »

sure, we'll continue to improve L2 write caching.
RobF99
Level 8
Level 8
Posts: 130
Joined: Fri Sep 19, 2014 5:14 am

Re: Version 3.0.0 - L1/L2 write question....

Post by RobF99 »

It's also good if ALL write data makes it's way to L2 so it is then cached. If L1 data gets urgent written to disk then it is not cached on L2. With my kind of work I benefit from that. I have been working with L1 cache = 0, this way all write data gets cached on L2. :-)
Post Reply