Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > 965e33040dd61030a94f0eb89877aee8 > files > 5529

howto-html-en-20080722-2mdv2010.1.noarch.rpm

<!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
>&#13; 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
>&#13;    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"
>&#13;    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"
>&#13;    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"
>&#13;    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
>&#13;  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
>&#13;  <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
>&#13;  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
>&#13;  Other free document links for parallel processing are:
  </P
><P
></P
><UL
><LI
><P
>&#13;  <A
HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/Beowulf-HOWTO"
TARGET="_top"
>&#13;  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
>&#13;  <A
HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/Parallel-Processing-HOWTO"
TARGET="_top"
>&#13;  The  Parallel Processing on Linux HOWTO</A
>
  </P
></LI
><LI
><P
>&#13;   <A
HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/SMP-HOWTO"
TARGET="_top"
>&#13;  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
>&#13;   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
>&#13;   <A
HREF="http://www-unix.mcs.anl.gov/mpi"
TARGET="_top"
>&#13;    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
>&#13;   <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"
>&#13;    here</A
>
   </P
></LI
><LI
><P
>&#13;   <A
HREF="http://www.epm.ornl.gov/pvm/pvm_home.html"
TARGET="_top"
>&#13;    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
>&#13;    <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"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Word-Processing and Poster presenting tools on Linux</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>