X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cf6462fa490b741ba5c0b5fd6bb64838d9093fd1..6604439f3437486f84c0e239f28b162662631127:/src/simdag/sd_global.c diff --git a/src/simdag/sd_global.c b/src/simdag/sd_global.c index 89edfedbce..afc5da5e38 100644 --- a/src/simdag/sd_global.c +++ b/src/simdag/sd_global.c @@ -4,71 +4,64 @@ #include "xbt/sysdep.h" #include "surf/surf.h" -#define CHECK_INIT_DONE() xbt_assert0(init_done, "SG_init not called yet") +SD_global_t sd_global = NULL; -SG_global_t sg_global = NULL; - -static int init_done = 0; - -/* Initialises SG internal data. This function should be called before any other SG function. +/* Initialises SD internal data. This function should be called before any other SD function. */ -void SG_init(int *argc, char **argv) { - xbt_assert0(!init_done, "SG_init already called"); +void SD_init(int *argc, char **argv) { + xbt_assert0(sd_global == NULL, "SD_init already called"); - sg_global = xbt_new0(s_SG_global_t, 1); - sg_global->workstations = xbt_dict_new(); - sg_global->workstation_count = 0; + sd_global = xbt_new0(s_SD_global_t, 1); + sd_global->workstations = xbt_dict_new(); + sd_global->workstation_count = 0; surf_init(argc, argv); - - init_done = 1; } /* Creates the environnement described in a xml file of a platform descriptions. */ -void SG_create_environment(const char *platform_file) { +void SD_create_environment(const char *platform_file) { xbt_dict_cursor_t cursor = NULL; char *name = NULL; - void *workstation = NULL; + void *surf_workstation = NULL; CHECK_INIT_DONE(); surf_timer_resource_init(platform_file); surf_workstation_resource_init_KCCFLN05(platform_file); /* tell Surf to create the environnement */ - /* now let's create the SG wrappers */ - xbt_dict_foreach(workstation_set, cursor, name, workstation) { - __SG_workstation_create(name, workstation, NULL); + /* now let's create the SD wrappers */ + xbt_dict_foreach(workstation_set, cursor, name, surf_workstation) { + __SD_workstation_create(surf_workstation, NULL); } } -/* Launches the simulation. Returns a NULL-terminated array of SG_task_t whose state has changed. +/* Launches the simulation. Returns a NULL-terminated array of SD_task_t whose state has changed. */ -SG_task_t* SG_simulate(double how_long) +SD_task_t* SD_simulate(double how_long) { /* TODO */ - /* temporary test to access to the surf workstation structure */ + /* temporary test to explore the workstations */ xbt_dict_cursor_t cursor = NULL; char *name = NULL; - void *workstation = NULL; - const char *surf_name; - int speed; + SD_workstation_t workstation = NULL; + double power; - xbt_dict_foreach(workstation_set, cursor, name, workstation) { - surf_name = surf_workstation_resource->common_public->get_resource_name(workstation); - speed = surf_workstation_resource->extension_public->get_speed(workstation, 1.0); - printf("Workstation name: %s, Surf name: %s, speed: %d\n", name, surf_name, speed); + xbt_dict_foreach(sd_global->workstations, cursor, name, workstation) { + power = SD_workstation_get_power(workstation); + printf("Workstation name: %s, power: %f Mflop/s\n", name, power); } + /* TODO: remove name from SD workstation structure */ return NULL; } -/* Destroys all SG data. This function should be called when the simulation is over. +/* Destroys all SD data. This function should be called when the simulation is over. */ -void SG_clean() { - if (init_done) { - xbt_dict_free(&sg_global->workstations); - xbt_free(sg_global); +void SD_clean() { + if (sd_global != NULL) { + xbt_dict_free(&sd_global->workstations); + xbt_free(sd_global); surf_exit(); /* TODO: destroy the workstations, the links and the tasks */ }