Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fix CPU consumption tracing for parallel tasks
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Wed, 11 Jul 2018 17:27:01 +0000 (19:27 +0200)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Wed, 11 Jul 2018 17:27:01 +0000 (19:27 +0200)
src/instr/instr_platform.cpp

index 695fcb9..8591e80 100644 (file)
@@ -243,10 +243,11 @@ static void instr_action_on_state_change(simgrid::kernel::resource::Action* acti
         static_cast<simgrid::kernel::resource::Resource*>(action->get_variable()->get_constraint(i)->get_id());
     simgrid::surf::Cpu* cpu = dynamic_cast<simgrid::surf::Cpu*>(resource);
 
         static_cast<simgrid::kernel::resource::Resource*>(action->get_variable()->get_constraint(i)->get_id());
     simgrid::surf::Cpu* cpu = dynamic_cast<simgrid::surf::Cpu*>(resource);
 
-    if (cpu != nullptr)
-      TRACE_surf_resource_set_utilization("HOST", "power_used", cpu->get_cname(), action->get_category(),
-                                          action->get_variable()->get_value(), action->get_last_update(),
-                                          SIMIX_get_clock() - action->get_last_update());
+    if (cpu != nullptr) {
+      double value = action->get_variable()->get_value() * action->get_variable()->get_constraint_weight(i);
+      TRACE_surf_resource_set_utilization("HOST", "power_used", cpu->get_cname(), action->get_category(), value,
+                                          action->get_last_update(), SIMIX_get_clock() - action->get_last_update());
+    }
     simgrid::kernel::resource::LinkImpl* link = dynamic_cast<simgrid::kernel::resource::LinkImpl*>(resource);
 
     if (link != nullptr) {
     simgrid::kernel::resource::LinkImpl* link = dynamic_cast<simgrid::kernel::resource::LinkImpl*>(resource);
 
     if (link != nullptr) {