X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f06041cf2c450457a0b47a49b66b19cb9133c18e..7d12748cce3a184f60108fa8b12e0f78c6971b77:/include/simgrid/simdag.h?ds=sidebyside diff --git a/include/simgrid/simdag.h b/include/simgrid/simdag.h index adcc3a0619..f29c9a8bac 100644 --- a/include/simgrid/simdag.h +++ b/include/simgrid/simdag.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2006-2010, 2012-2014. The SimGrid Team. +/* Copyright (c) 2006-2010, 2012-2015. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -11,6 +11,7 @@ #include "xbt/dynar.h" #include "xbt/dict.h" +#include "simgrid/link.h" SG_BEGIN_DECL() /** @brief Workstation datatype @@ -21,7 +22,7 @@ SG_BEGIN_DECL() resource with computing capabilities and has a name. @see SD_workstation_management */ -typedef xbt_dictelm_t SD_workstation_t; +typedef sg_host_t SD_workstation_t; /** @brief Workstation access mode @ingroup SD_datatypes_management @@ -38,11 +39,6 @@ typedef enum { SD_WORKSTATION_SEQUENTIAL_ACCESS /**< @brief Only one task can be executed, the others wait in a FIFO. */ } e_SD_workstation_access_mode_t; -typedef enum { - SD_LINK_SHARED, - SD_LINK_FATPIPE -} e_SD_link_sharing_policy_t; - /** @brief Link datatype @ingroup SD_datatypes_management @@ -51,7 +47,7 @@ typedef enum { links between two workstations. @see SD_link_management */ -typedef struct SD_link *SD_link_t; +typedef Link *SD_link_t; /** @brief Task datatype @ingroup SD_datatypes_management @@ -71,7 +67,7 @@ typedef struct SD_task *SD_task_t; @see SD_task_management */ typedef enum { SD_NOT_SCHEDULED = 0, /**< @brief Initial state (not valid for SD_watch and SD_unwatch). */ - SD_SCHEDULABLE = 0x0001, /**< @brief A task becomes SD_SCHEDULABLE as soon as its dependencies are satisfied */ + SD_SCHEDULABLE = 0x0001, /**< @brief A task becomes SD_SCHEDULABLE as soon as its dependencies are satisfied */ SD_SCHEDULED = 0x0002, /**< @brief A task becomes SD_SCHEDULED when you call function SD_task_schedule. SD_simulate will execute it when it becomes SD_RUNNABLE. */ SD_RUNNABLE = 0x0004, /**< @brief A scheduled task becomes runnable is SD_simulate as soon as its dependencies are satisfied. */ @@ -102,35 +98,6 @@ typedef enum { @see SD_storage_management */ typedef xbt_dictelm_t SD_storage_t; -/************************** AS handling *************************************/ -XBT_PUBLIC(xbt_dict_t) SD_as_router_get_properties(const char *as); -XBT_PUBLIC(const char*) SD_as_router_get_property_value(const char * as, - const char *name); - -/************************** Link handling ***********************************/ -/** @defgroup SD_link_management Links - * @brief Functions for managing the network links - * - * This section describes the functions for managing the network links. - * - * A link is a network node represented as a name, a current - * bandwidth and a current latency. The links are created - * when you call the function SD_create_environment. - * - * @see SD_link_t - * @{ - */ -XBT_PUBLIC(const SD_link_t *) SD_link_get_list(void); -XBT_PUBLIC(int) SD_link_get_number(void); -XBT_PUBLIC(void *) SD_link_get_data(SD_link_t link); -XBT_PUBLIC(void) SD_link_set_data(SD_link_t link, void *data); -XBT_PUBLIC(const char *) SD_link_get_name(SD_link_t link); -XBT_PUBLIC(double) SD_link_get_current_bandwidth(SD_link_t link); -XBT_PUBLIC(double) SD_link_get_current_latency(SD_link_t link); -XBT_PUBLIC(e_SD_link_sharing_policy_t) SD_link_get_sharing_policy(SD_link_t - link); -/** @} */ - /************************** Workstation handling ****************************/ /** @defgroup SD_workstation_management Workstations @@ -149,7 +116,7 @@ XBT_PUBLIC(e_SD_link_sharing_policy_t) SD_link_get_sharing_policy(SD_link_t */ XBT_PUBLIC(SD_workstation_t) SD_workstation_get_by_name(const char *name); XBT_PUBLIC(const SD_workstation_t *) SD_workstation_get_list(void); -XBT_PUBLIC(int) SD_workstation_get_number(void); +XBT_PUBLIC(int) SD_workstation_get_count(void); XBT_PUBLIC(void) SD_workstation_set_data(SD_workstation_t workstation, void *data); XBT_PUBLIC(void *) SD_workstation_get_data(SD_workstation_t workstation); @@ -167,8 +134,8 @@ XBT_PUBLIC(const SD_link_t *) SD_route_get_list(SD_workstation_t src, SD_workstation_t dst); XBT_PUBLIC(int) SD_route_get_size(SD_workstation_t src, SD_workstation_t dst); -XBT_PUBLIC(double) SD_workstation_get_power(SD_workstation_t workstation); -XBT_PUBLIC(double) SD_workstation_get_available_power(SD_workstation_t +XBT_PUBLIC(double) SD_workstation_get_speed(SD_workstation_t workstation); +XBT_PUBLIC(double) SD_workstation_get_available_speed(SD_workstation_t workstation); XBT_PUBLIC(int) SD_workstation_get_cores(SD_workstation_t workstation); XBT_PUBLIC(e_SD_workstation_access_mode_t) @@ -180,9 +147,9 @@ XBT_PUBLIC(void) SD_workstation_set_access_mode(SD_workstation_t XBT_PUBLIC(double) SD_workstation_get_computation_time(SD_workstation_t workstation, double flops_amount); -XBT_PUBLIC(double) SD_route_get_current_latency(SD_workstation_t src, +XBT_PUBLIC(double) SD_route_get_latency(SD_workstation_t src, SD_workstation_t dst); -XBT_PUBLIC(double) SD_route_get_current_bandwidth(SD_workstation_t src, +XBT_PUBLIC(double) SD_route_get_bandwidth(SD_workstation_t src, SD_workstation_t dst); XBT_PUBLIC(double) SD_route_get_communication_time(SD_workstation_t src, SD_workstation_t dst, @@ -232,8 +199,8 @@ XBT_PUBLIC(double) SD_task_get_execution_time(SD_task_t task, const SD_workstation_t * workstation_list, const double *flops_amount, - const double *bytes_amount); -XBT_PUBLIC(int) SD_task_get_kind(SD_task_t task); + const double *bytes_amount); +XBT_PUBLIC(e_SD_task_kind_t) SD_task_get_kind(SD_task_t task); XBT_PUBLIC(void) SD_task_schedule(SD_task_t task, int workstation_nb, const SD_workstation_t * workstation_list, @@ -308,7 +275,7 @@ XBT_PUBLIC(int) SD_task_dependency_exists(SD_task_t src, SD_task_t dst); /** @defgroup SD_simulation Simulation * @brief Functions for creating the environment and launching the simulation * - * This section describes the functions for initialising SimDag, launching + * This section describes the functions for initializing SimDag, launching * the simulation and exiting SimDag. * * @{ @@ -328,7 +295,8 @@ XBT_PUBLIC(void) uniq_transfer_task_name(SD_task_t task); /** @} */ +SG_END_DECL() + #include "simgrid/instr.h" -SG_END_DECL() #endif