« Diskeeper 10 beta for Vista RC1 (build 5600) is available | Main | Diskeeper Hugs a Tree »
September 27, 2006
Inside I-FAAST (file sequencing)
There's been a great deal of interest and attention from the media, customers, and performance enthusiasts on I-FAAST since its release last December in Diskeeper 10. I regularly read tech forums and blogs looking for feedback and new ideas for our products. I've noticed a lot of discussions on "how" this technology works, so to hopefully help clear things up, I'll describe a few of the parts that make it tick.
The first part of I-FAAST is accurately benchmarking the performance of your file system. That is more complicated than it may sound as issues such as caching will quickly invalidate results if not properly handled. While I may gloss over this, it is quite complicated.
The next hurdle is determining the frequency of file usage. The word frequency is vital here because rote application of file attributes (date and time for file creation, last modification, and last access) can only tell you what happened in the past. That offers little to no prediction for future usage of that data. In other words, it only improves slightly upon a wild guess for data sequencing.
To determine frequency, I-FAAST silently monitors file usage. You may have noticed parts of this design as two hidden files at the root of each of your system's volumes. If you watch closely, you'll note they change on a regular basis as I-FAAST continues to learn. This is another key component of the adaptive and intelligent behavior of I-FAAST.
Monitoring frequency is vital as it is very common for data to go through hot and cold phases and eventually reach a point where it is unused and is essentially archival. It may then, of course, return to a state of frequent usage at some time down the road.
While I-FAAST has advanced designs to determine frequency of use, it can use Last Access Time until actual usage characteristics have been identified. Ideally, we suggest giving I-FAAST a week to learn about usage patterns before sequencing files. However, for those who want to have it crank out right away, I-FAAST will rely on that data until it has collected proper usage data. Again, "Last Access" is only relevant if you set an I-FAAST schedule to occur right after install.
Because we need to learn about usage characteristics (as it is part of the performance gain), you'll note that I-FAAST presents both estimates and actual figures for performance benefits. These benefits change over time as your usage of the file system changes and then rely on what sequencing strategies best fit that systems needs at a given time. As a general rule they won't fluctuate much. If it tells you 20% actual performance today, you'll likely stay in that range give or take a percentage or two. Again, that oscillation is all part of its adaptive nature.
As an example, the propensity to create new files as compared to the use of pre-existing data will cause I-FAAST to adjust sequencing strategies. On a system where most activity involves the reading of existing data, less priority will be given to speeding up new file writes, as I-FAAST concentrates on optimizing the speed of existing data. And, of course, it will adjust rapidly to behavioral changes should new file writes become, comparatively, more common. You can observe this behavior by noting tactically ordered and interwoven groupings of files and large free space segments on an I-FAAST enabled volume change over time.
I-FAAST jobs execute proprietary algorithms which are, as described, reliant on the data usage patterns that it has been monitoring. How often you schedule I-FAAST in Diskeeper 10 should be determined by how dynamic your system is. Once a week is the recommended approach in most all cases, however systems where the popularity of files can change dramatically within the week may want to consider running it daily.
Also key to note is that regular defragmentation with Diskeeper is vital. Defragmented non-sequenced files outperform fragmented sequenced ones essentially every time. I say "essentially" only because we could make theoretical arguments to fragment a file across one cylinder rather than consolidate it across two thereby digressing into really long discussions on drive physics (latency, cylinder and head skew, interleaves, etc) - which is not my purpose here.
Anyway... the point is to defrag regularly. Diskeeper's defragmentation engines are aware of the I-FAAST application and will ensure file sequencing is maintained as it defragments files, including specially sequenced files.
I'm often asked what I-FAAST is like; what it can be compared too. Quite frankly there is nothing like it. The closest equivalent I could possibly suggest is the boot optimization/sequencing technology in Window XP; which Diskeeper Corporation assisted Microsoft in developing. While a good start, its purpose and scope is far, far narrower that that of I-FAAST, meaning the benefit recieved is also far less than what I-FAAST offers. In fact, you can get a good idea of what boot optimization is doing by viewing the layout.ini file on a Windows XP client.
As I always like to mention, I-FAAST is the real deal; it speeds up file reads and new file writes - nothing else out there does that (at least not that I'm aware of). Its purported benefits are provable and noticeable. It isn't theory and conjecture; I-FAAST is based on science of the file system. And unlike what Stanley Tucci's character in The Core said, this science is NOT best guess. I just don't think it's a good idea to move important data around for fun or experimental purposes. Maybe that's just me? ;-)
Lastly, as I alluded in an earlier blog, I-FAAST 2.0 will offer expanded I-FAAST functionality, making implementation easier for the corporate System Administrator, and allowing System Administrators or Gamers/PC Experts new ability to customize or "tweak" it. There will also be an I-FAAST 3.0 as the technology expands, and likely even more versions beyond that.
Posted by Michael at September 27, 2006 05:16 AM
Comments
i am using diskkeeperpro which i have recently found that the software is good for defragmenting low performing files & folders but when it comes to low performing system files it doesn't defragment them & now most my hard drive is covered in low performing system files, would diskkeeper propremiere which has i-FAAST 2.0 solve my defragmentation problem with the system files if not how do i approach the matter at hand thank you for your time & i wish you well
Posted by: richard at March 11, 2007 02:14 AM
