Thread: [C-MPI-commits] SF.net SVN: c-mpi:[115] docs/manual/manual.xml
Status: Pre-Alpha
Brought to you by:
jmwozniak
|
From: <jmw...@us...> - 2010-05-14 18:42:44
|
Revision: 115
http://c-mpi.svn.sourceforge.net/c-mpi/?rev=115&view=rev
Author: jmwozniak
Date: 2010-05-14 18:42:38 +0000 (Fri, 14 May 2010)
Log Message:
-----------
Manual improvements.
Modified Paths:
--------------
docs/manual/manual.xml
Modified: docs/manual/manual.xml
===================================================================
--- docs/manual/manual.xml 2010-05-14 17:18:19 UTC (rev 114)
+++ docs/manual/manual.xml 2010-05-14 18:42:38 UTC (rev 115)
@@ -45,7 +45,15 @@
<title>MPI Library
</title>
<para>
- C-MPI can be used as an MPI library:
+ C-MPI can be used as an MPI library.
+ In this mode, the user allocates some number of DHT nodes
+ and DHT clients.
+ The nodes start up and begin listening for requests.
+ The clients call into <literal>cmpi_client_code()</literal>,
+ do work, and make C-MPI calls.
+ (User programs can link to <filename>libcmpi.a</filename>
+ directly as well by imitating
+ <filename>cmpi/client.c</filename>.)
</para>
<programlisting>
@@ -58,6 +66,12 @@
<title>Cluster database
</title>
<para>
+ In this mode, the DHT runs as a distributed background process
+ (<literal>cmpi-db</literal>) and the user connects to it
+ via a <literal>cp</literal>-like tool
+ (<literal>cmpi-cp</literal>).
+ </para>
+ <para>
Commands executed on submit host:
<programlisting><xi:include
href="login_shell.sh" parse="text"
@@ -68,6 +82,46 @@
xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</para>
</section>
+
+ <section>
+ <title>MPI-IO implementation
+ </title>
+ <para>
+ The CMPI-IO module is really only an sketch.
+ Here's the idea:
+ <orderedlist><listitem><para>
+ C-MPI provides a patch for MPICH.
+ The user applies the patch and recompiles MPICH.
+ </para></listitem></orderedlist>
+ <orderedlist><listitem><para>
+ The user writes a normal MPI/MPI-IO program but provides
+ <literal>cmpi:/</literal> pathnames to trigger the
+ CMPI-IO implementation.
+ </para></listitem></orderedlist>
+ <orderedlist><listitem><para>
+ The user launches the program with
+ <literal>mpiexec</literal>,
+ allocating extra processes for the DHT.
+ </para></listitem></orderedlist>
+ <orderedlist><listitem><para>
+ Calls like <literal>MPI_FILE_WRITE_AT()</literal>
+ are translated by ROMIO and implemented ultimately by calls
+ like <literal>ADIOI_CMPI_WriteContig()</literal>.
+ (The full list of what CMPI-IO needs to implement is in
+ <filename>ad_cmpi.h</filename>; it's actually not that bad.)
+ This method would be implemented via calls to
+ <literal>cmpi_put()</literal>/<literal>cmpi_get()</literal>.
+ </para></listitem></orderedlist>
+ </para>
+ </section>
+ <section>
+ <title>FUSE module
+ </title>
+ <para>
+ A FUSE adapter could be built using functionality similar
+ to the MPI-IO functionality.
+ </para>
+ </section>
</section>
<section id="mpirpc">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jmw...@us...> - 2010-05-14 18:55:27
|
Revision: 117
http://c-mpi.svn.sourceforge.net/c-mpi/?rev=117&view=rev
Author: jmwozniak
Date: 2010-05-14 18:55:21 +0000 (Fri, 14 May 2010)
Log Message:
-----------
Add note about make tests
Modified Paths:
--------------
docs/manual/manual.xml
Modified: docs/manual/manual.xml
===================================================================
--- docs/manual/manual.xml 2010-05-14 18:48:03 UTC (rev 116)
+++ docs/manual/manual.xml 2010-05-14 18:55:21 UTC (rev 117)
@@ -587,6 +587,12 @@
</para></listitem>
</varlistentry>
<varlistentry>
+ <term>tests</term>
+ <listitem><para>
+ Build (but do not run) the test programs.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
<term>tags</term>
<listitem><para>
Make an etags file based on the configuration choices.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jmw...@us...> - 2010-05-14 18:59:13
|
Revision: 118
http://c-mpi.svn.sourceforge.net/c-mpi/?rev=118&view=rev
Author: jmwozniak
Date: 2010-05-14 18:59:07 +0000 (Fri, 14 May 2010)
Log Message:
-----------
Clarify FUSE integration
Modified Paths:
--------------
docs/manual/manual.xml
Modified: docs/manual/manual.xml
===================================================================
--- docs/manual/manual.xml 2010-05-14 18:55:21 UTC (rev 117)
+++ docs/manual/manual.xml 2010-05-14 18:59:07 UTC (rev 118)
@@ -119,7 +119,11 @@
</title>
<para>
A FUSE adapter could be built using functionality similar
- to the MPI-IO functionality.
+ to the techniques above.
+ The user would first instantiate the <literal>cmpi-db</literal>.
+ Then, the FUSE implementation would make calls using
+ the <literal>driver</literal> interface similar to the way
+ that <filename>cmpi-cp</filename> does.
</para>
</section>
</section>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jmw...@us...> - 2010-05-14 20:33:00
|
Revision: 123
http://c-mpi.svn.sourceforge.net/c-mpi/?rev=123&view=rev
Author: jmwozniak
Date: 2010-05-14 20:32:54 +0000 (Fri, 14 May 2010)
Log Message:
-----------
Add note about test-success.out files
Modified Paths:
--------------
docs/manual/manual.xml
Modified: docs/manual/manual.xml
===================================================================
--- docs/manual/manual.xml 2010-05-14 20:00:27 UTC (rev 122)
+++ docs/manual/manual.xml 2010-05-14 20:32:54 UTC (rev 123)
@@ -597,6 +597,13 @@
</para></listitem>
</varlistentry>
<varlistentry>
+ <term>test/<module>/test-success.out</term>
+ <listitem><para>
+ Run all the tests for <literal>module</literal>
+ after all of the tests for its dependencies.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
<term>tags</term>
<listitem><para>
Make an etags file based on the configuration choices.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jmw...@us...> - 2010-05-14 21:00:21
|
Revision: 126
http://c-mpi.svn.sourceforge.net/c-mpi/?rev=126&view=rev
Author: jmwozniak
Date: 2010-05-14 21:00:15 +0000 (Fri, 14 May 2010)
Log Message:
-----------
Add notes about C-MPI modes
Modified Paths:
--------------
docs/manual/manual.xml
Modified: docs/manual/manual.xml
===================================================================
--- docs/manual/manual.xml 2010-05-14 20:44:21 UTC (rev 125)
+++ docs/manual/manual.xml 2010-05-14 21:00:15 UTC (rev 126)
@@ -511,6 +511,27 @@
</variablelist>
</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term>--enable-mode-*</term>
+ <listitem><para>
+ The node layout scheme.
+ (see Components:<filename>mode*.c</filename>).
+ <variablelist>
+ <varlistentry>
+ <term>--enable-mode-mono</term>
+ <listitem><para>
+ The default.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--enable-mode-pairs</term>
+ <listitem><para>
+ The default.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para></listitem>
+ </varlistentry>
<varlistentry>
<term>--enable-tests</term>
<listitem><para>
@@ -666,6 +687,37 @@
implementation.
</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term>mode_*.c</term>
+ <listitem><para>
+ C-MPI mode selection made at configure time.
+ <variablelist>
+ <varlistentry>
+ <term>mono</term>
+ <listitem><para>
+ Given <literal>mpiexec -n 6 cmpi-db -n 4</literal>,
+ creates 4 DHT nodes (ranks 0-3)
+ and 2 clients (ranks 4-5).
+ The clients will use all nodes as contacts.
+ Ideal for the SMP case.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pairs</term>
+ <listitem><para>
+ Given <literal>mpiexec -n 6 cmpi-db -n 3</literal>,
+ creates 3 DHT nodes (ranks 0-2)
+ and 3 clients (ranks 3-5).
+ The clients connect to a single contact
+ (0:3, 1:4, 2:5).
+ Ideal for the cluster case: each physical node will
+ have one node process and one client process,
+ the client will only contact the local node.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para></listitem>
+ </varlistentry>
<varlistentry>
<term>node.c</term>
<listitem><para>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jmw...@us...> - 2010-05-17 22:20:37
|
Revision: 127
http://c-mpi.svn.sourceforge.net/c-mpi/?rev=127&view=rev
Author: jmwozniak
Date: 2010-05-17 22:20:29 +0000 (Mon, 17 May 2010)
Log Message:
-----------
Quick note
Modified Paths:
--------------
docs/manual/manual.xml
Modified: docs/manual/manual.xml
===================================================================
--- docs/manual/manual.xml 2010-05-14 21:00:15 UTC (rev 126)
+++ docs/manual/manual.xml 2010-05-17 22:20:29 UTC (rev 127)
@@ -31,6 +31,8 @@
The fastest way to get a quick overview of provided features
is to just run:
<programlisting>
+ ./setup.sh
+ ./configure --config-cache --enable-table-dense-1 --enable-tests --with-mpi=${HOME}/sfw/mpich2-1.2.1p1
make D=1 test_results
</programlisting>
Then, just take a look at the test code and output to see
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jmw...@us...> - 2010-05-21 15:24:45
|
Revision: 140
http://c-mpi.svn.sourceforge.net/c-mpi/?rev=140&view=rev
Author: jmwozniak
Date: 2010-05-21 15:24:39 +0000 (Fri, 21 May 2010)
Log Message:
-----------
Usage notes subsection
Modified Paths:
--------------
docs/manual/manual.xml
Modified: docs/manual/manual.xml
===================================================================
--- docs/manual/manual.xml 2010-05-21 15:10:19 UTC (rev 139)
+++ docs/manual/manual.xml 2010-05-21 15:24:39 UTC (rev 140)
@@ -165,6 +165,13 @@
Called by MPIRPC on call completion with the MPIRPC object.
</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term>handler</term>
+ <listitem><para>A user function that is the target
+ of an MPIRPC call.
+ Called by MPIRPC on an incoming request.
+ </para></listitem>
+ </varlistentry>
</variablelist>
</para>
</section>
@@ -312,6 +319,23 @@
</variablelist>
</para>
</section>
+
+
+ <section>
+ <title>Usage notes
+ </title>
+ <para>
+ <itemizedlist>
+ <listitem><para>
+ <emphasis>Handler:</emphasis>
+ The handler must free incoming args if non-NULL.
+ The handler must return by calling
+ <literal>MPIRPC_Return()</literal> or
+ <literal>MPIRPC_Null()</literal>.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
</section>
<section id="cmpi">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jmw...@us...> - 2010-05-21 15:30:20
|
Revision: 141
http://c-mpi.svn.sourceforge.net/c-mpi/?rev=141&view=rev
Author: jmwozniak
Date: 2010-05-21 15:30:12 +0000 (Fri, 21 May 2010)
Log Message:
-----------
More notes
Modified Paths:
--------------
docs/manual/manual.xml
Modified: docs/manual/manual.xml
===================================================================
--- docs/manual/manual.xml 2010-05-21 15:24:39 UTC (rev 140)
+++ docs/manual/manual.xml 2010-05-21 15:30:12 UTC (rev 141)
@@ -320,6 +320,20 @@
</para>
</section>
+ <section id="mpirpc_example">
+ <title>Example
+ </title>
+ <para>
+ Server function:
+ <programlisting>
+ ./setup.sh
+ ./configure --config-cache --enable-table-dense-1 --enable-tests --with-mpi=${HOME}/sfw/mpich2-1.2.1p1
+ make D=1 test_results
+ </programlisting>
+ Then, just take a look at the test code and output to see
+ how things work.
+ </para>
+ </section>
<section>
<title>Usage notes
@@ -327,11 +341,13 @@
<para>
<itemizedlist>
<listitem><para>
- <emphasis>Handler:</emphasis>
+ <emphasis>Handler routines:</emphasis>
The handler must free incoming args if non-NULL.
The handler must return by calling
<literal>MPIRPC_Return()</literal> or
<literal>MPIRPC_Null()</literal>.
+ Handlers can call into <literal>MPIRPC_Call()</literal>
+ but the flow eventually return to the original caller.
</para></listitem>
</itemizedlist>
</para>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jmw...@us...> - 2010-06-07 19:18:23
|
Revision: 153
http://c-mpi.svn.sourceforge.net/c-mpi/?rev=153&view=rev
Author: jmwozniak
Date: 2010-06-07 19:18:15 +0000 (Mon, 07 Jun 2010)
Log Message:
-----------
Minor notes
Modified Paths:
--------------
docs/manual/manual.xml
Modified: docs/manual/manual.xml
===================================================================
--- docs/manual/manual.xml 2010-05-27 20:43:12 UTC (rev 152)
+++ docs/manual/manual.xml 2010-06-07 19:18:15 UTC (rev 153)
@@ -324,14 +324,9 @@
<title>Example
</title>
<para>
- Server function:
<programlisting>
- ./setup.sh
- ./configure --config-cache --enable-table-dense-1 --enable-tests --with-mpi=${HOME}/sfw/mpich2-1.2.1p1
- make D=1 test_results
- </programlisting>
- Then, just take a look at the test code and output to see
- how things work.
+ sample code
+ </programlisting>
</para>
</section>
@@ -342,7 +337,8 @@
<itemizedlist>
<listitem><para>
<emphasis>Handler routines:</emphasis>
- The handler must free incoming args if non-NULL.
+ The handler must copy the incoming args
+ if it wants to save them.
The handler must return by calling
<literal>MPIRPC_Return()</literal> or
<literal>MPIRPC_Null()</literal>.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|