old-www/HOWTO/Parallel-Processing-HOWTO.html

100 lines
4.6 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>Linux Parallel Processing HOWTO</TITLE>
<LINK HREF="Parallel-Processing-HOWTO-1.html" REL=next>
</HEAD>
<BODY>
<A HREF="Parallel-Processing-HOWTO-1.html">Next</A>
Previous
Contents
<HR>
<H1>Linux Parallel Processing HOWTO</H1>
<H2>Hank Dietz, <CODE>
<A HREF="mailto:hankd@engr.uky.edu">hankd@engr.uky.edu</A></CODE></H2>v2.0, 2004-06-28<P>Although 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
<A HREF="http://aggregate.org/LDP/">http://aggregate.org/LDP/</A>
<P><HR>
<EM><B>Parallel Processing</B> 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 <EM>N</EM> processors might execute <EM>N</EM>
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.</EM>
<HR>
<P>
<P>
<H2><A NAME="toc1">1.</A> <A HREF="Parallel-Processing-HOWTO-1.html">Introduction</A></H2>
<UL>
<LI><A HREF="Parallel-Processing-HOWTO-1.html#ss1.1">1.1 Is Parallel Processing What I Want?</A>
<LI><A HREF="Parallel-Processing-HOWTO-1.html#ss1.2">1.2 Terminology</A>
<LI><A HREF="Parallel-Processing-HOWTO-1.html#ss1.3">1.3 Example Algorithm</A>
<LI><A HREF="Parallel-Processing-HOWTO-1.html#ss1.4">1.4 Organization Of This Document</A>
</UL>
<P>
<H2><A NAME="toc2">2.</A> <A HREF="Parallel-Processing-HOWTO-2.html">SMP Linux</A></H2>
<UL>
<LI><A HREF="Parallel-Processing-HOWTO-2.html#ss2.1">2.1 SMP Hardware</A>
<LI><A HREF="Parallel-Processing-HOWTO-2.html#ss2.2">2.2 Introduction To Shared Memory Programming</A>
<LI><A HREF="Parallel-Processing-HOWTO-2.html#ss2.3">2.3 bb_threads</A>
<LI><A HREF="Parallel-Processing-HOWTO-2.html#ss2.4">2.4 LinuxThreads</A>
<LI><A HREF="Parallel-Processing-HOWTO-2.html#ss2.5">2.5 System V Shared Memory</A>
<LI><A HREF="Parallel-Processing-HOWTO-2.html#ss2.6">2.6 Memory Map Call</A>
</UL>
<P>
<H2><A NAME="toc3">3.</A> <A HREF="Parallel-Processing-HOWTO-3.html">Clusters Of Linux Systems</A></H2>
<UL>
<LI><A HREF="Parallel-Processing-HOWTO-3.html#ss3.1">3.1 Why A Cluster?</A>
<LI><A HREF="Parallel-Processing-HOWTO-3.html#ss3.2">3.2 Network Hardware</A>
<LI><A HREF="Parallel-Processing-HOWTO-3.html#ss3.3">3.3 Network Software Interface</A>
<LI><A HREF="Parallel-Processing-HOWTO-3.html#ss3.4">3.4 PVM (Parallel Virtual Machine)</A>
<LI><A HREF="Parallel-Processing-HOWTO-3.html#ss3.5">3.5 MPI (Message Passing Interface)</A>
<LI><A HREF="Parallel-Processing-HOWTO-3.html#ss3.6">3.6 AFAPI (Aggregate Function API)</A>
<LI><A HREF="Parallel-Processing-HOWTO-3.html#ss3.7">3.7 Other Cluster Support Libraries</A>
<LI><A HREF="Parallel-Processing-HOWTO-3.html#ss3.8">3.8 General Cluster References</A>
</UL>
<P>
<H2><A NAME="toc4">4.</A> <A HREF="Parallel-Processing-HOWTO-4.html">SIMD Within A Register (e.g., using MMX)</A></H2>
<UL>
<LI><A HREF="Parallel-Processing-HOWTO-4.html#ss4.1">4.1 SWAR: What Is It Good For?</A>
<LI><A HREF="Parallel-Processing-HOWTO-4.html#ss4.2">4.2 Introduction To SWAR Programming</A>
<LI><A HREF="Parallel-Processing-HOWTO-4.html#ss4.3">4.3 MMX SWAR Under Linux</A>
</UL>
<P>
<H2><A NAME="toc5">5.</A> <A HREF="Parallel-Processing-HOWTO-5.html">Linux-Hosted Attached Processors</A></H2>
<UL>
<LI><A HREF="Parallel-Processing-HOWTO-5.html#ss5.1">5.1 A Linux PC Is A Good Host</A>
<LI><A HREF="Parallel-Processing-HOWTO-5.html#ss5.2">5.2 Did You DSP That?</A>
<LI><A HREF="Parallel-Processing-HOWTO-5.html#ss5.3">5.3 FPGAs And Reconfigurable Logic Computing</A>
</UL>
<P>
<H2><A NAME="toc6">6.</A> <A HREF="Parallel-Processing-HOWTO-6.html">Of General Interest</A></H2>
<UL>
<LI><A HREF="Parallel-Processing-HOWTO-6.html#ss6.1">6.1 Programming Languages And Compilers</A>
<LI><A HREF="Parallel-Processing-HOWTO-6.html#ss6.2">6.2 Performance Issues</A>
<LI><A HREF="Parallel-Processing-HOWTO-6.html#ss6.3">6.3 Conclusion - It's Out There</A>
</UL>
<HR>
<A HREF="Parallel-Processing-HOWTO-1.html">Next</A>
Previous
Contents
</BODY>
</HTML>