Эластичность с облаком

Я работаю над методом планирования задач для облачных вычислений, проблема в том, что я хочу создавать виртуальные машины во время выполнения, чтобы иметь эластичность и уменьшить частоту отклонения задач, но я не знаю, как это сделать и куда мне поместить код для создания Vms:-?

0 ответов

Используя 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.

Другие вопросы по тегам