Programming model, algorithms and performance evaluation of active disks
Mustafa Uysal, Joel Haskin Saltz · 1999
Growth and usage trends for several data-intensive applications indicate that their datasets and processing requirements are growing rapidly. Meeting these rapidly increasing demands requires architectures that scale processing power with the storage capacity and throughput. Active Disks integrate significant processing power and memory into a disk drive and allow application-specific code to be downloaded and executed in the disk. Active Disks naturally scale the processing power of the system with increasing storage capacity, offer dramatic reduction in data traffic and improve the price/performance for large installations by off-loading computation to inexpensive embedded disk processors. To program Active Disks, we have developed a stream-based programming model that facilitates safety and efficiency of the disk-resident code (called disklets) while simplifying programming and restructuring of applications. We have identified operating system support (called DiskOS) for the stream-based programming model to coordinate and control disklet execution in conjunction with the host operating system. We have also shown how this programming model can be implemented as a simple backward compatible extension of the SCSI protocol. We have developed techniques for identification and control of Active Disks using the extended SCSI protocol. We have demonstrated the potential of Active Disks for a wide range of data-intensive applications from data-warehousing, data-mining, satellite data processing and image databases. Results show that for the same I/O interconnect, disks and number of processors, Active Disks provide better price/performance than both SMP-based conventional disk farms and commodity clusters. Active Disks outperform SMP-based disk farms by up to an order of magnitude and match (in some cases improve upon) the performance of commodity clusters for less than half the cost.