1. Introduction to Advanced Computer Architecture and Parallel Processing.1.1 Four Decades of Computing.1.2 Flynn's Taxonomy of Computer Architecture.1.3 SIMD Architecture.1.4 MIMD Architecture.1.5 Interconnection Networks.1.6 Chapter Summary.Problems.References.2. Multiprocessors Interconnection Networks.2.1 Interconnection Networks Taxonomy.2.2 Bus-Based Dynamic Interconnection Networks.2.3 Switch-Based Interconnection Networks.2.4 Static Interconnection Networks.2.5 Analysis and Performance Metrics.2.6 Chapter Summary.Problems.References.3. Performance Analysis of Multiprocessor Architecture.3.1 Computational Models.3.2 An Argument for Parallel Architectures.3.3 Interconnection Networks Performance Issues.3.4 Scalability of Parallel Architectures.3.5 Benchmark Performance.3.6 Chapter Summary.Problems.References.4. Shared Memory Architecture.4.1 Classification of Shared Memory Systems.4.2 Bus-Based Symmetric Multiprocessors.4.3 Basic Cache Coherency Methods.4.4 Snooping Protocols.4.5 Directory Based Protocols.4.6 Shared Memory Programming.4.7 Chapter Summary.Problems.References.5. Message Passing Architecture.5.1 Introduction to Message Passing.5.2 Routing in Message Passing Networks.5.3 Switching Mechanisms in Message Passing.5.4 Message Passing Programming Models.5.5 Processor Support for Message Passing.5.6 Example Message Passing Architectures.5.7 Message Passing Versus Shared Memory Architectures.5.8 Chapter Summary.Problems.References.6. Abstract Models.6.1 The PRAM Model and Its Variations.6.2 Simulating Multiple Accesses on an EREW PRAM.6.3 Analysis of Parallel Algorithms.6.4 Computing Sum and All Sums.6.5 Matrix Multiplication.6.6 Sorting.6.7 Message Passing Model.6.8 Leader Election Problem.6.9 Leader Election in Synchronous Rings.6.10 Chapter Summary.Problems.References.7. Network Computing.7.1 Computer Networks Basics.7.2 Client/Server Systems.7.3 Clusters.7.4 Interconnection Networks.7.5 Cluster Examples.7.6 Grid Computing.7.7 Chapter Summary.Problems.References.8. Parallel Programming in the Parallel Virtual Machine.8.1 PVM Environment and Application Structure.8.2 Task Creation.8.3 Task Groups.8.4 Communication Among Tasks.8.5 Task Synchronization.8.6 Reduction Operations.8.7 Work Assignment.8.8 Chapter Summary.Problems.References.9. Message Passing Interface (MPI).9.1 Communicators.9.2 Virtual Topologies.9.3 Task Communication.9.4 Synchronization.9.5 Collective Operations.9.6 Task Creation.9.7 One-Sided Communication.9.8 Chapter Summary.Problems.References.10 Scheduling and Task Allocation.10.1 The Scheduling Problem.10.2 Scheduling DAGs without Considering Communication.10.3 Communication Models.10.4 Scheduling DAGs with Communication.10.5 The NP-Completeness of the Scheduling Problem.10.6 Heuristic Algorithms.10.7 Task Allocation.10.8 Scheduling in Heterogeneous Environments.Problems.References.
{{comment.content}}