Используя CloudSim Plus , вы можете сделать это без необходимости изменения кода платформы.CloudSim Plus предоставляет различные прослушиватели событий, которые вы можете использовать для динамического создания Cloudlets или VM.Он даже позволяет вам отправлять такие объекты, не требуя создания нового брокера.Ниже приведен фрагмент кода:
//Constructor of the example class
private KeepSimulationRunningExample() {
//Initializes CloudSim Plus
simulation = new CloudSim();
//The simulation startup code goes here...
//It creates objects such as Datacenters, Hosts, etc.
//Adds a Listener that will be notified when the simulation clock changes
simulation.addOnClockTickListener(this::createDynamicCloudletAndVm);
simulation.start();
}
/** Creates a new VM when the simulation reaches a defined time */
private void createDynamicCloudletAndVm(EventInfo evt) {
if((int)evt.getTime() == TIME_TO_CREATE_NEW_VM){
Vm vm = new VmSimple(1000, 2);
//Configure your VM here (such as setting a CloudletScheduler)
vmList.add(vm);
broker0.submitVm(vm);
}
}
Полный пример доступен здесь .Динамический пакет показывает другие примеры использования разных слушателей для создания виртуальных машин и Cloudlets.