X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c25fbc46b79d4193b64389ddd999b993450a95c4..c51823541276dc4b772e8c1c94dafb1291715268:/doc/gtut-introduction.doc diff --git a/doc/gtut-introduction.doc b/doc/gtut-introduction.doc index 15450a5738..01afc6bdbb 100644 --- a/doc/gtut-introduction.doc +++ b/doc/gtut-introduction.doc @@ -1,5 +1,5 @@ -/** -@page GRAS_tut_intro Introduction to the GRAS framework +/** @defgroup GRAS_tut_intro What is GRAS + @ingroup GRAS_tut \htmlinclude .gtut-introduction.doc.toc @@ -209,7 +209,7 @@ Two main types of events may change the internal state of a given process: messages during the transition associated to this event.\n \n Incoming messages are not handled as soon as they arrive, but only when - the process declares to be ready to accept incomming events (using \ref + the process declares to be ready to accept incoming events (using \ref gras_msg_handle or related functions). It ensures that the treatment of a given message won't run in parallel to any other callback, so that process globals (its state) can be accessed and modified without @@ -221,7 +221,7 @@ Two main types of events may change the internal state of a given process: \n Processes can also wait explicitely for incoming messages matching some given criterions (using \ref gras_msg_wait). Any messages received before the - one matching the criterions will be added to the incomming messages' + one matching the criterions will be added to the incoming messages' queue for further use. This may breaks the message delivery order. Moreover, there is no restriction on when this can be done. So, a callback to a given message can consume messages of other types. There is @@ -272,7 +272,10 @@ As in SimGrid v3.3, receive operations are done in a separated thread, but they are done sequentially by this thread. The model is thus 1-port in reception, but something like 2-port in general. Moreover, the messages not matching the criterion in explicite receive (see for example \ref -gras_msg_wait) are queued for further use. +gras_msg_wait) are queued for further use. Thanks to this specific +thread, the emission and reception are completely decorelated. Ie, the +main thread can perfectly send a message while the listener is +receiving something. We thus have a classical 1-port model. Here is a graphical representation of a scenario involving two processes A and B. Both are naturally composed of two threads: the one running user code, and @@ -284,14 +287,14 @@ The experimental scenario is as follows: