double costPerBw = 0.0; // the cost of using bw in this resource DatacenterCharacteristics characteristics = new DatacenterCharacteristics( arch, os,
/** * Gets the name of a resource. * * @return the resource name * @pre $none * @post $result != null */ public String getResourceName() { return CloudSim.getEntityName(getId()); }
switch (getAllocationPolicy()) { mips = getMipsOfOnePe() * HostList.getNumberOfPes(getHostList()); break; for (Host host : getHostList()) { mips += host.getTotalMips();
/** * Gets the cost per Million Instruction (MI) associated with a Datacenter. * * @return the cost using CPU of PM in the Datacenter * @pre $none * @post $result >= 0.0 * @todo Again, it considers that all PEs of all PM have the same MIPS capacity, * what is not ensured because it is possible to add PMs of different configurations * to a datacenter */ public double getCostPerMi() { return getCostPerSecond() / getMipsOfOnePe(); }
double cpuTime = 0.0; switch (getAllocationPolicy()) { case DatacenterCharacteristics.TIME_SHARED: cpuTime = cloudletLength / (getMipsOfOnePe() * (1.0 - load)); break;
/** * Gets the total number of PMs. * * @return total number of machines the Datacenter has. */ public int getNumberOfHosts() { return getHostList().size(); }
setSchedulingInterval(schedulingInterval); for (Host host : getCharacteristics().getHostList()) { host.setDatacenter(this); if (getCharacteristics().getNumberOfPes() == 0) { throw new Exception(super.getName() + " : Error - this entity has no PEs. Therefore, can't process any Cloudlets."); getCharacteristics().setId(super.getId());
getId(), getCharacteristics().getCostPerSecond(), getCharacteristics().getCostPerBw());
int numPE = getCharacteristics().getNumberOfPes(); sendNow(srcId, ev.getTag(), numPE); break; int freePesNumber = getCharacteristics().getNumberOfFreePes(); sendNow(srcId, ev.getTag(), freePesNumber); break;
/** * Checks whether all PMs of the datacenter are working properly or not. * * @return if all PMs are working, otherwise */ public boolean isWorking() { boolean result = false; if (getNumberOfFailedHosts() == 0) { result = true; } return result; }
/** * Gets the first PM with at least one empty Pe. * * @return a Machine object or if not found * @pre $none * @post $none */ public Host getHostWithFreePe() { return HostList.getHostWithFreePe(getHostList()); }
cl.setResourceParameter(getId(), getCharacteristics().getCostPerSecond(), getCharacteristics() .getCostPerBw());
LinkedList<Storage> storageList = new LinkedList<Storage>(); //we are not adding SAN devices by now DatacenterCharacteristics characteristics = new DatacenterCharacteristics( arch, os, vmm, hostList, time_zone, cost, costPerMem, costPerStorage, costPerBw);
/** * Process the return of a request for the characteristics of a Datacenter. * * @param ev a SimEvent object * @pre ev != $null * @post $none */ protected void processResourceCharacteristics(SimEvent ev) { DatacenterCharacteristics characteristics = (DatacenterCharacteristics) ev.getData(); getDatacenterCharacteristicsList().put(characteristics.getId(), characteristics); if (getDatacenterCharacteristicsList().size() == getDatacenterIdsList().size()) { setDatacenterRequestedIdsList(new ArrayList<Integer>()); createVmsInDatacenter(getDatacenterIdsList().get(0)); } }
/** * Gets the total number of PEs for all PMs. * * @return number of PEs * @pre $none * @post $result >= 0 */ public int getNumberOfPes() { return HostList.getNumberOfPes(getHostList()); }
LinkedList<Storage> storageList = new LinkedList<Storage>(); //we are not adding SAN devices by now DatacenterCharacteristics characteristics = new DatacenterCharacteristics( arch, os, vmm, hostList, time_zone, cost, costPerMem, costPerStorage, costPerBw);
/** * Processes the return of a request for the characteristics of a Datacenter. * * @param ev a SimEvent object * * @pre ev != $null * @post $none */ protected void processResourceCharacteristics(SimEvent ev) { DatacenterCharacteristics characteristics = (DatacenterCharacteristics) ev.getData(); getDatacenterCharacteristicsList().put(characteristics.getId(), characteristics); if (getDatacenterCharacteristicsList().size() == getDatacenterIdsList().size()) { setDatacenterRequestedIdsList(new ArrayList<Integer>()); createVmsInDatacenterBase(getDatacenterIdsList().get(0)); } }
/** * Gets the total number of <tt>BUSY</tt> PEs for all PMs. * * @return number of PEs * @pre $none * @post $result >= 0 */ public int getNumberOfBusyPes() { return HostList.getNumberOfBusyPes(getHostList()); }
LinkedList<Storage> storageList = new LinkedList<Storage>(); //we are not adding SAN devices by now DatacenterCharacteristics characteristics = new DatacenterCharacteristics( arch, os, vmm, hostList, time_zone, cost, costPerMem, costPerStorage, costPerBw);
/** * Processes the characteristics of datacenters assigned to this broker. * * @param ev a simulation event. * @since 1.0 */ @Override protected void processResourceCharacteristics(SimEvent ev) { DatacenterCharacteristics characteristics = (DatacenterCharacteristics) ev.getData(); getDatacenterCharacteristicsList().put(characteristics.getId(), characteristics); if (getDatacenterCharacteristicsList().size() == getDatacenterIdsList().size()) { setDatacenterRequestedIdsList(new ArrayList<Integer>()); createVmsInDatacenter(getDatacenterIdList()); } }