Parallel Processing HOWTO

Although this HOWTO has been "republished" 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

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.

Despite rough times for some high-end parallel processing hardware companies, parallel processing is not dead, but is moving in some new directions. Traditionally, multiple processors were provided within a specially designed "parallel computer"; along these lines, Linux now supports SMP PCs in which multiple processors share main memory. It is also possible for a group of machines each running Linux to be interconnected by a network to form a parallel-processing cluster. The third alternative uses a Linux system as a "host" for a specialized attached parallel processor. The fourth alternative is SIMD parallelism within a register, which is facilitated by the MMX, 3DNow!, and SSE instructions. All these approaches are discussed here.

The Parallel Processing HOWTO

Because it covers all forms of parallel processing using Linux PCs, not just "Beowulf" clusters, this HOWTO is quite different from the more specialized documents posted by various other groups. Thus, even though an update is overdue, this HOWTO is still the best overview of the full range of techniques and tools available.

The current version, from January 5, 1998, is available as HTML, SGML, Postscript, and raw formatted Text. The previous version, from November 24, 1997, is available as HTML and SGML. A really old version, from March 15, 1996, is available only as HTML.

Please send comments or corrections to; please do not use the old email address listed in the HOWTO.

Other Materials

The WWW home for the Parallel Processing HOWTO was originally intended to become a complete repository for the kinds of practical information real users need. However, various other sites, such as Beowulf Underground, have a lot more maintainers and have essentially assumed that role, but only for "Beowulf" clusters.

On August 16, 1996, Prof. Hank Dietz presented the full-day tutorial High-Performance Parallel Processing Using PCs and Linux at the 25th International Conference on Parallel Processing, in Bloomingdale, IL. An HTML version of the slides is available for personal WWW viewing. Accompanying the slides is a very out-of-date tar file containing support software for SMP and cluster parallel Linux systems (much of which also can be used to simulate parallelism on uniprocessor systems).

There was a European mirror of this site at Mannheim University, but I believe that they no longer maintain the mirror.

The Aggregate. The only thing set in stone is our name.