Jump to content

Allocation Methods (Most-Free vs High-Water) for high data-read speed requirements (SOLVED)


Crad

Recommended Posts

Hey all,

 

TLDR -> Assuming an empty starting point, would the most-free allocation method split files up sequentially across every drive (assuming the same drive sizes), and would this result in a multiplication of read speed?

 

-------

 

I'm often dealing with sequences of RAW footage in my production workflow, each file can be 50mb or more and, while I'm not disappointed with Unraid's performance, I'm constantly tweaking and improving things (I love tinkering). I watched a recent video from Linus where he sets up an Unraid array with 20 drives and sets the share to Most-Free - Here's the exact moment he explains it.

 

So, assuming Linus is correct in his explanation (please tell me if he's not) then, I could set my shares as most-free and, assuming we're starting with an empty array of same sized drives, I should get a scenario like this when writing a frame sequence:

 

  • Frame1001 -> Disk1
  • Frame1002 -> Disk2
  • Frame1003 -> Disk3
  • Frame1004 -> Disk4
  • Frame1005 -> Disk1
  • Frame1006 -> Disk2
  • Frame1007 -> Disk3
  • Frame1008 -> Disk4
  • … etc

 

My current understanding is that this would mean reading back this sequence would go at a much faster speed than using High-Water. Is that correct?

Another question to clarify is whether the most-free allocation method has some kind of sampling/polling rate? I.e. does it sample the available space for every new file, or does it only do so every X MB's?

 

NOTE: I use a cache drive but due to the sequence sizes, I easily max out the 1TB space. Additionally, it takes time and forethought to ensure the cache has the best allocation of data - not to mention there being times where I have to access an archived project not on cache - so I'm just trying to maximize my "lowest common denominator".

NOTE: Drive run-time isn't something I'm worried about, I let the drives rest at night but during the day, I'm fine with them all spinning.

 

 

Thanks for all the advice in advance!

Edited by Conrad Allan
Link to comment
6 hours ago, Conrad Allan said:

would the most-free allocation method split files up sequentially across every drive (assuming the same drive sizes), and would this result in a multiplication of

Most free is generally bad for performance since parity writes will overlap when switching disks, this can be somewhat mitigated by using some split level, if not recommend using high-water or fill-up for best performance.

 

Most free can be good for an SSD array with faster parity, e.g. I have a small SSD array and since parity is much faster NVMe device and can keep up with multiple disk writes I use most free for best performance.

  • Like 1
Link to comment

Oh interesting regarding the overlapping parity writes... I hadn't realised that one.

 

That said, my shares' cache settings are set to "Yes" and I have my mover running every hour at the moment, so when it comes to write speeds, I'm writing to an NVME cache drive so that parity write overlap shouldn't affect my speeds AFAIK.

 

I feel like with this most-free setup, I could benefit from multi-drive read speeds while still maintaining fast writes via the SSD cache. Is that the right thinking?

 

Thank-you again!

 

 

Link to comment

Yep I understand that part, which is why I'm not worried about the parity write overlap all too much.

 

The most-free method definitely makes sense for me as the shares are using cache for write. The Mover will then split files up across all the drives, which will maximize read performance later, and I don't care much about how long the mover function takes as that'll be background activity.

 

Thanks for the help!

Link to comment
10 minutes ago, Conrad Allan said:

which will maximize read performance later

Yes, if reads are the main concern, it should help.

 

On 9/6/2020 at 1:50 AM, Conrad Allan said:

Another question to clarify is whether the most-free allocation method has some kind of sampling/polling rate? I.e. does it sample the available space for every new file, or does it only do so every X MB's?

I don't know for sure but i believe it's related to the GUI stats, i.e., when they are updated, I've noticed that at least with btrfs, which is the fs I use, it might be different with others, it takes a few seconds to update the stats after the write is over, and if for example I start another write right away it will go for the same disk until the stats are updated, so basically it would depend mostly on the file size you're writing, if it's very small or small files you will likely see multiple files going to the same disk before it switches.

Link to comment
29 minutes ago, JorgeB said:

I don't know for sure but i believe it's related to the GUI stats, i.e., when they are updated, I've noticed that at least with btrfs, which is the fs I use, it might be different with others, it takes a few seconds to update the stats after the write is over, and if for example I start another write right away it will go for the same disk until the stats are updated, so basically it would depend mostly on the file size you're writing, if it's very small or small files you will likely see multiple files going to the same disk before it switches.

Ahh yes, this is along the lines of what I was expecting. I think that is okay because most of the files are 50mb and since the program will try to buffer several frames ahead, I will still gain a benefit even if the frames are written into disks in small groups.

Link to comment
  • Crad changed the title to Allocation Methods (Most-Free vs High-Water) for high data-read speed requirements (SOLVED)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...