Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge pull request #272 from mpoquet/SMPI_convert
[simgrid.git] / doc / doxygen / FAQ.doc
index 52e405e..15a35ec 100644 (file)
@@ -1,17 +1,20 @@
-/*! \page FAQ Frequently Asked Questions
+/*! \page FAQ MSG Frequently Asked Questions
 
 @tableofcontents
 
+This document is the FAQ of the MSG interface. Some entries are a bit aging and it should be refreshed at some point.
+
 \section faq_simgrid I'm new to SimGrid. I have some questions. Where should I start?
 
-You are at the right  place... Having a look to these
-<a href="http://www.loria.fr/~quinson/blog/2010/06/28/Tutorial_at_HPCS/">the slides of the HPCS'10 tutorial</a>
-(or to these <a href="http://graal.ens-lyon.fr/~alegrand/articles/slides_g5k_simul.pdf">ancient
-slides</a>, or to these
-<a href="http://graal.ens-lyon.fr/~alegrand/articles/Simgrid-Introduction.pdf">"obsolete" slides</a>)
-may give you some insights on what SimGrid can help you to do and what
-are its limitations. Then you definitely should read the \ref
-msg_examples. 
+You are at the right place... To understand what you can do or
+cannot do with SimGrid, you should read the
+<a href="http://simgrid.gforge.inria.fr/tutorials.php">tutorial
+slides</a> from the SimGrid's website. You may find more uptodate
+material on the
+<a href="http://people.irisa.fr/Martin.Quinson/blog/SimGrid/">blog of
+Martin Quinson</a>. 
+
+Another great source of inspiration can be found in the \ref s4u_examples.
 
 If you are stuck at any point and if this FAQ cannot help you, please drop us a
 mail to the user mailing list: <simgrid-user@lists.gforge.inria.fr>.
@@ -133,15 +136,6 @@ and MSG_task_get_data().
 You could use a dictionary (#xbt_dict_t) of dynars (#xbt_dynar_t). If
 you still don't see how to do it, please come back to us...
 
-\subsubsection faq_MIA_asynchronous I want to do asynchronous communications in MSG
-
-You are probably looking for the following functions:
-MSG_task_isend() and MSG_task_irecv(); 
-MSG_comm_test(), MSG_comm_wait(), MSG_comm_waitall() and MSG_comm_waitany();
-MSG_comm_destroy(). 
-
-There is even a specific example section on \ref msg_ex_asynchronous_communications.
-
 \subsubsection faq_MIA_thread_synchronization How to synchronize my user processes?
 
 It depends on why you want to synchronize them.  If you just want to
@@ -172,8 +166,8 @@ deadlock.
 
 Instead, you should use the synchronization mechanism provided by the
 simulation kernel. This could with a SimGrid mutex, a SimGrid
-condition variables or a SimGrid semaphore, as described in \ref
-XBT_synchro (in Java, only semaphores are available). But actually,
+condition variables or a SimGrid semaphore, as described in @ref
+msg_synchro (in Java, only semaphores are available). But actually,
 many synchronization patterns can be encoded with communication on
 mailboxes. Typically, if you need one process to notify another one,
 you could use a condition variable or a semphore, but sending a
@@ -272,8 +266,8 @@ create 3 SD_tasks: t1, t2 and c and add dependencies in the following
 way:
 
 \code
-SD_task_dependency_add(NULL, NULL, t1, c);
-SD_task_dependency_add(NULL, NULL, c, t2);
+SD_task_dependency_add(t1, c);
+SD_task_dependency_add(c, t2);
 \endcode
 
 This way task t2 cannot start before the termination of communication c