Imagine that we keep a daily log of the files that our computer reads from its hard disk. For most computer users the logs of one day compared to the next may be very similar. For example, opening up a commonly used program may require access to the same files in the same order every time that event occurs. We shall call such a sequence of files a trace. The essence of the problem therefore is: given a set of traces that are expected to be representative of common use, we must rearrange the files on the disk so that the performance is optimized. Programs called disk defragmenters use these simple principles to rearrange data records on a disk so that each file is contiguous, with no holes or few holes between data records. Some more sophisticated disk defragmenters also try to place related files near each other, usually based on simple static structure rather than a dynamic analysis of the accesses. We are interested in more dynamic defragmentation procedures. We first consider a 1D model of the disk. We then look at the results from an investigation of the 2D disk model followed by a discussion of caching strategies. Finally we list some of the complications that may need to be addressed in order to make the models more realistic
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.