-/* $Id$ */
-
-/* Copyright (c) 2007 Arnaud Legrand. All rights reserved. */
+/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team.
+ * All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
for (i = 0; i < workstation_nb; i++) {
for (j = 0; j < workstation_nb; j++) {
- cpu_L07_t card_src = action->workstation_list[i];
- cpu_L07_t card_dst = action->workstation_list[j];
- xbt_dynar_t route = used_routing->get_route(card_src->id, card_dst->id);
+// cpu_L07_t card_src = action->workstation_list[i]; // COMMENTED BY DAVID
+// cpu_L07_t card_dst = action->workstation_list[j]; // COMMENTED BY DAVID
+ xbt_dynar_t route = NULL;// used_routing->get_route(card_src->id, card_dst->id); // COMMENTED BY DAVID
double lat = 0.0;
if (action->communication_amount[i * workstation_nb + j] > 0) {
surf_workstation_model = NULL;
surf_model_exit(surf_network_model);
surf_network_model = NULL;
- used_routing->finalize();
+ // used_routing->finalize(); // COMMENTED BY DAVID
+ global_routing->finalize();
ptask_host_count = 0;
/* Compute the number of affected resources... */
for (i = 0; i < workstation_nb; i++) {
for (j = 0; j < workstation_nb; j++) {
- cpu_L07_t card_src = workstation_list[i];
- cpu_L07_t card_dst = workstation_list[j];
+// cpu_L07_t card_src = workstation_list[i]; // COMMENTED BY DAVID
+// cpu_L07_t card_dst = workstation_list[j]; // COMMENTED BY DAVID
link_L07_t link;
- xbt_dynar_t route = used_routing->get_route(card_src->id, card_dst->id);
+ xbt_dynar_t route = NULL; //used_routing->get_route(card_src->id, card_dst->id); // COMMENTED BY DAVID
double lat = 0.0;
if (communication_amount[i * workstation_nb + j] > 0)
for (i = 0; i < workstation_nb; i++) {
for (j = 0; j < workstation_nb; j++) {
- cpu_L07_t card_src = workstation_list[i];
- cpu_L07_t card_dst = workstation_list[j];
+// cpu_L07_t card_src = workstation_list[i]; // COMMENTED BY DAVID
+// cpu_L07_t card_dst = workstation_list[j]; // COMMENTED BY DAVID
link_L07_t link;
- xbt_dynar_t route = used_routing->get_route(card_src->id, card_dst->id);
+ xbt_dynar_t route = NULL;// used_routing->get_route(card_src->id, card_dst->id); // COMMENTED BY DAVID
if (communication_amount[i * workstation_nb + j] == 0.0)
continue;
static xbt_dynar_t ptask_get_route(void *src, void *dst)
{
- cpu_L07_t host_src = src;
- cpu_L07_t host_dst = dst;
+// cpu_L07_t host_src = src; // COMMENTED BY DAVID
+// cpu_L07_t host_dst = dst; // COMMENTED BY DAVID
- return used_routing->get_route(host_src->id, host_dst->id);
+ return NULL;// used_routing->get_route(host_src->id, host_dst->id); // COMMENTED BY DAVID
}
static double ptask_get_link_bandwidth(const void *link)
state_initial, state_trace, current_property_set);
}
+static void ptask_cpu_create_resource(char *name, double power_peak,
+ double power_scale,
+ tmgr_trace_t power_trace,
+ e_surf_resource_state_t state_initial,
+ tmgr_trace_t state_trace,
+ xbt_dict_t cpu_properties)
+{
+ ptask_cpu_new(xbt_strdup(name),power_peak,power_scale,power_trace,
+ state_initial,state_trace,cpu_properties);
+}
+
static link_L07_t ptask_link_new(char *name,
double bw_initial,
tmgr_trace_t bw_trace,
current_property_set);
}
+static void ptask_link_create_resource(char *name,
+ double bw_initial,
+ tmgr_trace_t bw_trace,
+ double lat_initial,
+ tmgr_trace_t lat_trace,
+ e_surf_resource_state_t
+ state_initial,
+ tmgr_trace_t state_trace,
+ e_surf_link_sharing_policy_t
+ policy, xbt_dict_t properties)
+{
+
+ ptask_link_new(name, bw_initial, bw_trace,
+ lat_initial, lat_trace, state_initial, state_trace,policy, xbt_dict_new());
+}
+
+
static void ptask_add_traces(void)
{
xbt_dict_cursor_t cursor = NULL;
surfxml_add_callback(ETag_surfxml_platform_cb_list, &ptask_add_traces);
}
-
/**************************************/
/********* Module creation ***********/
/**************************************/
ptask_update_resource_state;
surf_workstation_model->model_private->finalize = ptask_finalize;
+
surf_workstation_model->extension.workstation.execute = ptask_execute;
surf_workstation_model->extension.workstation.sleep = ptask_action_sleep;
surf_workstation_model->extension.workstation.get_state =
surf_workstation_model->extension.workstation.link_shared = ptask_link_shared;
surf_workstation_model->extension.workstation.get_properties =
surf_resource_properties;
-
+ surf_workstation_model->extension.workstation.link_create_resource =
+ ptask_link_create_resource;
+ surf_workstation_model->extension.workstation.cpu_create_resource =
+ ptask_cpu_create_resource;
+ surf_workstation_model->extension.workstation.add_traces = ptask_add_traces;
if (!ptask_maxmin_system)
ptask_maxmin_system = lmm_system_new();
/**************************************/
void surf_workstation_model_init_ptask_L07(const char *filename)
{
+ INFO0("surf_workstation_model_init_ptask_L07");
xbt_assert0(!surf_cpu_model, "CPU model type already defined");
xbt_assert0(!surf_network_model, "network model type already defined");
surf_network_model = surf_model_init();