PrefaceAcknowledgmentsPart I An Introduction to Computers Introduction Toward Algorithm-Structured Architectures Arrays and Networks of Large Numbers of Closely Coupled Computers Toward Architectures That Mirror Algorithms' Information Flow The Traditional Single "Central Processing Unit" Serial Computer Problems for Which the One-CPU Serial Computer Is Inadequate Toward Developing Powerfully Structured Arrays and Networks Very Large-Scale Integration (VLSI) and Very Large Networks Steps Toward Efficient, Powerful Algorithm-Structured Architectures Chapter 1 Conventional Computers and Loosely Distributed Networks General-Purpose Computers and Turing Machines The General-Purpose Single-Processor Serial Computer Described How Computers Actually Work Graphs, Automata, Petri Nets, Information Flow, Network Flow Parallel Hardware Additions for Super (Traditional) Computers Networks of Loosely Coupled Distributed Computers Summary DiscussionPart II Arrays and Networks Built or Designed Chapter 2 First Attempts at Designing and Organizing MultiComputers Mapping Process-Information Graph into Processor-Memory Network Flow A Survey of Early (Pre-LSI) Multicomputer Arrays and Networks Associative, Content-Addressable Memories (CAMs) and Logic-in-Memory Super Multicomputers Organizing Computers: Clocks, Controllers, Operating Systems The Overall Coordination and Operation of a Multicomputer Network Summary Discussion Chapter 3 Large and Powerful Arrays and Pipelines The General Architecture of Parallel Cellular Array Computers The Very Large LSI Parallel-Array Computer An Examination of Today's Very Large Arrays Pipelines of Processors Systems That Combine Array, Pipeline, and Specialized Hardware Summary Discussion: Arrays, Pipelines, Parallelism, VLSI Chapter 4 More or Less Tightly Coupled Networks Simple Structures: Buses, Rings, and Cross-Point Switches Lattices, TV-Cubes, Trees, and Stars Augmenting Trees for Density, Connectivity, and Structure Miscellaneous Interconnection Patterns Reconfiguring Network Topologies and Component Parts Network-Structured Programs and Algorithms Summary Discussion and Preliminary Comparisons Chapter 5 Parallel Parallel Computers The Great Variety of Possible Array, Pipeline, and Network Structures The Value of a Parallel Set of Parallel Resources Suggested Requirements for Parallel Parallel Systems Summary and Conclusions Chapter 6 Converging Pyramids of Arrays A Pipeline of Converging Stacked Arrays An Example of a Potentially Powerful yet Economical Pyramid A Combined Array/Network Architecture Possible Mixtures of N-Bit Processors Summary Discussion Chapter 7 Comparisons Among Different Interconnection Strategies Comparisons Between Arrays and Networks Comparisons Among Networks Using Formal Criteria Tests, Simulations, Estimates, Models Some Structural Similarities among Different Networks X-Trees, Hex-Trees, N-Trees, Arrays, and Lattices Moving from an N-Cube to an N-Lattice The Need to Build and Evaluate Networks, and to Handle MessagesPart III Developing Parallel Algorithms, Languages, Data Flow Chapter 8 Formulating, Programming, and Executing Efficient Parallel Algorithms Programming Languages and Operating Systems for Parallel Programs Converting Our Programs and Ways of Thinking from Serial to Parallel Functional Applicative, Production, and Data-Flow Languages Language Development Systems to Specify Data Flow through Structures On Fitting Problem, Algorithm, Program,