Algorithms for parallel memory, I: Two-level memories

J. S. Vitter, E. A. M. Shriver
1994 Algorithmica  
We provide the rst optimal algorithms in terms of the number of input outputs I Os required between internal memory and multiple secondary storage devices for the problems of sorting, FFT, matrix transposition, standard matrix multiplication, and related problems. Our two-level memory model is new and gives a realistic treatment o f p arallel block transfer, in which during a single I O each of the P secondary storage devices can simultaneously transfer a contiguous block o f B records. The
more » ... l pertains to a large-scale uniprocessor system or parallel multiprocessor system with P disks. In addition, the sorting, FFT, permutation network, and standard matrix multiplication algorithms are typically optimal in terms of the amount o f i n ternal processing time. The di culty i n d e v eloping optimal algorithms is to cope with the partitioning of memory into P separate physical devices. Our algorithms' performance can be signi cantly better than those obtained by the well-known but nonoptimal technique of disk striping. Our optimal sorting algorithm is randomized, but practical; the probability of using more than 'times the optimal number of I Os is exponentially small in 'log ' logM=B, where M is the internal memory size.
doi:10.1007/bf01185207 fatcat:linktjnicze2zm2zbn7doefbjy