private Vm createVm(DatacenterBroker broker) { final long mips = 1000; final long storage = 10000; // vm image size (Megabyte) final int ram = 512; // vm memory (Megabyte) final long bw = 1000; // vm bandwidth (Megabits/s) final long pesNumber = 2; // number of CPU cores return new VmSimple(vmList.size(), mips, pesNumber) .setRam(ram) .setBw(bw) .setSize(storage) .setCloudletScheduler(new CloudletSchedulerTimeShared()); }
private <T extends VmScaling> T validateAndConfigureVmScaling(final T vmScaling) { requireNonNull(vmScaling); if(vmScaling.getVm() != null && vmScaling.getVm() != Vm.NULL && vmScaling.getVm() != this){ final String name = vmScaling.getClass().getSimpleName(); throw new IllegalArgumentException( "The "+name+" given is already linked to a Vm. " + "Each Vm must have its own "+name+" object or none at all. " + "Another "+name+" has to be provided for this Vm."); } vmScaling.setVm(this); this.addOnUpdateProcessingListener(vmScaling::requestUpScalingIfPredicateMatches); return vmScaling; }
@Override public double getTotalCpuMipsUsage(final double time) { return getCpuPercentUsage(time) * getTotalMipsCapacity(); }
@Override public double getCpuPercentUsage() { return getCpuPercentUsage(getSimulation().clock()); }
setInMigration(false); setHost(Host.NULL); setCloudletScheduler(new CloudletSchedulerTimeShared()); this.processor = new Processor(this, mipsCapacity, numberOfPes); this.description = ""; this.lastBusyTime = 0; setId(id); setBroker(DatacenterBroker.NULL); setMips(mipsCapacity); setNumberOfPes(numberOfPes); setRam(new Ram(1024)); setBw(new Bandwidth(1000)); setStorage(new Storage(1024)); setSubmissionDelay(0); setVmm("Xen"); stateHistory = new LinkedList<>(); this.onCreationFailureListeners = new HashSet<>(); this.onUpdateProcessingListeners = new HashSet<>(); this.setHorizontalScaling(HorizontalVmScaling.NULL); this.setRamVerticalScaling(VerticalVmScaling.NULL); this.setBwVerticalScaling(VerticalVmScaling.NULL); this.setPeVerticalScaling(VerticalVmScaling.NULL);
/** * Creates a list of VMs. */ private List<Vm> createVms() { final List<Vm> list = new ArrayList<>(VMS); for (int i = 0; i < VMS; i++) { //Uses a CloudletSchedulerTimeShared by default to schedule Cloudlets final Vm vm = new VmSimple(1000, VM_PES); vm.setRam(512).setBw(1000).setSize(10000); list.add(vm); } return list; }
@Override public double getCurrentRequestedTotalMips() { return getCurrentRequestedMipsStream().sum(); }
private DoubleStream getCurrentRequestedMipsStream() { return getCurrentRequestedMips().stream().mapToDouble(mips -> mips); }
private CloudletToVmMappingSolution createInstance() { final CloudletToVmMappingSolution result = new CloudletToVmMappingSolution(heuristic); UtilizationModel um = UtilizationModel.NULL; IntStream.range(0, 100).forEach(i -> result.bindCloudletToVm( new CloudletSimple(i, 1, 1).setUtilizationModel(um), new VmSimple(i, 1000, 1)) ); return result; }
@Override public double getCurrentRequestedMaxMips() { return getCurrentRequestedMipsStream().max().orElse(0.0); }
private Vm createVm(final int id) { final int mips = 10000; final long size = 10000; // image size (Megabyte) final int ram = 4096; // vm memory (Megabyte) final long bw = 1000; //It uses a CloudletSchedulerTimeShared by default final Vm vm = new VmSimple(id, mips, VM_PES_NUMBER); vm.setRam(ram).setBw(bw).setSize(size); return vm; }
@Override public String toString() { final String desc = StringUtils.isBlank(description) ? "" : String.format(" (%s)", description); final String brokerName = getBroker() == DatacenterBroker.NULL ? "" : "/Broker " + getBroker().getId(); return String.format("Vm %d%s%s", getId(), brokerName, desc); }
private Vm createVm(DatacenterBroker broker) { long mips = 1000; long storage = 10000; // vm image size (Megabyte) int ram = 512; // vm memory (Megabyte) long bw = 1000; // vm bandwidth (Megabits/s) int pesNumber = 2; // number of CPU cores return new VmSimple(vmList.size(), mips, pesNumber) .setRam(ram) .setBw(bw) .setSize(storage) .setCloudletScheduler(new CloudletSchedulerTimeShared()); }
public Vm createVm() { Vm vm = new VmSimple(vmList.size()+1, VM_MIPS, VM_PES); vm .setRam(VM_RAM).setBw(VM_BW).setSize(VM_SIZE) .setCloudletScheduler(new CloudletSchedulerTimeShared()); return vm; }
/** * Creates a list of VMs. */ private List<Vm> createVms() { final List<Vm> list = new ArrayList<>(VMS); for (int i = 0; i < VMS; i++) { Vm vm = new VmSimple(i, 1000, VM_PES) .setRam(512).setBw(1000).setSize(10000) .setCloudletScheduler(new CloudletSchedulerTimeShared()); list.add(vm); } return list; }
private Vm createVm() { final Vm vm = new VmSimple(vmList.size(), VM_MIPS, VM_PES_NUM); vm.setRam(VM_RAM).setBw(VM_BW).setSize(VM_SIZE) .setCloudletScheduler(new CloudletSchedulerTimeShared()); return vm; }
/** * Creates a list of VMs. */ private List<Vm> createVms() { final List<Vm> list = new ArrayList<>(VMS); for (int i = 0; i < VMS; i++) { Vm vm = new VmSimple(i, VM_MIPS, VM_PES) .setRam(512).setBw(1000).setSize(10000) .setCloudletScheduler(new CloudletSchedulerTimeShared()); list.add(vm); } return list; }