A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added the lazy management improvement for network models.
[simgrid.git]
/
src
/
surf
/
network_constant.c
diff --git
a/src/surf/network_constant.c
b/src/surf/network_constant.c
index
10e25fd
..
bf73baf
100644
(file)
--- a/
src/surf/network_constant.c
+++ b/
src/surf/network_constant.c
@@
-52,20
+52,11
@@
static void netcste_action_cancel(surf_action_t action)
return;
}
return;
}
-static void netcste_action_recycle(surf_action_t action)
-{
- return;
-}
-
-static double netcste_action_get_remains(surf_action_t action)
-{
- return action->remains;
-}
-
static double netcste_share_resources(double now)
{
surf_action_network_Constant_t action = NULL;
static double netcste_share_resources(double now)
{
surf_action_network_Constant_t action = NULL;
- xbt_swag_t running_actions = surf_network_model->states.running_action_set;
+ xbt_swag_t running_actions =
+ surf_network_model->states.running_action_set;
double min = -1.0;
xbt_swag_foreach(action, running_actions) {
double min = -1.0;
xbt_swag_foreach(action, running_actions) {
@@
-84,7
+75,8
@@
static void netcste_update_actions_state(double now, double delta)
{
surf_action_network_Constant_t action = NULL;
surf_action_network_Constant_t next_action = NULL;
{
surf_action_network_Constant_t action = NULL;
surf_action_network_Constant_t next_action = NULL;
- xbt_swag_t running_actions = surf_network_model->states.running_action_set;
+ xbt_swag_t running_actions =
+ surf_network_model->states.running_action_set;
xbt_swag_foreach_safe(action, next_action, running_actions) {
if (action->latency > 0) {
xbt_swag_foreach_safe(action, next_action, running_actions) {
if (action->latency > 0) {
@@
-113,22
+105,23
@@
static void netcste_update_actions_state(double now, double delta)
}
static void netcste_update_resource_state(void *id,
}
static void netcste_update_resource_state(void *id,
- tmgr_trace_event_t event_type,
- double value, double time)
+
tmgr_trace_event_t event_type,
+
double value, double time)
{
DIE_IMPOSSIBLE;
}
{
DIE_IMPOSSIBLE;
}
-static surf_action_t netcste_communicate(const char *src_name, const char *dst_name,
- int src, int dst, double size, double rate)
+static surf_action_t netcste_communicate(const char *src_name,
+ const char *dst_name, double size,
+ double rate)
{
surf_action_network_Constant_t action = NULL;
XBT_IN4("(%s,%s,%g,%g)", src_name, dst_name, size, rate);
action =
{
surf_action_network_Constant_t action = NULL;
XBT_IN4("(%s,%s,%g,%g)", src_name, dst_name, size, rate);
action =
- surf_action_new(sizeof(s_surf_action_network_Constant_t), size,
- surf_network_model, 0);
+
surf_action_new(sizeof(s_surf_action_network_Constant_t), size,
+
surf_network_model, 0);
action->suspended = 0;
action->suspended = 0;
@@
-137,7
+130,7
@@
static surf_action_t netcste_communicate(const char *src_name, const char *dst_n
if (action->latency <= 0.0) {
action->generic_action.state_set =
if (action->latency <= 0.0) {
action->generic_action.state_set =
- surf_network_model->states.done_action_set;
+
surf_network_model->states.done_action_set;
xbt_swag_insert(action, action->generic_action.state_set);
}
xbt_swag_insert(action, action->generic_action.state_set);
}
@@
-183,11
+176,6
@@
static int netcste_action_is_suspended(surf_action_t action)
return ((surf_action_network_Constant_t) action)->suspended;
}
return ((surf_action_network_Constant_t) action)->suspended;
}
-static void netcste_action_set_max_duration(surf_action_t action, double duration)
-{
- action->max_duration = duration;
-}
-
static void netcste_finalize(void)
{
surf_model_exit(surf_network_model);
static void netcste_finalize(void)
{
surf_model_exit(surf_network_model);
@@
-203,30
+191,34
@@
void surf_network_model_init_Constant(const char *filename)
return;
surf_network_model = surf_model_init();
return;
surf_network_model = surf_model_init();
- INFO0("Blah");
surf_network_model->name = "constant time network";
surf_network_model->action_unref = netcste_action_unref;
surf_network_model->action_cancel = netcste_action_cancel;
surf_network_model->name = "constant time network";
surf_network_model->action_unref = netcste_action_unref;
surf_network_model->action_cancel = netcste_action_cancel;
- surf_network_model->action_recycle = netcste_action_recycle;
- surf_network_model->get_remains = netcste_action_get_remains;
+ surf_network_model->action_recycle = net_action_recycle;
+ surf_network_model->get_remains = net_action_get_remains;
+#ifdef HAVE_LATENCY_BOUND_TRACKING
+ surf_network_model->get_latency_limited = net_get_link_latency_limited;
+#endif
surf_network_model->model_private->resource_used = netcste_resource_used;
surf_network_model->model_private->resource_used = netcste_resource_used;
- surf_network_model->model_private->share_resources = netcste_share_resources;
+ surf_network_model->model_private->share_resources =
+ netcste_share_resources;
surf_network_model->model_private->update_actions_state =
surf_network_model->model_private->update_actions_state =
- netcste_update_actions_state;
+
netcste_update_actions_state;
surf_network_model->model_private->update_resource_state =
surf_network_model->model_private->update_resource_state =
- netcste_update_resource_state;
+
netcste_update_resource_state;
surf_network_model->model_private->finalize = netcste_finalize;
surf_network_model->suspend = netcste_action_suspend;
surf_network_model->resume = netcste_action_resume;
surf_network_model->is_suspended = netcste_action_is_suspended;
surf_network_model->model_private->finalize = netcste_finalize;
surf_network_model->suspend = netcste_action_suspend;
surf_network_model->resume = netcste_action_resume;
surf_network_model->is_suspended = netcste_action_is_suspended;
- surf_cpu_model->set_max_duration = net
cste
_action_set_max_duration;
+ surf_cpu_model->set_max_duration = net_action_set_max_duration;
surf_network_model->extension.network.communicate = netcste_communicate;
surf_network_model->extension.network.get_link_bandwidth =
surf_network_model->extension.network.communicate = netcste_communicate;
surf_network_model->extension.network.get_link_bandwidth =
- netcste_get_link_bandwidth;
- surf_network_model->extension.network.get_link_latency = netcste_get_link_latency;
+ netcste_get_link_bandwidth;
+ surf_network_model->extension.network.get_link_latency =
+ netcste_get_link_latency;
surf_network_model->extension.network.link_shared = link_shared;
if (!random_latency)
surf_network_model->extension.network.link_shared = link_shared;
if (!random_latency)
@@
-238,5
+230,5
@@
void surf_network_model_init_Constant(const char *filename)
"Constant", surf_network_model);
xbt_cfg_set_string(_surf_cfg_set, "routing", "none");
"Constant", surf_network_model);
xbt_cfg_set_string(_surf_cfg_set, "routing", "none");
- routing_model_create(sizeof(double), NULL);
+ routing_model_create(sizeof(double), NULL
, netcste_get_link_latency
);
}
}