// const double virt_overhead = 0.95;
const double virt_overhead = 1;
-double VMHL13Model::shareResources(double now)
+double VMHL13Model::next_occuring_event(double now)
{
/* TODO: update action's cost with the total cost of processes on the VM. */
/* 2. Calculate resource share at the virtual machine layer. */
adjustWeightOfDummyCpuActions();
- double min_by_cpu = surf_cpu_model_vm->shareResources(now);
- double min_by_net = surf_network_model->shareResourcesIsIdempotent() ? surf_network_model->shareResources(now) : -1;
- // Fixme: take storage into account once it's implemented
- double min_by_sto = -1;
-
- XBT_DEBUG("model %p, %s min_by_cpu %f, %s min_by_net %f, %s min_by_sto %f",
- this, typeid(surf_cpu_model_pm ).name(), min_by_cpu,
- typeid(surf_network_model).name(), min_by_net,
- typeid(surf_storage_model).name(), min_by_sto);
-
- double ret = std::max(std::max(min_by_cpu, min_by_net), min_by_sto);
- if (min_by_cpu >= 0.0 && min_by_cpu < ret)
- ret = min_by_cpu;
- if (min_by_net >= 0.0 && min_by_net < ret)
- ret = min_by_net;
- if (min_by_sto >= 0.0 && min_by_sto < ret)
- ret = min_by_sto;
-
- return ret;
+ /* 3. Ready. Get the next occuring event */
+ return surf_cpu_model_vm->next_occuring_event(now);
}
/************
p_cpu = surf_cpu_model_vm->createCpu(host_VM, // the machine hosting the VM
sub_cpu->getSpeedPeakList(), // host->power_peak,
- sub_cpu->getPState(),
- 1, // host->power_scale,
NULL, // host->power_trace,
1, // host->core_amount,
- 1/*ON*/, // host->initiallyOn,
NULL); // host->state_trace,
+ if (sub_cpu->getPState() != 0)
+ p_cpu->setPState(sub_cpu->getPState());
/* We create cpu_action corresponding to a VM process on the host operating system. */
/* FIXME: TODO: we have to periodically input GUESTOS_NOISE to the system? how ? */
*/
void VMHL13::migrate(sg_host_t host_dest)
{
- Host *surfHost_dst = host_dest->extension<Host>();
+ HostImpl *surfHost_dst = host_dest->extension<HostImpl>();
const char *vm_name = getName();
const char *pm_name_src = p_hostPM->name().c_str();
const char *pm_name_dst = surfHost_dst->getName();