Abstract
This paper is a survey of parallel machine organizations and programming. Parallelism is defined in a broad sense, on the bit level, operation level, and algorithm level. A number of abstract and practical questions are discussed. First, fast techniques for evaluating arithmetic expressions and linear recurrences are treated. Next, whole programs are discussed, and some experimental results are presented. Finally, various aspects of machine organization are discussed, including processors, memories, and alignment networks.