Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of github.com:simgrid/simgrid
authorMartin Quinson <martin.quinson@loria.fr>
Thu, 11 Oct 2018 20:12:41 +0000 (22:12 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Thu, 11 Oct 2018 20:12:41 +0000 (22:12 +0200)
1  2 
include/simgrid/host.h
include/simgrid/msg.h

diff --combined include/simgrid/host.h
  
  SG_BEGIN_DECL()
  /** @brief Host datatype.
 -    @ingroup m_host_management
 -
 -    A <em>location</em> (or <em>host</em>) is any possible place where an actor may run. Thus it is represented as a
 -    <em>physical resource with computing capabilities</em>, some <em>mailboxes</em> to enable running actors to
 -    communicate with remote ones, and some <em>private data</em> that can be only accessed by local actors.
 + *
 + *   A <em>location</em> (or <em>host</em>) is any possible place where an actor may run. Thus it is represented as a
 + *   <em>physical resource with computing capabilities</em>, some <em>mailboxes</em> to enable running actors to
 + *   communicate with remote ones, and some <em>private data</em> that can be only accessed by local actors.
   */
  
  XBT_PUBLIC sg_host_t* sg_host_list();
  
 -/** @ingroup m_host_management
 - * @brief Return the current number of hosts.
 - */
 +/** @brief Return the current number of hosts. */
  XBT_PUBLIC size_t sg_host_count();
  
 -/** @ingroup m_host_management
 +/**
   * @brief Return a dynar containing all the hosts declared at a given point of time (including VMs)
   * @remark The host order in the returned array is generally different from the host creation/declaration order in the
   *         XML platform (we use a hash table internally)
@@@ -33,7 -36,8 +33,7 @@@ XBT_PUBLIC xbt_dynar_t sg_hosts_as_dyna
  XBT_PUBLIC size_t sg_host_extension_create(void (*deleter)(void*));
  XBT_PUBLIC void* sg_host_extension_get(sg_host_t host, size_t rank);
  
 -/** @ingroup m_host_management
 - * @brief Finds a sg_host_t using its name.
 +/** @brief Finds a sg_host_t using its name.
   *
   * This is a name directory service
   * @param name the name of an host.
   */
  XBT_PUBLIC sg_host_t sg_host_by_name(const char* name);
  
 -/** @ingroup m_host_management
 - *
 - * @brief Return the name of the #sg_host_t. */
 +/** @brief Return the name of the #sg_host_t. */
  XBT_PUBLIC const char* sg_host_get_name(sg_host_t host);
  
  // ========== User Data ==============
 -/** @ingroup m_host_management
 - *
 - * @brief Return the user data of a #sg_host_t.
 +/** @brief Return the user data of a #sg_host_t.
   *
   * This functions returns the user data associated to @a host if it is possible.
   */
  XBT_PUBLIC void* sg_host_user(sg_host_t host);
 -/** @ingroup m_host_management
 - *
 - * @brief Set the user data of a #sg_host_t.
 +/** @brief Set the user data of a #sg_host_t.
   *
   * This functions attach @a data to @a host if it is possible.
   */
@@@ -58,20 -68,24 +58,20 @@@ XBT_PUBLIC void sg_host_user_set(sg_hos
  XBT_PUBLIC void sg_host_user_destroy(sg_host_t host);
  
  // ========= storage related functions ============
 -/** @ingroup m_host_management
 - * @brief Return the list of mount point names on an host.
 +/** @brief Return the list of mount point names on an host.
   * @param host a host
   * @return a dict containing all mount point on the host (mount_name => sg_storage_t)
   */
  XBT_PUBLIC xbt_dict_t sg_host_get_mounted_storage_list(sg_host_t host);
  
 -/** @ingroup m_host_management
 - * @brief Return the list of storages attached to an host.
 +/** @brief Return the list of storages attached to an host.
   * @param host a host
   * @return a dynar containing all storages (name) attached to the host
   */
  XBT_PUBLIC xbt_dynar_t sg_host_get_attached_storage_list(sg_host_t host);
  
  // =========== user-level functions ===============
 -/** @ingroup m_host_management
 - * @brief Return the speed of the processor (in flop/s), regardless of the current load on the machine.
 - */
 +/** @brief Return the speed of the processor (in flop/s), regardless of the current load on the machine. */
  XBT_PUBLIC double sg_host_speed(sg_host_t host);
  XBT_PUBLIC double sg_host_get_pstate_speed(sg_host_t host, int pstate_index);
  
@@@ -79,14 -93,22 +79,17 @@@ XBT_PUBLIC double sg_host_get_available
  
  XBT_PUBLIC int sg_host_core_count(sg_host_t host);
  
- /** @brief Return the location on which a process is running.
-  *  @return the sg_host_t corresponding to the location on which @a process is running.
 -/** @ingroup m_host_management
 - * @brief Returns the current computation load (in flops per second).
++/** @brief Returns the current computation load (in flops per second).
+  * @param host a host
   */
 -/** @ingroup m_process_management
 - * @brief Return the location on which a process is running.
 - * @return the sg_host_t corresponding to the location on which @a process is running.
 - */
+ XBT_PUBLIC double sg_host_load(sg_host_t host);
++/** @brief Return the location on which the current process is running. */
  XBT_PUBLIC sg_host_t sg_host_self();
  
  XBT_PUBLIC const char* sg_host_self_get_name();
  
 -/** @ingroup m_host_management
 - * @brief Return the total count of pstates defined for a host. See also @ref plugin_energy.
 +/** @brief Return the total count of pstates defined for a host. See also @ref plugin_energy.
   *
   * @param  host host to test
   */
diff --combined include/simgrid/msg.h
@@@ -115,6 -115,7 +115,7 @@@ XBT_PUBLIC void MSG_host_get_process_li
  
  /** @brief Return the location on which the current process is executed */
  XBT_PUBLIC sg_host_t MSG_host_self();
+ XBT_PUBLIC double MSG_host_get_load(sg_host_t host);
  
  /* ******************************** VMs ************************************* */
  typedef sg_vm_t msg_vm_t;
@@@ -154,14 -155,6 +155,14 @@@ XBT_PUBLIC sg_size_t MSG_storage_read(m
  XBT_PUBLIC sg_size_t MSG_storage_write(msg_storage_t storage, sg_size_t size);
  
  /* ******************************** Actor/process *************************** */
 +/** Processes are independent agents that can do stuff on their own.
 + *  They are in charge of executing your code interacting with the simulated world.
 + *  A process may be defined as a <em>code</em> with some <em>private data</em>.
 + *  Processes must be located on <em>hosts</em> (#msg_host_t), and they exchange data by sending tasks (#msg_task_t)
 + *  that are similar to envelops containing data.
 + *
 + *  @hideinitializer
 + */
  typedef sg_actor_t msg_process_t;
  
  XBT_PUBLIC int MSG_process_get_PID(msg_process_t process);
@@@ -268,7 -261,8 +269,7 @@@ typedef enum 
   * MSG_config("host/model","ptask_L07");
   */
  XBT_PUBLIC void MSG_config(const char* key, const char* value);
 -/** @ingroup msg_simulation
 - *  @brief Initialize the MSG internal data.
 +/** @brief Initialize the MSG internal data.
   *  @hideinitializer
   *
   *  It also check that the link-time and compile-time versions of SimGrid do
@@@ -431,6 -425,7 +432,6 @@@ XBT_PUBLIC const char* MSG_task_get_cat
  XBT_PUBLIC void MSG_mailbox_set_async(const char* alias);
  
  /** @brief Opaque type representing a semaphore
 - *  @ingroup msg_synchro
   *  @hideinitializer
   */
  typedef struct s_smx_sem_t* msg_sem_t; // Yeah that's a rename of the smx_sem_t which doesnt require smx_sem_t to be