Crad Posted September 6, 2020 Share Posted September 6, 2020 (edited) 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 September 6, 2020 by Conrad Allan Quote Link to comment
JorgeB Posted September 6, 2020 Share Posted September 6, 2020 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. 1 Quote Link to comment
Crad Posted September 6, 2020 Author Share Posted September 6, 2020 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! Quote Link to comment
JorgeB Posted September 7, 2020 Share Posted September 7, 2020 Most free won't affect writes to cache, those will be the same independent of the allocation method used, it will only make a difference when writing to the array directly or when running the mover. Quote Link to comment
Crad Posted September 7, 2020 Author Share Posted September 7, 2020 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! Quote Link to comment
JorgeB Posted September 7, 2020 Share Posted September 7, 2020 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. Quote Link to comment
Crad Posted September 7, 2020 Author Share Posted September 7, 2020 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. Quote Link to comment
Recommended Posts
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.