Parallel Processing using

Linux

Homepage of the Parallel Processing HOWTO; Last site update: April 28, 1999

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 Pentium systems in which multiple processors share a single memory and bus interface within a single computer. 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. A "new" fourth alternative is SIMD parallelism within a register, which is facilitated by the MMX (MultiMedia eXtensions). All these approaches will be discussed at this WWW site.

A Note From Prof. Hank Dietz...

To those of you waiting and wondering when I'll get around to writing & posting the next major update of this site, sorry, but I've been busy with little things like my wedding and being program chair for MWPP 1999, the first Midwest Workshop on Parallel Processing. BTW, electronic paper submissions will still be accepted for MWPP up through May 5, 1999... so if you are looking for a good place to publish on parallel processing, it is not too late....

Anyway, a major update of the entire site and all materials posted is planned for this summer. A major revision of the Parallel Processing HOWTO is in the works, and it will be accompanied by the new Video Wall HOWTO and a variety of new public domain software. One of the most exciting is our MXX/3DNow!/SSE SWAR compiler support... on a K6-2, we have gotten as much as 3.8x speedup on LINPACK using our compiler support to generate 3DNow! code instead of IA32 scalar floating-point code.

The Parallel Processing HOWTO

There is a January 5, 1998 revision of the Parallel Processing HOWTO (also available as SGML, Postscript, and raw formatted Text); please send comments or corrections to pplinux@ecn.purdue.edu.

Other Materials

Aside from being the home of this HOWTO, the goal of this site is generally to become a repository for the kinds of practical information real users need. Most research groups focus on one aspect of parallel processing; in contrast, for this site we prefer submissions discussing complete parallel environments that integrate hardware configuration, parallel OS functions, libraries & languages, parallel I/O, and applications. This WWW site is also intended to keep a list of open problems that have been identified, with the hope that various researchers might cooperate to solve these problems. In the long term, the goal of this effort is to spawn one or more complete "parallel processing" distributions of Linux... there are already quite a few sites currently using Linux for parallel processing.

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 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).

To submit a document or annotated URL reference, or if you have any questions or comments, please email to pplinux@ecn.purdue.edu

There is now a European mirror of this site at: http://suparum.rz.uni-mannheim.de/Linux/parallel/


HGD

This page was last modified April 28, 1999. [an error occurred while processing this directive]