When you have two or more independent I/O devices and want to maximize I/O throughput of a single task (usually a long-running job). Related to Parallel processing but for I/O usage rather than CPU usage. General techniques are ensuring separate physical disks, ring buffers, separate reader and writer threads, and asynchronous I/O.