Three-stage optical interconnection networks for use in massively parallel processors are proposed. Wavelength-division- and space-division-multiplexing switches used in these networks are described, and free-space optics to assist in the construction of networks that are small and provide high throughput are discussed.