Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
authorTakahiro Hirofuchi <t.hirofuchi+sg@aist.go.jp>
Wed, 4 Jun 2014 14:22:52 +0000 (16:22 +0200)
committerTakahiro Hirofuchi <t.hirofuchi+sg@aist.go.jp>
Wed, 4 Jun 2014 14:22:52 +0000 (16:22 +0200)
buildtools/Cmake/AddTests.cmake
doc/doxygen/module-surf.doc
src/surf/network_constant.cpp
src/surf/network_interface.hpp
tools/tesh/CMakeLists.txt

index 702cd7b..7c0f94e 100644 (file)
@@ -26,7 +26,7 @@ IF(WIN32)
 SET(TESH_COMMAND perl.exe ${CMAKE_BINARY_DIR}/bin/tesh)
 SET(TESH_OPTION $TESH_OPTION --timeout 50)
 ELSE()
-SET(TESH_COMMAND ${CMAKE_BINARY_DIR}/bin/tesh)
+SET(TESH_COMMAND perl ${CMAKE_BINARY_DIR}/bin/tesh)
 ENDIF()
 
 #some tests may take forever on non futexes systems, using busy_wait with n cores < n workers
index e4aed28..d7e025f 100644 (file)
@@ -23,7 +23,7 @@
     \ingroup SURF_API
     \brief Functions for creating the environment and launching the simulation
 
-    This section describes the functions for initialising SURF, performing
+    This section describes the functions for initializing SURF, performing
     the simulation and exiting SURF.
 */
 
     \ingroup SURF_API
     \brief How to build a new API on top of SURF
 
-    SURF provides the functionnalities to simulate the platform. There are two main datatypes in SURF:
+    SURF provides the functionalities to simulate the platform. There are two main data types in SURF:
     the actions and the resources. Several types of resources exist:
        - the workstation resource,
        - the network resource,
        - the CPU resource,
        - the timer resource.
 
-    The implentation of these resources depends on the platform model you choose. There are several
+    The implementation of these resources depends on the platform model you choose. There are several
     platform models. You can select your model by calling surf_workstation_resource_init_CLM03()
     or surf_workstation_resource_init_KCCFLN05(). See the documentation of these functions to have
     more details about the models. Remember that the model KCCFLN05 is an implementation of both the
@@ -77,7 +77,7 @@
 
     Have a look at the implementation of \ref MSG_API "MSG" and \ref SD_API "Simdag" to see how these module
     interact with SURF. But if you want to create a new API on top of SURF,
-    we strongly recommand you to contact us before anyway.
+    we strongly recommend you to contact us before anyway.
 
 */
 
index b3cd6f9..1f17a2c 100644 (file)
@@ -37,12 +37,8 @@ double NetworkConstantModel::shareResources(double /*now*/)
   for(ActionList::iterator it(actionSet->begin()), itend(actionSet->end())
         ; it != itend ; ++it) {
        action = static_cast<NetworkConstantActionPtr>(&*it);
-    if (action->m_latency > 0) {
-      if (min < 0)
-        min = action->m_latency;
-      else if (action->m_latency < min)
-        min = action->m_latency;
-    }
+        if (action->m_latency > 0 && (min < 0 || action->m_latency < min))
+            min = action->m_latency;
   }
 
   return min;
index 46cd1a4..3c20de2 100644 (file)
@@ -106,11 +106,11 @@ public:
    *
    * @param name The name of the NetworkLink
    * @param bw_initial The initial bandwidth of the NetworkLink in bytes per second
-   * @param bw_trace The trace associated to the NetworkLink bandwidth [TODO]
+   * @param bw_trace The trace associated to the NetworkLink bandwidth
    * @param lat_initial The initial latency of the NetworkLink in seconds
-   * @param lat_trace The trace associated to the NetworkLink latency [TODO]
+   * @param lat_trace The trace associated to the NetworkLink latency
    * @param state_initial The initial NetworkLink (state)[e_surf_resource_state_t]
-   * @param state_trace The trace associated to the NetworkLink (state)[e_surf_resource_state_t] [TODO]
+   * @param state_trace The trace associated to the NetworkLink (state)[e_surf_resource_state_t]
    * @param policy The sharing policy of the NetworkLink
    * @param properties Dictionary of properties associated to this Resource
    * @return The created NetworkLink
@@ -128,13 +128,15 @@ public:
   virtual void gapAppend(double /*size*/, const NetworkLinkPtr /*link*/, NetworkActionPtr /*action*/) {};
 
   /**
-   * @brief Create a communication between two [TODO]
-   * @details [TODO]
+   * @brief Create a communication between two workstations.
+   * @details It makes calls to the routing part, and execute the communication
+   * between the two end points.
    *
-   * @param src The source [TODO]
-   * @param dst The destination [TODO]
+   * @param src The source of the communication
+   * @param dst The destination of the communication
    * @param size The size of the communication in bytes
-   * @param rate The
+   * @param rate Allows to limit the transfer rate. Negative value means
+   * unlimited.
    * @return The action representing the communication
    */
   virtual ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst,
@@ -148,31 +150,35 @@ public:
   void (*f_networkSolve)(lmm_system_t);
 
   /**
-   * @brief [brief description]
-   * @details [long description]
+   * @brief Gets the right multiplicative factor for the latency.
+   * @details According to the model, the effective latency when sending
+   * a message might be different from the theoretical latency in function
+   * of its size. In order to account for this, this function get this factor.
    *
-   * @param size [description]
-   * @return [description]
+   * @param size The size of the message.
+   * @return The latency factor.
    */
   virtual double latencyFactor(double size);
 
   /**
-   * @brief [brief description]
-   * @details [long description]
+   * @brief Gets the right multiplicative factor for the bandwidth.
+   * @details According to the model, the effective bandwidth when sending
+   * a message might be different from the theoretical bandwidth in function
+   * of its size. In order to account for this, this function get this factor.
    *
-   * @param size [description]
-   * @return [description]
+   * @param size The size of the message.
+   * @return The bandwidth factor.
    */
   virtual double bandwidthFactor(double size);
 
   /**
-   * @brief [brief description]
-   * @details [long description]
-   *
-   * @param rate [description]
-   * @param bound [description]
-   * @param size [description]
-   * @return [description]
+   * @brief Gets definitive bandwidth.
+   * @details It gives the minimum bandwidth between the one that would
+   * occur if no limitation was enforced, and the maximum wanted bandwidth
+   * @param rate The desired maximum bandwidth.
+   * @param bound The bandwidth with only the network taken into account.
+   * @param size The size of the message.
+   * @return The new bandwidth.
    */
   virtual double bandwidthConstraint(double rate, double bound, double size);
   bool m_haveGap;
index 5688054..89e50a9 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(WIN32)
+if(1)
 #  add_custom_target(tesh ALL
 #    DEPENDS ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Scripts/tesh.pl
 #    COMMENT "Install ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Scripts/tesh.pl"
@@ -9,7 +9,7 @@ if(WIN32)
     configure_file("${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Scripts/tesh.pl"
   "${CMAKE_BINARY_DIR}/bin/tesh" @ONLY IMMEDIATE)
 
-    file(COPY        ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Scripts/Diff.pm 
+    file(COPY        ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Scripts/Diff.pm
          DESTINATION ${CMAKE_BINARY_DIR}/bin
          FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
                           GROUP_EXECUTE GROUP_READ)