X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/25a83061ae2c4418c119fb6e47956793183f9c57..e292a614483e53608932312a1c68a87063ea8600:/src/surf/sg_platf.cpp diff --git a/src/surf/sg_platf.cpp b/src/surf/sg_platf.cpp index 11bbd1879e..e3898d17b7 100644 --- a/src/surf/sg_platf.cpp +++ b/src/surf/sg_platf.cpp @@ -73,8 +73,7 @@ void sg_platf_exit(void) { /** @brief Add an "host" to the current AS */ void sg_platf_new_host(sg_platf_host_cbarg_t host) { - xbt_assert(! sg_host_by_name(host->id), - "Refusing to create a second host named '%s'.", host->id); + xbt_assert(! sg_host_by_name(host->id), "Refusing to create a second host named '%s'.", host->id); simgrid::surf::AsImpl* current_routing = routing_get_current(); if (current_routing->hierarchy_ == simgrid::surf::AsImpl::RoutingMode::unset) @@ -112,12 +111,13 @@ void sg_platf_new_host(sg_platf_host_cbarg_t host) XBT_DEBUG("Having set host coordinates for '%s'",host->id); } - simgrid::surf::Cpu *cpu = surf_cpu_model_pm->createCpu( h, - host->speed_peak, - host->speed_trace, - host->core_amount, - host->state_trace); + host->speed_per_pstate, + host->core_amount); + if (host->state_trace) + cpu->setStateTrace(host->state_trace); + if (host->speed_trace) + cpu->setSpeedTrace(host->speed_trace); surf_host_model->createHost(host->id, netcard, cpu, host->properties)->attach(h); if (host->pstate != 0) @@ -141,7 +141,8 @@ void sg_platf_new_router(sg_platf_router_cbarg_t router) xbt_assert(nullptr == xbt_lib_get_or_null(as_router_lib, router->id, ROUTING_ASR_LEVEL), "Refusing to create a router named '%s': this name already describes a node.", router->id); - simgrid::surf::NetCard *netcard = new simgrid::surf::NetCardImpl(router->id, SURF_NETWORK_ELEMENT_ROUTER, current_routing); + simgrid::surf::NetCard *netcard = + new simgrid::surf::NetCardImpl(router->id, SURF_NETWORK_ELEMENT_ROUTER, current_routing); netcard->setId(current_routing->addComponent(netcard)); xbt_lib_set(as_router_lib, router->id, ROUTING_ASR_LEVEL, (void *) netcard); XBT_DEBUG("Having set name '%s' id '%d'", router->id, netcard->id()); @@ -287,15 +288,15 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster) XBT_DEBUG("\tstate_file=\"\""); } - host.speed_peak = xbt_dynar_new(sizeof(double), NULL); - xbt_dynar_push(host.speed_peak,&cluster->speed); + host.speed_per_pstate = xbt_dynar_new(sizeof(double), NULL); + xbt_dynar_push(host.speed_per_pstate,&cluster->speed); host.pstate = 0; //host.power_peak = cluster->power; host.core_amount = cluster->core_amount; host.coord = ""; sg_platf_new_host(&host); - xbt_dynar_free(&host.speed_peak); + xbt_dynar_free(&host.speed_per_pstate); XBT_DEBUG(""); XBT_DEBUG("", link_id, @@ -472,10 +473,10 @@ void sg_platf_new_cabinet(sg_platf_cabinet_cbarg_t cabinet) link_id = bprintf("link_%s%d%s",cabinet->prefix,i,cabinet->suffix); host.id = host_id; link.id = link_id; - host.speed_peak = xbt_dynar_new(sizeof(double), NULL); - xbt_dynar_push(host.speed_peak,&cabinet->speed); + host.speed_per_pstate = xbt_dynar_new(sizeof(double), NULL); + xbt_dynar_push(host.speed_per_pstate,&cabinet->speed); sg_platf_new_host(&host); - xbt_dynar_free(&host.speed_peak); + xbt_dynar_free(&host.speed_per_pstate); sg_platf_new_link(&link); char* link_up = bprintf("%s_UP",link_id); @@ -722,15 +723,15 @@ void sg_platf_new_peer(sg_platf_peer_cbarg_t peer) memset(&host, 0, sizeof(host)); host.id = host_id; - host.speed_peak = xbt_dynar_new(sizeof(double), NULL); - xbt_dynar_push(host.speed_peak,&peer->speed); + host.speed_per_pstate = xbt_dynar_new(sizeof(double), NULL); + xbt_dynar_push(host.speed_per_pstate,&peer->speed); host.pstate = 0; //host.power_peak = peer->power; host.speed_trace = peer->availability_trace; host.state_trace = peer->state_trace; host.core_amount = 1; sg_platf_new_host(&host); - xbt_dynar_free(&host.speed_peak); + xbt_dynar_free(&host.speed_per_pstate); s_sg_platf_link_cbarg_t link = SG_PLATF_LINK_INITIALIZER; memset(&link, 0, sizeof(link)); @@ -947,7 +948,7 @@ void sg_platf_new_AS_begin(sg_platf_AS_cbarg_t AS) void sg_platf_new_AS_end() { xbt_assert(current_routing, "Cannot seal the current AS: none under construction"); - current_routing->Seal(); + current_routing->seal(); current_routing = static_cast(current_routing->father()); if (TRACE_is_enabled())