X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bbb7b80f8d91bead5b4692a56868ee0af13fa924..3120f4a0a622813c8a68043fe2b25ae0fb00af50:/src/simdag/sd_workstation.c diff --git a/src/simdag/sd_workstation.c b/src/simdag/sd_workstation.c index 108e64013c..5d0872616d 100644 --- a/src/simdag/sd_workstation.c +++ b/src/simdag/sd_workstation.c @@ -5,12 +5,13 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "private.h" -#include "simdag/simdag.h" +#include "simgrid/simdag.h" #include "xbt/dict.h" #include "xbt/lib.h" #include "xbt/sysdep.h" #include "surf/surf.h" #include "surf/surf_resource.h" +#include "simgrid/msg.h" //FIXME: why? XBT_LOG_NEW_DEFAULT_SUBCATEGORY(sd_workstation, sd, "Logging specific to SimDag (workstation)"); @@ -281,6 +282,15 @@ double SD_workstation_get_power(SD_workstation_t workstation) { return surf_workstation_get_speed(workstation, 1.0); } +/** + * \brief Returns the amount of cores of a workstation + * + * \param workstation a workstation + * \return the amount of cores of this workstation + */ +int SD_workstation_get_cores(SD_workstation_t workstation) { + return surf_workstation_get_core(workstation); +} /** * \brief Returns the proportion of available power in a workstation @@ -298,15 +308,15 @@ double SD_workstation_get_available_power(SD_workstation_t workstation) * \brief Returns an approximative estimated time for the given computation amount on a workstation * * \param workstation a workstation - * \param computation_amount the computation amount you want to evaluate (in flops) + * \param flops_amount the computation amount you want to evaluate (in flops) * \return an approximative estimated computation time for the given computation amount on this workstation (in seconds) */ double SD_workstation_get_computation_time(SD_workstation_t workstation, - double computation_amount) + double flops_amount) { - xbt_assert(computation_amount >= 0, - "computation_amount must be greater than or equal to zero"); - return computation_amount / SD_workstation_get_power(workstation); + xbt_assert(flops_amount >= 0, + "flops_amount must be greater than or equal to zero"); + return flops_amount / SD_workstation_get_power(workstation); } /** @@ -376,13 +386,13 @@ double SD_route_get_current_bandwidth(SD_workstation_t src, * * \param src the first workstation * \param dst the second workstation - * \param communication_amount the communication amount you want to evaluate (in bytes) - * \return an approximative estimated computation time for the given communication amount + * \param bytes_amount the communication amount you want to evaluate (in bytes) + * \return an approximative estimated communication time for the given bytes amount * between the workstations (in seconds) */ double SD_route_get_communication_time(SD_workstation_t src, SD_workstation_t dst, - double communication_amount) + double bytes_amount) { @@ -395,12 +405,10 @@ double SD_route_get_communication_time(SD_workstation_t src, double latency; int i; - xbt_assert(communication_amount >= 0, - "communication_amount must be greater than or equal to zero"); - + xbt_assert(bytes_amount >= 0, "bytes_amount must be greater than or equal to zero"); - if (communication_amount == 0.0) + if (bytes_amount == 0.0) return 0.0; links = SD_route_get_list(src, dst); @@ -415,7 +423,7 @@ double SD_route_get_communication_time(SD_workstation_t src, min_bandwidth = bandwidth; } - return latency + (communication_amount / min_bandwidth); + return latency + (bytes_amount / min_bandwidth); } /**