Introduction to parallel programming [electronic resource] / Steven Brawer.

Saved in:
Bibliographic Details
Online Access: Full Text (via ScienceDirect)
Main Author: Brawer, Steven, 1941-
Other title:Parallel programming.
Format: Electronic eBook
Language:English
Published: Boston : Academic Press, ©1989.
Subjects:
Table of Contents:
  • Front Cover; Introduction to Parallel Programming; Copyright Page; Dedication; Table of Contents; Chapter 1. Introduction; 1.1 Who Should Read This Book; 1.2 Brief Introduction to Parallel Programming; 1.3 About the Text; 1.4 The Context of This Book; 1.5 Add-Ons; Chapter 2. Tiny Fortran; 2.1 Introduction; 2.2 Program Structure; 2.3 Identifiers; 2.4 Declarations: Scalars and Arrays; 2.5 I/O; 2.6 Array Storage; 2.7 Assignment; 2.8 Arithmetic Expressions; 2.9 If-then-else-endif Blocks; 2.10 Loops; 2.11 Function/Subroutine Calls; 2.12 Passing Arguments in Function/Subroutine Calls.
  • Chapter 3. Hardware and Operating System Models3.1 Introduction; 3.2 Hardware; 3.3 Time-Sharing with a Single Processor; 3-4 Time-sharing with Multiple Processors; 3.5 A Brief Description of Tightly Coupled Multiprocessing; 3.6 Summary; Chapter 4. Processes, Shared Memory, and Simple Parallel Programs; 4.1 Introduction; 4.2 Processes and Processors; 4.3 Shared Memory-1; 4.4 Forking-Creating Processes; 4.5 Joining Processes; 4.6 Shared Memory-2; 4.7 Processes Are Randomly Scheduled-Contention; 4.8 Summary; Chapter 5. Basic Parallel Programming Techniques; 5.1 Introduction; 5.2 Loop Splitting.
  • 5.3 Ideal Speedup5.4 Spin-Locks, Contention, and Self-Scheduling; 5.5 Histogram; 5.6 Summary; 5.7 Additional Problems; Chapter 6. Barriers and Race Conditions; 6.1 Introduction; 6.2 The Barrier Calls; 6.3 Expression Splitting; 6.4 Summary; 6.5 Additional Problems-Elementary Statistics; Chapter 7. Introduction to Scheduling-Nested Loops; 7.1 Introduction; 7.2 Variations on Loop Splitting; 7.3 Variation on Self-Scheduling; 7.4 Indirect Scheduling; 7.5 Summary; 7.6 Additional Problems; Chapter 8. Overcoming Data Dependencies; 8.1 Introduction; 8.2 Induction Variable; 8.3 Forward Dependency.
  • 8.4 Block Scheduling and Forward Dependency8.5 Backward Dependency; 8.6 Break Out of Loop; 8.7 Splittable Loops; 8.8 Reordering Loops; 8.9 Special Scheduling-Assign Based on Condition; 8.10 Additional Problems; Chapter 9. Scheduling Summary; 9.1 Introduction; 9.2 Loop Splitting; 9.3 Expression Splitting; 9.4 Self-Scheduling; 9.5 Indirect Scheduling; 9.6 Block Scheduling; 9.7 Special Scheduling; Chapter 10. Linear Recurrence Relations-Backward Dependencies; 10.1 Introduction to Recurrence Relations; 10.2 x (i) = x (i
  • 1) + y (i); 10.3 x (i) = a (i) * x (i
  • 1) + y (i)
  • 10.4 x (i) = a (i) * x (i
  • 1) + b (i) * x (i
  • 2)10.5 Additional Problems-Other Recurrence Relations; Chapter 11. Performance Tuning; 11.1 Introduction; 11.2 Parallel Programming and the Structure of Programs; 11.3 Positioning the process_fork; 11.4 The Effect of the Number of Processes on Overhead; 11.5 Using Cache Effectively; Chapter 12. Discrete Event, Discrete Time Simulation; 12.1 Introduction; 12.2 Description of the Model; 12.3 Single-Stream Algorithm and Data Structures; 12.4 Single-Stream Program; 12.5 Introduction to the Parallel Version; 12.6 Data Dependencies in the Parallel Algorithm.