September 16, 200718 yr I think I understand how it works, but I don't understand the purpose of it. Why not just keep writing to the drive with the least free space until there is no longer enough room and then move to the next drive with the least free space? That is what I'd like to do.
September 16, 200718 yr Good idea, I'll add "Least Free" as an allocation method. The idea behind "High-Water" is to fill disk1 half way, then fill disk2 half way, then disk3 half way, etc. When you've filled the last data disk half way, then it moves back to disk1, filling it 3/4 of the way, then disk2 3/4 of the way, etc. The main reason for allocating like this is to avoid running out of space while creating a large file. For example, suppose you are using your "Least Free" method, writing very large files (actually appending to an existing file making it larger). When you get near the end of the least-free disk, and run out of space, you will get an "out of space" error trying to append to the file. There is no recovery for this because files can not span disks. By using "High-Water" allocation, the chances of this happening are much less (you'd have to be at almost the end of all your free space across all the drives). Another reason for High-Water allocation (vs. "Most-Free") is to minimize disk spin up. Suppose you are creating a stream of files, e.g., copying from a digital camera, or ripping a CD. When the first file is created, system chooses a disk, spins it up, and writes the file to it. Chances are that the next file will get allocated to the same disk, which is now already spun up, so it gets created immediately. If you were using "Most-Free" allocation method, each new file would get put onto another disk, with a pause waiting for the disk to spin up. An obvious future enhancement to "High-Water" would be some code which would spin up the "next" drive after creating a file near the current high-water mark.
September 16, 200718 yr I have two more reasons, the first is risk-minimization. If I have two 500GB drives and 500GB of data, do I want one drive with everything or share the load between two? If one of the two goes bad (beyond the one drive that is recoverable), I will have to spend half the time reloading my music or video. A second (fourth?) reason is performance. Given the above scenario, it increases the possibility that multiple streams will be coming from multiple disks, rather than just one, so that would potentially increase the likelihood of a stutter-free experience. Bill
September 16, 200718 yr A second (fourth?) reason is performance. Given the above scenario, it increases the possibility that multiple streams will be coming from multiple disks, rather than just one, so that would potentially increase the likelihood of a stutter-free experience. Right - forgot about this - hard drives get considerably slower as you reach the inner cylinders. May or may not be significant to your application.
April 25, 200818 yr Wow this should be appended to the manual. I was very unclear on what this allocation method was and what its potential benefits where. According to the manual its only benefit is so that more than one disk doesn't spin up. But for me(And I think a lot of other people) it is the 'protection' of not running out of space on a given disk when writing a large file, that is a tremendous reason to use this method. Thanks for the Explanation!
Archived
This topic is now archived and is closed to further replies.