static void cpu_free(void *cpu)
{
- xbt_free(((cpu_t)cpu)->name);
+ xbt_free(((cpu_Cas01_t)cpu)->name);
xbt_free(cpu);
}
-static cpu_t cpu_new(char *name, double power_scale,
+static cpu_Cas01_t cpu_new(char *name, double power_scale,
double power_initial,
tmgr_trace_t power_trace,
e_surf_cpu_state_t state_initial,
tmgr_trace_t state_trace)
{
- cpu_t cpu = xbt_new0(s_cpu_t, 1);
+ cpu_Cas01_t cpu = xbt_new0(s_cpu_Cas01_t, 1);
cpu->resource = (surf_resource_t) surf_cpu_resource;
cpu->name = name;
static const char *get_resource_name(void *resource_id)
{
- return ((cpu_t) resource_id)->name;
+ return ((cpu_Cas01_t) resource_id)->name;
}
static int resource_used(void *resource_id)
{
return lmm_constraint_used(maxmin_system,
- ((cpu_t) resource_id)->constraint);
+ ((cpu_Cas01_t) resource_id)->constraint);
}
static void action_free(surf_action_t action)
{
xbt_swag_remove(action, action->state_set);
- if(((surf_action_cpu_t)action)->variable)
- lmm_variable_free(maxmin_system, ((surf_action_cpu_t)action)->variable);
+ if(((surf_action_cpu_Cas01_t)action)->variable)
+ lmm_variable_free(maxmin_system, ((surf_action_cpu_Cas01_t)action)->variable);
xbt_free(action);
return;
e_surf_action_state_t state)
{
if((state==SURF_ACTION_DONE) || (state==SURF_ACTION_FAILED))
- if(((surf_action_cpu_t)action)->variable) {
- lmm_variable_disable(maxmin_system, ((surf_action_cpu_t)action)->variable);
- ((surf_action_cpu_t)action)->variable = NULL;
+ if(((surf_action_cpu_Cas01_t)action)->variable) {
+ lmm_variable_disable(maxmin_system, ((surf_action_cpu_Cas01_t)action)->variable);
+ ((surf_action_cpu_Cas01_t)action)->variable = NULL;
}
surf_action_change_state(action, state);
static double share_resources(double now)
{
- s_surf_action_cpu_t action;
+ s_surf_action_cpu_Cas01_t action;
return generic_maxmin_share_resources(surf_cpu_resource->common_public->
states.running_action_set,
xbt_swag_offset(action, variable));
static void update_actions_state(double now, double delta)
{
- surf_action_cpu_t action = NULL;
- surf_action_cpu_t next_action = NULL;
+ surf_action_cpu_Cas01_t action = NULL;
+ surf_action_cpu_Cas01_t next_action = NULL;
xbt_swag_t running_actions =
surf_cpu_resource->common_public->states.running_action_set;
xbt_swag_t failed_actions =
} else { /* Need to check that none of the resource has failed */
lmm_constraint_t cnst = NULL;
int i = 0;
- cpu_t cpu = NULL;
+ cpu_Cas01_t cpu = NULL;
while ((cnst =
lmm_get_cnst_from_var(maxmin_system, action->variable,
tmgr_trace_event_t event_type,
double value)
{
- cpu_t cpu = id;
+ cpu_Cas01_t cpu = id;
if (event_type == cpu->power_event) {
cpu->power_current = value;
static surf_action_t execute(void *cpu, double size)
{
- surf_action_cpu_t action = NULL;
- cpu_t CPU = cpu;
+ surf_action_cpu_Cas01_t action = NULL;
+ cpu_Cas01_t CPU = cpu;
- action = xbt_new0(s_surf_action_cpu_t, 1);
+ action = xbt_new0(s_surf_action_cpu_Cas01_t, 1);
action->generic_action.cost = size;
action->generic_action.remains = size;
static surf_action_t action_sleep(void *cpu, double duration)
{
- surf_action_cpu_t action = NULL;
+ surf_action_cpu_Cas01_t action = NULL;
- action = (surf_action_cpu_t) execute(cpu, 1.0);
+ action = (surf_action_cpu_Cas01_t) execute(cpu, 1.0);
action->generic_action.max_duration = duration;
lmm_update_variable_weight(maxmin_system, action->variable, 0.0);
static void action_suspend(surf_action_t action)
{
lmm_update_variable_weight(maxmin_system,
- ((surf_action_cpu_t) action)->variable, 0.0);
+ ((surf_action_cpu_Cas01_t) action)->variable, 0.0);
}
static void action_resume(surf_action_t action)
{
lmm_update_variable_weight(maxmin_system,
- ((surf_action_cpu_t) action)->variable, 1.0);
+ ((surf_action_cpu_Cas01_t) action)->variable, 1.0);
}
static int action_is_suspended(surf_action_t action)
{
- return (lmm_get_variable_weight(((surf_action_cpu_t) action)->variable) == 0.0);
+ return (lmm_get_variable_weight(((surf_action_cpu_Cas01_t) action)->variable) == 0.0);
}
static e_surf_cpu_state_t get_state(void *cpu)
{
- return ((cpu_t) cpu)->state_current;
+ return ((cpu_Cas01_t) cpu)->state_current;
}
static void finalize(void)
#include "surf_private.h"
#include "xbt/dict.h"
-typedef struct surf_action_cpu {
+typedef struct surf_action_cpu_Cas01 {
s_surf_action_t generic_action;
lmm_variable_t variable;
-} s_surf_action_cpu_t, *surf_action_cpu_t;
+} s_surf_action_cpu_Cas01_t, *surf_action_cpu_Cas01_t;
-typedef struct cpu {
+typedef struct cpu_Cas01 {
surf_resource_t resource; /* Any such object, added in a trace
should start by this field!!! */
char *name;
e_surf_cpu_state_t state_current;
tmgr_trace_event_t state_event;
lmm_constraint_t constraint;
-} s_cpu_t, *cpu_t;
+} s_cpu_Cas01_t, *cpu_Cas01_t;
extern xbt_dict_t cpu_set;
xbt_dict_t network_card_set = NULL;
static int card_number = 0;
-static network_link_t **routing_table = NULL;
+static network_link_CM02_t **routing_table = NULL;
static int *routing_table_size = NULL;
#define ROUTE(i,j) routing_table[(i)+(j)*card_number]
static void create_routing_table(void)
{
- routing_table = xbt_new0(network_link_t *, card_number * card_number);
+ routing_table = xbt_new0(network_link_CM02_t *, card_number * card_number);
routing_table_size = xbt_new0(int, card_number * card_number);
}
static void network_link_free(void *nw_link)
{
- xbt_free(((network_link_t)nw_link)->name);
+ xbt_free(((network_link_CM02_t)nw_link)->name);
xbt_free(nw_link);
}
-static network_link_t network_link_new(char *name,
+static network_link_CM02_t network_link_new(char *name,
double bw_initial,
tmgr_trace_t bw_trace,
double lat_initial,
state_initial,
tmgr_trace_t state_trace)
{
- network_link_t nw_link = xbt_new0(s_network_link_t, 1);
+ network_link_CM02_t nw_link = xbt_new0(s_network_link_CM02_t, 1);
nw_link->resource = (surf_resource_t) surf_network_resource;
static void network_card_free(void *nw_card)
{
- xbt_free(((network_card_t)nw_card)->name);
+ xbt_free(((network_card_CM02_t)nw_card)->name);
xbt_free(nw_card);
}
static int network_card_new(const char *card_name)
{
- network_card_t card = NULL;
+ network_card_CM02_t card = NULL;
xbt_dict_get(network_card_set, card_name, (void *) &card);
if (!card) {
- card = xbt_new0(s_network_card_t, 1);
+ card = xbt_new0(s_network_card_CM02_t, 1);
card->name = xbt_strdup(card_name);
card->id = card_number++;
xbt_dict_set(network_card_set, card_name, card, network_card_free);
static void route_new(int src_id, int dst_id, char **links, int nb_link)
{
- network_link_t *link_list = NULL;
+ network_link_CM02_t *link_list = NULL;
int i;
ROUTE_SIZE(src_id, dst_id) = nb_link;
- link_list = (ROUTE(src_id, dst_id) = xbt_new0(network_link_t, nb_link));
+ link_list = (ROUTE(src_id, dst_id) = xbt_new0(network_link_CM02_t, nb_link));
for (i = 0; i < nb_link; i++) {
xbt_dict_get(network_link_set, links[i], (void *) &(link_list[i]));
xbt_free(links[i]);
static void *name_service(const char *name)
{
- network_card_t card = NULL;
+ network_card_CM02_t card = NULL;
xbt_dict_get(network_card_set, name, (void *) &card);
static const char *get_resource_name(void *resource_id)
{
- return ((network_card_t) resource_id)->name;
+ return ((network_card_CM02_t) resource_id)->name;
}
static int resource_used(void *resource_id)
{
return lmm_constraint_used(maxmin_system,
- ((network_link_t) resource_id)->constraint);
+ ((network_link_CM02_t) resource_id)->constraint);
}
static void action_free(surf_action_t action)
{
xbt_swag_remove(action, action->state_set);
- if(((surf_action_network_t)action)->variable)
- lmm_variable_free(maxmin_system, ((surf_action_network_t)action)->variable);
+ if(((surf_action_network_CM02_t)action)->variable)
+ lmm_variable_free(maxmin_system, ((surf_action_network_CM02_t)action)->variable);
xbt_free(action);
return;
e_surf_action_state_t state)
{
if((state==SURF_ACTION_DONE) || (state==SURF_ACTION_FAILED))
- if(((surf_action_network_t)action)->variable) {
- lmm_variable_disable(maxmin_system, ((surf_action_network_t)action)->variable);
- ((surf_action_network_t)action)->variable = NULL;
+ if(((surf_action_network_CM02_t)action)->variable) {
+ lmm_variable_disable(maxmin_system, ((surf_action_network_CM02_t)action)->variable);
+ ((surf_action_network_CM02_t)action)->variable = NULL;
}
surf_action_change_state(action, state);
static double share_resources(double now)
{
- s_surf_action_network_t s_action;
- surf_action_network_t action = NULL;
+ s_surf_action_network_CM02_t s_action;
+ surf_action_network_CM02_t action = NULL;
xbt_swag_t running_actions = surf_network_resource->common_public->states.running_action_set;
double min = generic_maxmin_share_resources(running_actions,
xbt_swag_offset(s_action, variable));
return min;
}
-
static void update_actions_state(double now, double delta)
{
double deltap = 0.0;
- surf_action_network_t action = NULL;
- surf_action_network_t next_action = NULL;
+ surf_action_network_CM02_t action = NULL;
+ surf_action_network_CM02_t next_action = NULL;
xbt_swag_t running_actions =
surf_network_resource->common_public->states.running_action_set;
xbt_swag_t failed_actions =
} else { /* Need to check that none of the resource has failed */
lmm_constraint_t cnst = NULL;
int i = 0;
- network_link_t nw_link = NULL;
+ network_link_CM02_t nw_link = NULL;
while ((cnst =
lmm_get_cnst_from_var(maxmin_system, action->variable,
tmgr_trace_event_t event_type,
double value)
{
- network_link_t nw_link = id;
+ network_link_CM02_t nw_link = id;
/* printf("[" "%lg" "] Asking to update network card \"%s\" with value " */
/* "%lg" " for event %p\n", surf_get_clock(), nw_link->name, */
/* value, event_type); */
} else if (event_type == nw_link->lat_event) {
double delta = value - nw_link->lat_current;
lmm_variable_t var = NULL;
- surf_action_network_t action = NULL;
+ surf_action_network_CM02_t action = NULL;
nw_link->lat_current = value;
while (lmm_get_var_from_cnst(maxmin_system, nw_link->constraint, &var)) {
static surf_action_t communicate(void *src, void *dst, double size, double rate)
{
- surf_action_network_t action = NULL;
- network_card_t card_src = src;
- network_card_t card_dst = dst;
+ surf_action_network_CM02_t action = NULL;
+ network_card_CM02_t card_src = src;
+ network_card_CM02_t card_dst = dst;
int route_size = ROUTE_SIZE(card_src->id, card_dst->id);
- network_link_t *route = ROUTE(card_src->id, card_dst->id);
+ network_link_CM02_t *route = ROUTE(card_src->id, card_dst->id);
int i;
- action = xbt_new0(s_surf_action_network_t, 1);
+ action = xbt_new0(s_surf_action_network_CM02_t, 1);
action->generic_action.cost = size;
action->generic_action.remains = size;
static void action_suspend(surf_action_t action)
{
- ((surf_action_network_t) action)->suspended = 1;
+ ((surf_action_network_CM02_t) action)->suspended = 1;
lmm_update_variable_weight(maxmin_system,
- ((surf_action_network_t) action)->variable, 0.0);
+ ((surf_action_network_CM02_t) action)->variable, 0.0);
}
static void action_resume(surf_action_t action)
{
lmm_update_variable_weight(maxmin_system,
- ((surf_action_network_t) action)->variable, 1.0);
- ((surf_action_network_t) action)->suspended = 0;
+ ((surf_action_network_CM02_t) action)->variable, 1.0);
+ ((surf_action_network_CM02_t) action)->suspended = 0;
}
static int action_is_suspended(surf_action_t action)
{
- return ((surf_action_network_t) action)->suspended;
+ return ((surf_action_network_CM02_t) action)->suspended;
}
static void finalize(void)
#include "surf_private.h"
#include "xbt/dict.h"
-typedef enum {
- SURF_NETWORK_LINK_ON = 1, /* Ready */
- SURF_NETWORK_LINK_OFF = 0 /* Running */
-} e_surf_network_link_state_t;
-
-typedef struct network_link {
+typedef struct network_link_CM02 {
surf_resource_t resource; /* Any such object, added in a trace
should start by this field!!! */
/* Using this object with the public part of
e_surf_network_link_state_t state_current;
tmgr_trace_event_t state_event;
lmm_constraint_t constraint;
-} s_network_link_t, *network_link_t;
+} s_network_link_CM02_t, *network_link_CM02_t;
-typedef struct network_card {
+typedef struct network_card_CM02 {
char *name;
int id;
-} s_network_card_t, *network_card_t;
+} s_network_card_CM02_t, *network_card_CM02_t;
-typedef struct surf_action_network {
+typedef struct surf_action_network_CM02 {
s_surf_action_t generic_action;
double latency;
double lat_current;
lmm_variable_t variable;
double rate;
int suspended;
- network_card_t src;
- network_card_t dst;
-} s_surf_action_network_t, *surf_action_network_t;
+ network_card_CM02_t src;
+ network_card_CM02_t dst;
+} s_surf_action_network_CM02_t, *surf_action_network_CM02_t;
extern xbt_dict_t network_card_set;
#define NO_MAX_DURATION -1.0
+typedef enum {
+ SURF_NETWORK_LINK_ON = 1, /* Ready */
+ SURF_NETWORK_LINK_OFF = 0 /* Running */
+} e_surf_network_link_state_t;
+
typedef struct surf_resource_private {
int (*resource_used) (void *resource_id);
/* Share the resources to the actions and return in hom much time
xbt_dict_t workstation_set = NULL;
-static workstation_t workstation_new(const char *name,
+static workstation_CLM03_t workstation_new(const char *name,
void *cpu, void *card)
{
- workstation_t workstation = xbt_new0(s_workstation_t, 1);
+ workstation_CLM03_t workstation = xbt_new0(s_workstation_CLM03_t, 1);
workstation->resource = (surf_resource_t) surf_workstation_resource;
workstation->name = xbt_strdup(name);
static void workstation_free(void *workstation)
{
- xbt_free(((workstation_t)workstation)->name);
+ xbt_free(((workstation_CLM03_t)workstation)->name);
xbt_free(workstation);
}
static const char *get_resource_name(void *resource_id)
{
- return ((workstation_t) resource_id)->name;
+ return ((workstation_CLM03_t) resource_id)->name;
}
static int resource_used(void *resource_id)
static surf_action_t execute(void *workstation, double size)
{
return surf_cpu_resource->extension_public->
- execute(((workstation_t) workstation)->cpu, size);
+ execute(((workstation_CLM03_t) workstation)->cpu, size);
}
static surf_action_t action_sleep(void *workstation, double duration)
{
return surf_cpu_resource->extension_public->
- sleep(((workstation_t) workstation)->cpu, duration);
+ sleep(((workstation_CLM03_t) workstation)->cpu, duration);
}
static void action_suspend(surf_action_t action)
double rate)
{
return surf_network_resource->extension_public->
- communicate(((workstation_t) workstation_src)->network_card,
- ((workstation_t) workstation_dst)->network_card, size, rate);
+ communicate(((workstation_CLM03_t) workstation_src)->network_card,
+ ((workstation_CLM03_t) workstation_dst)->network_card, size, rate);
}
static e_surf_cpu_state_t get_state(void *workstation)
{
return surf_cpu_resource->extension_public->
- get_state(((workstation_t) workstation)->cpu);
+ get_state(((workstation_CLM03_t) workstation)->cpu);
}
static void finalize(void)
#define _SURF_WORKSTATION_KCCFLN05_PRIVATE_H
#include "surf_private.h"
-#include "network_private.h"
/**************************************/
/********* workstation object *********/
#include "surf_private.h"
-typedef struct workstation {
+typedef struct workstation_CLM03 {
surf_resource_t resource; /* Any such object, added in a trace
should start by this field!!! */
char *name;
void *cpu;
void *network_card;
-} s_workstation_t, *workstation_t;
+} s_workstation_CLM03_t, *workstation_CLM03_t;
#endif /* _SURF_WORKSTATION_PRIVATE_H */