Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add tests for ompi selector
[simgrid.git] / doc / doxygen / deployment.doc
1 /*! \page deployment Deployment Description
2
3 \section dep_over Overview
4
5 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.
6
7
8 \section dep_ex An example
9 So deployment file just consists of saying which
10 process runs where and which arguments it should take as input, the easier way to
11 understand how to write it is just to take a look at the examples. Here is an example of it:
12
13 \verbatim
14 <?xml version='1.0'?>
15 <!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
16 <platform version="3">
17   <!-- The master process (with some arguments) -->
18   <process host="Tremblay" function="master">
19      <argument value="20"/>       <!-- Number of tasks -->
20      <argument value="50000000"/>  <!-- Computation size of tasks -->
21      <argument value="1000000"/>   <!-- Communication size of tasks -->
22      <argument value="Jupiter"/>  <!-- First slave -->
23      <argument value="Fafard"/>   <!-- Second slave -->
24      <argument value="Ginette"/>  <!-- Third slave -->
25      <argument value="Bourassa"/> <!-- Last slave -->
26      <argument value="Tremblay"/> <!-- Me! I can work too! -->
27   </process>
28   <!-- The slave processes (with no argument) -->
29   <process host="Tremblay" function="slave"/>
30   <process host="Jupiter" function="slave"/>
31   <process host="Fafard" function="slave"/>
32   <process host="Ginette" function="slave"/>
33   <process host="Bourassa" function="slave"/>
34 </platform>
35 \endverbatim
36
37 \section process_tag Process
38 There are optional attributes to the process tag, here is a list of all attributes of process: 
39
40 \li <b>host (mandatory)</b>: the host on which the function will be executed.  
41 \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. 
42 \li <b>start_time</b>: the (simulated) time when the function will start. Default is zero.
43 \li <b>kill_time</b>: the  (simulated) time when the function will stop. Default is when it's actually finishing.
44
45 */