Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
inline a static function
[simgrid.git] / src / surf / vm_hl13.cpp
index 95bc2db..6e6e1f8 100644 (file)
@@ -42,11 +42,6 @@ VirtualMachine *VMHL13Model::createVM(const char *name, sg_host_t host_PM)
   return vm;
 }
 
-static inline double get_solved_value(CpuAction *cpu_action)
-{
-  return cpu_action->getVariable()->value;
-}
-
 /* In the real world, processes on the guest operating system will be somewhat
  * degraded due to virtualization overhead. The total CPU share that these
  * processes get is smaller than that of the VM process gets on a host
@@ -91,9 +86,9 @@ double VMHL13Model::shareResources(double now)
     Cpu *cpu = ws_vm->p_cpu;
     xbt_assert(cpu, "cpu-less host");
 
-    double solved_value = get_solved_value(ws_vm->p_action);
+    double solved_value = ws_vm->p_action->getVariable()->value;
     XBT_DEBUG("assign %f to vm %s @ pm %s", solved_value,
-        ws_vm->getName(), ws_vm->p_hostPM->getName().c_str());
+        ws_vm->getName(), ws_vm->p_hostPM->name().c_str());
 
     // TODO: check lmm_update_constraint_bound() works fine instead of the below manual substitution.
     // cpu_cas01->constraint->bound = solved_value;
@@ -127,39 +122,6 @@ double VMHL13Model::shareResources(double now)
   return ret;
 }
 
-Action *VMHL13Model::executeParallelTask(int host_nb,
-                                         sg_host_t *host_list,
-                                                                                double *flops_amount,
-                                                                                double *bytes_amount,
-                                                                                double rate){
-#define cost_or_zero(array,pos) ((array)?(array)[pos]:0.0)
-  if ((host_nb == 1)
-      && (cost_or_zero(bytes_amount, 0) == 0.0))
-    return host_list[0]->pimpl_cpu->execute(flops_amount[0]);
-  else if ((host_nb == 1)
-           && (cost_or_zero(flops_amount, 0) == 0.0))
-    return surf_network_model_communicate(surf_network_model, host_list[0], host_list[0],bytes_amount[0], rate);
-  else if ((host_nb == 2)
-             && (cost_or_zero(flops_amount, 0) == 0.0)
-             && (cost_or_zero(flops_amount, 1) == 0.0)) {
-    int i,nb = 0;
-    double value = 0.0;
-
-    for (i = 0; i < host_nb * host_nb; i++) {
-      if (cost_or_zero(bytes_amount, i) > 0.0) {
-        nb++;
-        value = cost_or_zero(bytes_amount, i);
-      }
-    }
-    if (nb == 1)
-      return surf_network_model_communicate(surf_network_model, host_list[0], host_list[1], value, rate);
-  }
-#undef cost_or_zero
-
-  THROW_UNIMPLEMENTED;          /* This model does not implement parallel tasks for more than 2 hosts. */
-  return NULL;
-}
-
 /************
  * Resource *
  ************/
@@ -176,9 +138,8 @@ VMHL13::VMHL13(VMModel *model, const char* name, xbt_dict_t props, sg_host_t hos
    * from the VM name, we have to make sure that the system does not call the
    * free callback for the network resource object. The network resource object
    * is still used by the physical machine. */
-  p_netElm = host_PM->pimpl_netcard;
   sg_host_t host_VM = sg_host_by_name_or_create(name);
-  host_VM->pimpl_netcard = p_netElm;
+  host_VM->pimpl_netcard = host_PM->pimpl_netcard;
 
   p_vm_state = SURF_VM_STATE_CREATED;
 
@@ -200,7 +161,8 @@ VMHL13::VMHL13(VMModel *model, const char* name, xbt_dict_t props, sg_host_t hos
   // vm_ws->cpu_action = surf_cpu_model_pm->extension.cpu.execute(host_PM, GUESTOS_NOISE);
   p_action = sub_cpu->execute(0);
 
-  XBT_INFO("Create VM(%s)@PM(%s) with %ld mounted disks", name, p_hostPM->getName().c_str(), xbt_dynar_length(p_storage));
+  XBT_INFO("Create VM(%s)@PM(%s) with %ld mounted disks",
+    name, p_hostPM->name().c_str(), xbt_dynar_length(p_storage));
 }
 
 void VMHL13::suspend()
@@ -240,11 +202,11 @@ void VMHL13::migrate(sg_host_t host_dest)
 {
    Host *surfHost_dst = host_dest->extension<Host>();
    const char *vm_name = getName();
-   const char *pm_name_src = p_hostPM->getName().c_str();
+   const char *pm_name_src = p_hostPM->name().c_str();
    const char *pm_name_dst = surfHost_dst->getName();
 
    /* update net_elm with that of the destination physical host */
-   sg_host_by_name(vm_name)->pimpl_netcard = p_netElm = sg_host_by_name(pm_name_dst)->pimpl_netcard;
+   sg_host_by_name(vm_name)->pimpl_netcard = sg_host_by_name(pm_name_dst)->pimpl_netcard;
 
    p_hostPM = host_dest;