412 lines
9.5 KiB
HTML
412 lines
9.5 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Programming systems for GNU/Linux</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="Scientific Computing with Free software on GNU/Linux HOWTO "
|
|
HREF="index.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Graphics and Visualization"
|
|
HREF="graphvis.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="
|
|
Word-Processing and Poster presenting tools on Linux
|
|
"
|
|
HREF="publish.html"></HEAD
|
|
><BODY
|
|
CLASS="sect1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Scientific Computing with Free software on GNU/Linux HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="graphvis.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="publish.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="sect1"
|
|
><H1
|
|
CLASS="sect1"
|
|
><A
|
|
NAME="systems"
|
|
></A
|
|
>7. Programming systems for GNU/Linux</H1
|
|
><P
|
|
> This section deals with links to tutorials and documents for installing
|
|
Linux on a PC, getting started with Linux, and then going a step further
|
|
-- to optimize your PC for processing power, using multiple processors
|
|
(Symmetric Muliti Processing - SMP); making a cheap, upgradeable
|
|
Supercomputing Linux cluster and finally links to software to do parallel
|
|
programming on Linux.
|
|
</P
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="GNULinuxWS"
|
|
></A
|
|
>7.1. The GNU/Linux Workstation</H2
|
|
><P
|
|
> As with most documentation related to GNU/Linux,
|
|
<A
|
|
HREF="http://tldp.org"
|
|
TARGET="_top"
|
|
>the Linux Documentation project's</A
|
|
>
|
|
home page is a priceless source. You might first want to read
|
|
<A
|
|
HREF="http://tldp.org/HOWTO/Installation-HOWTO/index.html"
|
|
TARGET="_top"
|
|
> The Linux Installation HOWTO</A
|
|
>. For those who want to install
|
|
Linux along with Windows might want to browse through
|
|
<A
|
|
HREF="http://www.tldp.org/HOWTO/Linux+Windows-HOWTO/index.html"
|
|
TARGET="_top"
|
|
> The Linux + Windows HOWTO</A
|
|
>. When installing Linux make sure
|
|
that you choose to install all documentation. After installing Linux,
|
|
a good, comprehensive document to getting started with using Linux is
|
|
<A
|
|
HREF="http://rute.sourceforge.net"
|
|
TARGET="_top"
|
|
>The Rute Users Tutorial and
|
|
Exposition</A
|
|
> which is a beginners guide to Linux and UNIX like
|
|
systems. I'd like to give a less intimidating (size-wise) link to a
|
|
small beginners guide, but U will find this useful after taking the
|
|
plunge. You might also want to go through <A
|
|
HREF="http://www.tldp.org/LDP/sag/index.html"
|
|
TARGET="_top"
|
|
>The Linux System
|
|
Administrator's Guide</A
|
|
> and to check out <A
|
|
HREF="http://www.tldp.org/LDP/lame/LAME/linux-admin-made-easy/index.html"
|
|
TARGET="_top"
|
|
> The Linux Administration Made Easy (LAME) guide</A
|
|
>
|
|
It attempts to describe day-to-day administration and maintenance
|
|
issues commonly faced by Linux system administrators.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="PPSMP"
|
|
></A
|
|
>7.2. Parallel Processing and Symmetric Multiprocessing:
|
|
Supercomputing</H2
|
|
><P
|
|
> It is possible to get large volume number crunching without
|
|
spending millions of rupees on a supercomputer. You only need
|
|
to link together (by some high speed network) the requisite
|
|
number of CPUs, with GNU/LINUX as the underlying OS. Add
|
|
some freely available message passing software and a effective
|
|
parallel processing number crunching machine is made. Such
|
|
clusters are called "Beowulf clusters". The other advantages
|
|
of such a cluster other than building costs is, up-gradation
|
|
costs are minimal. The two best resources for Linux cluster
|
|
builders are
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.beowulf.org"
|
|
TARGET="_top"
|
|
>The Beowulf
|
|
Project home page </A
|
|
> and </P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.extremelinux.org"
|
|
TARGET="_top"
|
|
>The Extreme
|
|
Linux Project</A
|
|
>
|
|
</P
|
|
></LI
|
|
></UL
|
|
>
|
|
These sites are upgraded frequently with useful information
|
|
for cluster builders.
|
|
</P
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="ppdocs"
|
|
></A
|
|
>7.2.1. Parallel computing document links</H3
|
|
><P
|
|
> You will also want to read this excellent article on
|
|
<A
|
|
HREF="http://freshmeat.net/articles/view/458/"
|
|
TARGET="_top"
|
|
>Linux
|
|
Clustering Software</A
|
|
> (and the large variety of links
|
|
it provides) by Joe Greenseid. I hope to go through the links
|
|
and include them subsequently in this HOWTO.
|
|
</P
|
|
><P
|
|
> Other free document links for parallel processing are:
|
|
</P
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/Beowulf-HOWTO"
|
|
TARGET="_top"
|
|
> The Beowulf Howto </A
|
|
>:
|
|
This document introduces the Beowulf Supercomputer architecture
|
|
and provides background information on parallel programming,
|
|
including links to other more specific documents, and web pages.
|
|
But, before that for an understanding of parallel processing and
|
|
Symmetric multiprocessing on Linux, check out the following:
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/Parallel-Processing-HOWTO"
|
|
TARGET="_top"
|
|
> The Parallel Processing on Linux HOWTO</A
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/SMP-HOWTO"
|
|
TARGET="_top"
|
|
> The Symmetric Multiprocessing HOWTO</A
|
|
>
|
|
</P
|
|
></LI
|
|
></UL
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="PPSW"
|
|
></A
|
|
>7.2.2. Parallel processing software for Linux</H3
|
|
><P
|
|
> Now after reading the above documents, you have an idea of parallel
|
|
processing. Parallel program libraries are the core of parallel processing
|
|
on a Linux cluster. There are various free implementations of parallel
|
|
processing libraries. Since parallel processing is all about performance,
|
|
these libraries have some very nice functional tools to analyze your parallel
|
|
program performance. Given below is a set of links to these parallel
|
|
program libraries and tools.
|
|
</P
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www-unix.mcs.anl.gov/mpi"
|
|
TARGET="_top"
|
|
> Message Passing Interface</A
|
|
>:
|
|
MPI is a standard specification of message passing libraries. The above
|
|
document gives a lot of links to documents on the standard, etc.. A MPI
|
|
implementation for Linux
|
|
<A
|
|
HREF="http://www-unix.mcs.anl.gov/mpi/mpich"
|
|
TARGET="_top"
|
|
>mpich</A
|
|
> is also
|
|
available at that site. There are a lot of documents for
|
|
<A
|
|
HREF="http://www-unix.mcs.anl.gov/mpi/tools.html"
|
|
TARGET="_top"
|
|
>Learning to use MPI
|
|
</A
|
|
>.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.lam-mpi.org/"
|
|
TARGET="_top"
|
|
>Local Area Multicomputer
|
|
- LAM</A
|
|
>:
|
|
LAM (Local Area Multicomputer) is an MPI programming environment and
|
|
development system for heterogeneous computers on a network.
|
|
With LAM, a dedicated cluster or an existing network computing
|
|
infrastructure can act as one parallel computer solving one problem.
|
|
LAM features extensive debugging support in the application development
|
|
cycle and peak performance for production applications. LAM features a
|
|
full implementation of the MPI communication standard.
|
|
You can download the sources (tar-zipped, rpm) or binaries from
|
|
<A
|
|
HREF="http://www.lam-mpi.org/download/"
|
|
TARGET="_top"
|
|
>here</A
|
|
>
|
|
A host of MPI tutorial links and also a `getting started with LAM'
|
|
tutorial is available <A
|
|
HREF="http://www.lam-mpi.org/tutorials/"
|
|
TARGET="_top"
|
|
> here</A
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.epm.ornl.gov/pvm/pvm_home.html"
|
|
TARGET="_top"
|
|
> Parallel Virtual Machine </A
|
|
>:
|
|
As the PVM home page describes, it is a software package that permits
|
|
a heterogeneous collection of Unix and/or NT computers hooked together
|
|
by a network to be used as a single large parallel computer. Thus large
|
|
computational problems can be solved more cost effectively by using the
|
|
aggregate power and memory of many computers. The software is very
|
|
portable. The source, which is available free thru netlib, has been
|
|
compiled on everything from laptops to CRAYs.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://ganglia.sourceforge.net"
|
|
TARGET="_top"
|
|
>Ganglia</A
|
|
>:
|
|
Ganglia is an open source cluster monitoring and execution environment
|
|
developed at the University of California, Berkeley Computer Science
|
|
Division. As the above link describes it, "Ganglia is as simple to
|
|
install and use on a 16-node cluster as it is to use on a 512-node
|
|
cluster as has been proven by its use on multiple 500+ node clusters".
|
|
It not only can link nodes in a cluster, but also link clusters to other
|
|
clusters.
|
|
</P
|
|
></LI
|
|
></UL
|
|
></DIV
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="graphvis.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="publish.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Graphics and Visualization</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Word-Processing and Poster presenting tools on Linux</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |