git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2485
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
void SD_workstation_set_data(SD_workstation_t workstation, void *data);
void* SD_workstation_get_data(SD_workstation_t workstation);
const char* SD_workstation_get_name(SD_workstation_t workstation);
void SD_workstation_set_data(SD_workstation_t workstation, void *data);
void* SD_workstation_get_data(SD_workstation_t workstation);
const char* SD_workstation_get_name(SD_workstation_t workstation);
-SD_link_t* SD_workstation_route_get_list(SD_workstation_t src, SD_workstation_t dst);
-int SD_workstation_route_get_size(SD_workstation_t src, SD_workstation_t dst);
+SD_link_t* SD_route_get_list(SD_workstation_t src, SD_workstation_t dst);
+int SD_route_get_size(SD_workstation_t src, SD_workstation_t dst);
double SD_workstation_get_power(SD_workstation_t workstation);
double SD_workstation_get_available_power(SD_workstation_t workstation);
double SD_workstation_get_computation_time(SD_workstation_t workstation, double computation_amount);
double SD_workstation_get_power(SD_workstation_t workstation);
double SD_workstation_get_available_power(SD_workstation_t workstation);
double SD_workstation_get_computation_time(SD_workstation_t workstation, double computation_amount);
-double SD_workstation_route_get_latency(SD_workstation_t src, SD_workstation_t dst);
-double SD_workstation_route_get_bandwidth(SD_workstation_t src, SD_workstation_t dst);
-double SD_workstation_route_get_communication_time(SD_workstation_t src, SD_workstation_t dst,
+double SD_route_get_current_latency(SD_workstation_t src, SD_workstation_t dst);
+double SD_route_get_current_bandwidth(SD_workstation_t src, SD_workstation_t dst);
+double SD_route_get_communication_time(SD_workstation_t src, SD_workstation_t dst,
double communication_amount);
/** @} */
double communication_amount);
/** @} */
time = SD_workstation_get_computation_time(workstation_list[i], computation_amount[i]);
for (j = 0; j < workstation_nb; j++) {
time = SD_workstation_get_computation_time(workstation_list[i], computation_amount[i]);
for (j = 0; j < workstation_nb; j++) {
- time += SD_workstation_route_get_communication_time(workstation_list[i], workstation_list[j],
- communication_amount[i * workstation_nb + j]);
+ time += SD_route_get_communication_time(workstation_list[i], workstation_list[j],
+ communication_amount[i * workstation_nb + j]);
task->amount,
task->rate);
task->amount,
task->rate);
+ DEBUG1("surf_action = %p", surf_action);
+
__SD_task_destroy_scheduling_data(task); /* now the scheduling data are not useful anymore */
__SD_task_set_state(task, SD_RUNNING);
__SD_task_destroy_scheduling_data(task); /* now the scheduling data are not useful anymore */
__SD_task_set_state(task, SD_RUNNING);
/**
* \brief Returns the route between two workstations
*
/**
* \brief Returns the route between two workstations
*
- * Use SD_workstation_route_get_size() to know the array size. Don't forget to free the array after use.
+ * Use SD_route_get_size() to know the array size. Don't forget to free the array after use.
*
* \param src a workstation
* \param dst another workstation
* \return a new array of \ref SD_link_t representating the route between these two workstations
*
* \param src a workstation
* \param dst another workstation
* \return a new array of \ref SD_link_t representating the route between these two workstations
- * \see SD_workstation_route_get_size(), SD_link_t
+ * \see SD_route_get_size(), SD_link_t
-SD_link_t* SD_workstation_route_get_list(SD_workstation_t src, SD_workstation_t dst) {
+SD_link_t* SD_route_get_list(SD_workstation_t src, SD_workstation_t dst) {
SD_CHECK_INIT_DONE();
void *surf_src = src->surf_workstation;
SD_CHECK_INIT_DONE();
void *surf_src = src->surf_workstation;
* \param src a workstation
* \param dst another workstation
* \return the number of links on the route between these two workstations
* \param src a workstation
* \param dst another workstation
* \return the number of links on the route between these two workstations
- * \see SD_workstation_route_get_list()
+ * \see SD_route_get_list()
-int SD_workstation_route_get_size(SD_workstation_t src, SD_workstation_t dst) {
+int SD_route_get_size(SD_workstation_t src, SD_workstation_t dst) {
SD_CHECK_INIT_DONE();
return surf_workstation_resource->extension_public->
get_route_size(src->surf_workstation, dst->surf_workstation);
SD_CHECK_INIT_DONE();
return surf_workstation_resource->extension_public->
get_route_size(src->surf_workstation, dst->surf_workstation);
* \param src the first workstation
* \param dst the second workstation
* \return the latency of the route between the two workstations (in seconds)
* \param src the first workstation
* \param dst the second workstation
* \return the latency of the route between the two workstations (in seconds)
+ * \see SD_route_get_current_bandwidth()
-double SD_workstation_route_get_latency(SD_workstation_t src, SD_workstation_t dst) {
+double SD_route_get_current_latency(SD_workstation_t src, SD_workstation_t dst) {
SD_CHECK_INIT_DONE();
xbt_assert0(src != NULL && dst != NULL, "Invalid parameter");
SD_CHECK_INIT_DONE();
xbt_assert0(src != NULL && dst != NULL, "Invalid parameter");
- SD_link_t *links = SD_workstation_route_get_list(src, dst);
- int nb_links = SD_workstation_route_get_size(src, dst);
+ SD_link_t *links = SD_route_get_list(src, dst);
+ int nb_links = SD_route_get_size(src, dst);
double latency = 0.0;
int i;
double latency = 0.0;
int i;
* \param src the first workstation
* \param dst the second workstation
* \return the bandwidth of the route between the two workstations (in bytes/second)
* \param src the first workstation
* \param dst the second workstation
* \return the bandwidth of the route between the two workstations (in bytes/second)
+ * \see SD_route_get_current_latency()
-double SD_workstation_route_get_bandwidth(SD_workstation_t src, SD_workstation_t dst) {
+double SD_route_get_current_bandwidth(SD_workstation_t src, SD_workstation_t dst) {
SD_CHECK_INIT_DONE();
xbt_assert0(src != NULL && dst != NULL, "Invalid parameter");
SD_CHECK_INIT_DONE();
xbt_assert0(src != NULL && dst != NULL, "Invalid parameter");
- SD_link_t *links = SD_workstation_route_get_list(src, dst);
- int nb_links = SD_workstation_route_get_size(src, dst);
+ SD_link_t *links = SD_route_get_list(src, dst);
+ int nb_links = SD_route_get_size(src, dst);
double bandwidth, min_bandwidth = -1.0;
int i;
double bandwidth, min_bandwidth = -1.0;
int i;
* \return an approximative astimated computation time for the given communication amount
* between the workstations (in seconds)
*/
* \return an approximative astimated computation time for the given communication amount
* between the workstations (in seconds)
*/
-double SD_workstation_route_get_communication_time(SD_workstation_t src, SD_workstation_t dst,
+double SD_route_get_communication_time(SD_workstation_t src, SD_workstation_t dst,
double communication_amount) {
/* total time = latency + transmission time of the slowest link
transmission time of a link = communication amount / link bandwidth */
double communication_amount) {
/* total time = latency + transmission time of the slowest link
transmission time of a link = communication amount / link bandwidth */
if (communication_amount == 0.0)
return 0.0;
if (communication_amount == 0.0)
return 0.0;
- links = SD_workstation_route_get_list(src, dst);
- nb_links = SD_workstation_route_get_size(src, dst);
+ links = SD_route_get_list(src, dst);
+ nb_links = SD_route_get_size(src, dst);
min_bandwidth = -1.0;
latency = 0;
min_bandwidth = -1.0;
latency = 0;