Abstract: In this talk, I will focus on Active Disk architectures which integrate significant processing power and memory into a disk drive and allow application-specific code to be downloaded and executed on the data that is being read from (written to) disk. The key idea is to offload bulk of the processing to the disk-resident processors and to use the host processor primarily for coordination, scheduling and combination of results from individual disks. I will describe a stream-based programming model for Active Disks, which allows disklets to be executed efficiently and safely. I will also present active-disk versions of several efficient data-intensive algorithms. Finally, I will present simulation results comparing the performance of six such algorithms (select, group-by, external sort, datacube, image convolution and satellite data processing) running on active-disk architectures and on conventional-disk architectures.