Optimizing disk-I/O [was Re: [ANNOUNCE] hotplug-ng 001 release]

Linas Vepstas
2005-02-15T20:00:07Z

On Tue, Feb 15, 2005 at 12:43:29AM +0100, Diego Calleja was heard to remark:
>
> Also, it analyzes all those io "logs" and defragments

I dislike hearing/reading about what XP does, since its probably patented,
and I don't want that shadow hanging over Linux.

I assume that the following simple idea, obvious to any practictioner
versed in the state of the art, is not patented or patentable:

> linux can do decisions like "this system starts openoffice, so I'm going to move the
> binaries to another place of the disk where they'll load faster" or "when X program
> uses /lib/libfoo.so it also uses /lib/libbar.so, so I'm going to put those two together
> in the disk because that will avoid seeks".

Now I like this idea. It need not have anything to do with startup,
or with any particular program or distro whatsoever. Rather, one
would have a daemon keeping track of disk i/o patterns, and constantly
trying to figure out if there is a rearrangement of the sectors on disk
that would minimize i/o seeks based on past uasge.

The optimization routine could be some simulated annealing or
genetic algorithm or whatever whiz-bang technique someone is into.
Just keep it running in the background, low priority, constantly...
This would give you the best "time weighted" disk access performance,
although it would potentially hurt boot times, since most users spend
most of thier time doing disk access other than booting ...

--linas