From 6fb81dc07673c304971a87e3d96d2c89f12c6e37 Mon Sep 17 00:00:00 2001 From: Augustin Degomme Date: Mon, 12 Nov 2012 15:37:54 +0100 Subject: [PATCH] update doc for asynchronous send --- doc/user_guide/doxygen/options.doc | 13 +++++++++++++ src/msg/msg_mailbox.c | 11 +++++++++++ 2 files changed, 24 insertions(+) diff --git a/doc/user_guide/doxygen/options.doc b/doc/user_guide/doxygen/options.doc index fc97106e34..1901e91d99 100644 --- a/doc/user_guide/doxygen/options.doc +++ b/doc/user_guide/doxygen/options.doc @@ -234,6 +234,18 @@ the same network card through the \b network/sender_gap item. This is still under investigation as of writting, and the default value is to wait 0 seconds between emissions (no gap applied). +\subsubsection options_model_network_asyncsend Simulating asyncronous send + +(this configuration item is experimental and may change or disapear) + +It is possible to specify that messages below a certain size will be sent +as soon as the call to MPI_Send is issued, without waiting for the +correspondant receive. This threshold can be configured through the +\b smpi/async_small_thres item. The default value is 0. This behavior can also be +manually set for MSG mailboxes, by setting the receiving mode of the mailbox +with a call to \ref MSG_mailbox_set_async . For MSG, all messages sent to this +mailbox will have this behavior, so consider using two mailboxes if needed. + \subsubsection options_pls Configuring packet-level pseudo-models When using the packet-level pseudo-models, several specific @@ -571,6 +583,7 @@ It can be done by using XBT. Go to \ref XBT_log for more details. - \c smpi/running_power: \ref options_smpi_bench - \c smpi/display_timing: \ref options_smpi_timing - \c smpi/cpu_threshold: \ref options_smpi_bench +- \c smpi/async_small_thres: \ref options_model_network_asyncsend - \c path: \ref options_generic_path - \c verbose-exit: \ref options_generic_exit diff --git a/src/msg/msg_mailbox.c b/src/msg/msg_mailbox.c index 1edc135eba..8461bf9318 100644 --- a/src/msg/msg_mailbox.c +++ b/src/msg/msg_mailbox.c @@ -56,6 +56,17 @@ msg_mailbox_t MSG_mailbox_get_by_alias(const char *alias) return mailbox; } +/** \ingroup msg_mailbox_management + * \brief Set the mailbox to receive in asynchronous mode + * + * All messages sent to this mailbox will be transferred to + * the receiver without waiting for the receive call. + * The receive call will still be necessary to use the received data. + * If there is a need to receive some messages asynchronously, and some not, + * two different mailboxes should be used. + * + * \param alias The name of the mailbox + */ void MSG_mailbox_set_async(const char *alias){ msg_mailbox_t mailbox = MSG_mailbox_get_by_alias(alias); -- 2.20.1