Making deferred writes more sequential

Suggestions around PrimoCache
Post Reply
andriusst
Level 2
Level 2
Posts: 6
Joined: Wed May 12, 2021 10:05 am

Making deferred writes more sequential

Post by andriusst »

For deferred writes with infinite timeout. Based on my observations am I right in guessing that cache flushing is done on first-in-first-out basis? If so I would propose to introduce a system to periodically re-order cached blocks (or block index) based on block LBA number. This should result in highly seqential groups of cached data that will write to disk faster. Additionally prioritising writing out largest sequential groups from cache would further enhance writing speeds.
User avatar
Support
Support Team
Support Team
Posts: 3623
Joined: Sun Dec 21, 2008 2:42 am

Re: Making deferred writes more sequential

Post by Support »

With INFINITE latency, "Urgent Write" will always occur. In this mode, PrimoCache will only write a small portion of deferred write-data to disks at a time. This part of writing is sequential. However, picking which portion is based on fifo-like aglorithm. In the normal flush mode (latency expired), PrimoCache use complete sequential writing. So usually "Urgent Write" should be avoided. We will also improve the performance of "Urgent Write" in future. Thanks.
Rootax
Level 2
Level 2
Posts: 7
Joined: Sat Apr 20, 2019 1:31 pm

Re: Making deferred writes more sequential

Post by Rootax »

Does this mean that Primocache kind of do what Datacore is doing with their Random Write Accelerator ?

https://docs.datacore.com/SSV-WebHelp/S ... torage.htm
User avatar
Support
Support Team
Support Team
Posts: 3623
Joined: Sun Dec 21, 2008 2:42 am

Re: Making deferred writes more sequential

Post by Support »

Not sure how Datacore works, but with Defer-Write, yes, PrimoCache can convert random writes to sequential writes.
Rootax
Level 2
Level 2
Posts: 7
Joined: Sat Apr 20, 2019 1:31 pm

Re: Making deferred writes more sequential

Post by Rootax »

Support wrote: Thu Jun 24, 2021 2:56 am Not sure how Datacore works, but with Defer-Write, yes, PrimoCache can convert random writes to sequential writes.
Very nice to read, thx for the answer :)
Post Reply