Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[Doc] Updated deployment.doc
[simgrid.git] / doc / doxygen / deployment.doc
index 6068893..460b2a4 100644 (file)
@@ -1,45 +1,41 @@
-/*! \page deployment Deployment Description
+/*! \page deployment Step 3: Deploy the simulation
 
 \section dep_over Overview
 
-When using SimGrid, you basically need your user code, a platform description, and something allowing to map your (simulated) process on  your (simulated) platform. This is what deployment file is all about. Note that you can bypass the file stuff and code it directly in your user code, if you want to.
-
-
-\section dep_ex An example
-So deployment file just consists of saying which
-process runs where and which arguments it should take as input, the easier way to
-understand how to write it is just to take a look at the examples. Here is an example of it:
-
-\verbatim
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
-<platform version="3">
-  <!-- The master process (with some arguments) -->
-  <process host="Tremblay" function="master">
-     <argument value="20"/>       <!-- Number of tasks -->
-     <argument value="50000000"/>  <!-- Computation size of tasks -->
-     <argument value="1000000"/>   <!-- Communication size of tasks -->
-     <argument value="Jupiter"/>  <!-- First slave -->
-     <argument value="Fafard"/>   <!-- Second slave -->
-     <argument value="Ginette"/>  <!-- Third slave -->
-     <argument value="Bourassa"/> <!-- Last slave -->
-     <argument value="Tremblay"/> <!-- Me! I can work too! -->
-  </process>
-  <!-- The slave processes (with no argument) -->
-  <process host="Tremblay" function="slave"/>
-  <process host="Jupiter" function="slave"/>
-  <process host="Fafard" function="slave"/>
-  <process host="Ginette" function="slave"/>
-  <process host="Bourassa" function="slave"/>
-</platform>
-\endverbatim
-
-\section process_tag Process
-There are optional attributes to the process tag, here is a list of all attributes of process: 
-
-\li <b>host (mandatory)</b>: the host on which the function will be executed.  
-\li <b>process (mandatory)</b>: the process function that will be executed on that host. You can deploy as many process as you want on the same host. 
-\li <b>start_time</b>: the (simulated) time when the function will start. Default is zero.
-\li <b>kill_time</b>: the  (simulated) time when the function will stop. Default is when it's actually finishing.
+When you want to simulate the behavior of your code with SimGrid, you need
+to tell SimGrid exactly what code (that you wrote) is supposed to be run by which host - so you need to assign
+processes/functions to hosts. The hosts in question here are the hosts of your platform model; see Section \ref platform for details on how to set one up.
+
+This assignment of the form \c code -> \c host is what the deployment file is all about, which will
+be discussed briefly here.
+
+\note 
+    You can bypass the deployment file by hardcoding it in your user code, at least when you're using
+    MSG.
+
+The deployment file looks just like a \ref platform "platform" file, except that in
+this case, only two different tags are used: \c process and \c argument, whereas
+the latter is just used to supply additional configuration options to the process; the
+order in which the \c argument tags are given is important and depends on the application.
+
+### The process tag ###
+
+#### Attribute list ####
+
+There are optional attributes to the process tag, here is a list of all attributes of this tag:
+
+| Attribute name  | Mandatory | Values                 | Description                                                                                                               |
+| --------------- | --------- | ---------------------- | -----------                                                                                                               |
+| host            | yes       | String                 | Describes which host will be used to run this process. The host must be defined in the platform file!                     |
+| function        | yes       | String                 | Name of a function that will be executed on this host; this function is written in userland code, for instance, C code. Valid values are functions that were registered by MSG_function_register() |
+| start_time      | no        | int (Default: -1.0)    | The simulated time when this function will start to be computed.                                                          |
+| kill_time       | no        | int (Default: -1.0)    | The simulated time when this function will end to be computed. By default, it stops only when it's done.                  |
+| on_failure      | no        | DIE\|RESTART (Default: "DIE")   | What should be done when the process fails.                  |
+
+### An example ###
+
+A complete example including a \ref MSG_ext_ms_application "deployment file" can be found 
+in the Section \ref MSG_ex_basics "MSG basics".
+
 
 */