I don't know how many people have heard of collectl before, but it's been around for a number of years and I just released a new version. One of its capabilities is to display the top processes sorted by I/O.

Collectl is simiarl to sar in that it can collect/display a lot of data for a lot of different system components, but what I believe makes collectl very different is it can generate its output in what I think is a more compact, user-friendly format as well as a format suitable for plotting. It also supports a number of subsystems which others don't, such as Slabs, Interrupts, Infiniband, Quadrics Lustre and more.

If you'd like to read more about it I tried to put together a brief features list at - Collectl Features or you can just go to collectl, download it and try it out for yourself.