Teachable Smart Disks

Kent Hunter, mulhern

Abstract: In this paper we advocate the use of programs generated in the operating system and transmitted to an on-disk interpreter. A program generated by the OS stores information known to the OS. The program extracts information from the disk by making calls to an on-disk library. Using the OS information and the disk information the program makes calls to the on-disk library to instruct the disk to perform disk operations.

Such an interface between the OS and the disk allows a much greater degree of flexibility than the usual limited abstraction that the disk provides, through a number of intervening layers, to the OS. An OS can implement any of a variety of algorithms for disk scheduling, block placement, on-disk cache control, etc. by combining information known at the OS level and information known at the disk level in a program executed at the disk.

Available as: Postscript or PDF

Click here to download the version of DiskSim we used including the changes we incorporated to implement our algorithm.

Click here to download the data sets we used to generate our results, here to download our generated data (note that this tarball decompresses to almost a gigabyte of disksim and syssim output--make sure you have enough space before you try to unbzip2 it).