Linux Parallel Processing HOWTO
Hank Dietz,
hankd@engr.uky.edu
v2.0, 2004-06-28Although this HOWTO has been "republished" (v2.0, 2004-06-28) to update the author contact info, it has many broken links and some information is seriously out of date. Rather than just repairing links, this document is being heavily rewritten as a Guide which we expect to release in July 2004. At that time, the HOWTO will be obsolete. The prefered home URL for both the old and new documents is http://aggregate.org/LDP/
Parallel Processing refers to the concept of speeding-up the execution of a program by dividing the program into multiple fragments that can execute simultaneously, each on its own processor. A program being executed across N processors might execute N times faster than it would using a single processor. This document discusses the four basic approaches to parallel processing that are available to Linux users: SMP Linux systems, clusters of networked Linux systems, parallel execution using multimedia instructions (i.e., MMX), and attached (parallel) processors hosted by a Linux system.
1. Introduction
- 1.1 Is Parallel Processing What I Want?
- 1.2 Terminology
- 1.3 Example Algorithm
- 1.4 Organization Of This Document
2. SMP Linux
- 2.1 SMP Hardware
- 2.2 Introduction To Shared Memory Programming
- 2.3 bb_threads
- 2.4 LinuxThreads
- 2.5 System V Shared Memory
- 2.6 Memory Map Call
3. Clusters Of Linux Systems
- 3.1 Why A Cluster?
- 3.2 Network Hardware
- 3.3 Network Software Interface
- 3.4 PVM (Parallel Virtual Machine)
- 3.5 MPI (Message Passing Interface)
- 3.6 AFAPI (Aggregate Function API)
- 3.7 Other Cluster Support Libraries
- 3.8 General Cluster References
4. SIMD Within A Register (e.g., using MMX)
5. Linux-Hosted Attached Processors
6. Of General Interest
Next Previous Contents