Research Breakthrough Possible @S-Logix pro@slogix.in

Office Address

Social List

What are the Common Utilization Model Available in CloudSim?

What are the Common Utilization Model Available in CloudSim

Condition for Common Utilization Model Available in CloudSim

  • Description:
    In CloudSim, Utilization Models define how cloudlets (tasks) utilize various resources like CPU, memory, and bandwidth during their execution. The main purpose of these models is to simulate different resource usage behaviors.

UtilizationModelFull

  • UtilizationModelFull in CloudSim is one of the most commonly used Utilization Models. It represents a model in which a cloudlet (task) fully utilizes a specified resource for the entire duration of its execution. This is useful for scenarios where you need to simulate tasks that continuously use 100% of a particular resource, such as CPU or memory.
Example
  • import org.cloudbus.cloudsim.Cloudlet;
    import org.cloudbus.cloudsim.UtilizationModelFull;
    int cloudletId = 0;
    long length = 10000; // The length of the cloudlet in Million Instructions (MI)
    int pesNumber = 1; // Number of CPU cores required
    long fileSize = 300; // File size in MB
    long outputSize = 300; // Output size in MB
    // Create a cloudlet with full utilization of CPU, RAM, and bandwidth
    Cloudlet cloudlet = new Cloudlet(

    cloudletId,
    length,
    pesNumber,
    fileSize,
    outputSize,
    new UtilizationModelFull(), // CPU utilization model
    new UtilizationModelFull(), // RAM utilization model
    new UtilizationModelFull() // Bandwidth utilization model
    ); cloudlet.setUserId(brokerId);

UtilizationModelNull

  • UtilizationModelNull is another utilization model provided by CloudSim that represents a scenario where a cloudlet (task) does not use any resources. It simulates a condition where the utilization of a given resource (e.g., CPU, RAM, bandwidth) is always zero during the entire execution of the cloudlet.
Example
  • import org.cloudbus.cloudsim.Cloudlet;
    import org.cloudbus.cloudsim.UtilizationModelNull;
    int cloudletId = 0;
    long length = 10000; // The length of the cloudlet in Million Instructions (MI)
    int pesNumber = 1; // Number of CPU cores required
    long fileSize = 300; // File size in MB
    long outputSize = 300; // Output size in MB
    // Create a cloudlet with zero utilization for CPU, RAM, and bandwidth
    Cloudlet cloudlet = new Cloudlet(
    cloudletId,
    length,
    pesNumber,
    fileSize,
    outputSize,
    new UtilizationModelNull(), // CPU utilization model
    new UtilizationModelNull(), // RAM utilization model
    new UtilizationModelNull() // Bandwidth utilization model
    );
    cloudlet.setUserId(brokerId);

UtilizationModelStochastic

  • UtilizationModelStochastic is a utilization model in CloudSim that simulates the usage of resources based on a stochastic (random) pattern. It provides more realistic modeling of resource usage by cloudlets, as it introduces variability in how resources are consumed during the cloudlets execution.
Example
  • import org.cloudbus.cloudsim.Cloudlet;
    import org.cloudbus.cloudsim.UtilizationModelStochastic;
    int cloudletId = 0;
    long length = 10000; // The length of the cloudlet in Million Instructions (MI)
    int pesNumber = 1; // Number of CPU cores required
    long fileSize = 300; // File size in MB
    long outputSize = 300; // Output size in MB
    // Create a cloudlet with stochastic utilization for CPU
    Cloudlet cloudlet = new Cloudlet(
    cloudletId,
    length,
    pesNumber,
    fileSize,
    outputSize,
    new UtilizationModelStochastic(), // CPU utilization model
    new UtilizationModelStochastic(), // RAM utilization model
    new UtilizationModelStochastic() // Bandwidth utilization model
    );
    cloudlet.setUserId(brokerId);

UtilizationModelPlanetLabInMemory

  • UtilizationModelPlanetLabInMemory is a specific utilization model in CloudSim that simulates resource usage based on real-world workload traces, specifically from the PlanetLab project. The PlanetLab dataset provides realistic utilization patterns for cloud simulation by recording the actual usage of resources over time from distributed systems.
Example
  • import org.cloudbus.cloudsim.UtilizationModelPlanetLabInMemory;
    import org.cloudbus.cloudsim.Cloudlet;
    import java.io.IOException;
    // Load the PlanetLab trace data (assuming data is available as a file path)
    String filePath = "path/to/planetlab_trace_data.txt";
    try {
    UtilizationModelPlanetLabInMemory utilizationModel = new
    UtilizationModelPlanetLabInMemory(filePath, 300.0);
    int cloudletId = 0;
    long length = 10000; // The length of the cloudlet in Million Instructions (MI)
    int pesNumber = 1; // Number of CPU cores required
    long fileSize = 300; // File size in MB
    long outputSize = 300; // Output size in MB
    // Create a cloudlet using the PlanetLab utilization model
    Cloudlet cloudlet = new Cloudlet(
    cloudletId,
    length,
    pesNumber,
    fileSize,
    outputSize,
    utilizationModel, // CPU utilization model
    new UtilizationModelPlanetLabInMemory(filePath, 300.0), // RAM utilization model
    new UtilizationModelPlanetLabInMemory(filePath, 300.0) // Bandwidth utilization model
    );
    cloudlet.setUserId(brokerId);
    } catch (IOException e) {
    e.printStackTrace();
    }