-/*! \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>.
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
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