All Classes and Interfaces

Class
Description
An abstract class to provide base features for Experiment and ExperimentRunner.
An abstract class for implementing Network Switches.
An abstract base class for implementing data tables to present simulation results.
An abstract column of a table to be generated using a Table class.
This class represents an Aggregate Switch in a Datacenter network.
Represents an Amazon EC2 VM Instance template.
Represents the Bandwidth (BW) capacity of a Host or Vm in Megabits/s.
Defines how a Machine uses resources such as CPU and RAM during the boot process.
Implements a network layer by reading the topology from a file in the BRITE format, the Boston university Representative Internet Topology gEnerator, and generates a topological network from it.
A Builder class to create DatacenterBrokerSimple objects.
A class that implements the Decorator Design Pattern in order to include features in an existing class.
An interface to classes that build DatacenterBrokerSimple objects.
Manages creation and access to DatacenterBrokers used by GoogleTaskEventsTraceReader.
A Builder interface for creation of simulation objects, such as Datacenter, Host, Vm DatacenterBroker and Cloudlet.
Utility class that provides a set of methods for bit/bytes conversion.
An interface for objects that have to be identified by an id and that such id can be changed.
A Cloud Information Service (CIS) is an entity that provides cloud resource registration, indexing and discovery services.
An interface to be implemented by each class that provides basic features for cloud applications, a.k.a.
Execution Status of Cloudlets.
An abstract class for Cloudlet implementations.
A Builder class to create Cloudlet objects.
An interface that represents data to be passed to EventListener objects that are registered to be notified when some events happen for a given Cloudlet.
Stores execution information about a Cloudlet submitted to a specific Datacenter for processing.
A processing task that can be executed by a NetworkCloudlet in a single Pe.
A task executed by a NetworkCloudlet that receives data from a CloudletSendTask.
An interface that represents data to be passed to EventListener objects that are registered to be notified when a CloudletScheduler is not able to allocate the amount of resource a Cloudlet is requesting due to lack of available capacity.
An interface to be implemented by each class that provides a policy of scheduling performed by a Vm to run its Cloudlets.
An abstract class for implementing CloudletSchedulers representing scheduling policies performed by a Vm to run its Cloudlets.
A simplified implementation of the Completely Fair Scheduler (CFS) that is the default scheduler used for most tasks on recent Linux Kernel.
Implements a policy of scheduling performed by a Vm to run its Cloudlets.
Implements a policy of scheduling performed by a virtual machine to run its Cloudlets.
Represents a task executed by a NetworkCloudlet that sends data to a CloudletReceiveTask.
Cloudlet implements the basic features of an application/job/task to be executed by a Vm on behalf of a given user.
Builds a table for printing simulation results from a list of Cloudlets.
An abstract class to be implemented by tasks that can be executed by a NetworkCloudlet.
Provides the features to enable a CloudletScheduler to process internal CloudletTasks such as:
A scheduling policy performed by a Vm to process CloudletTasks belonging to a NetworkCloudlet.
Provides methods to be used for implementing a Heuristic to get a suboptimal solution for mapping Cloudlets to VMs.
A heuristic that uses Simulated Annealing to find a suboptimal mapping between a set of Cloudlets and VMs to reduce the number of idle or overloaded Vm Pes.
A possible solution for mapping a set of Cloudlets to a set of Vm's.
An interface that represents data to be passed to EventListener objects that are registered to be notified when some events happen for a given Cloudlet running inside a Vm.
Represents a simulation entity.
An event passed between the entities in the simulation.
Starts and manages cloud computing simulations running in the CloudSim Plus framework.
Tags indicating a type of action that needs to be undertaken by CloudSim entities when they receive or send events.
Computes the confidence interval for any arbitrary metric from results got from multiple simulation runs.
Interface to be implemented by a Pseudo-Random Number Generator (PRNG) that follows a defined statistical continuous distribution.
Utility class that provides a set of methods for general data conversion.
Prints a table from a given data set, using a Comma Separated Text (CSV) format.
A column of an CsvTable.
Represents an object that is owned by a DatacenterBroker, namely Vm and Cloudlet.
A base class for CustomerEntity implementations.
An interface to be implemented by each class that provides Datacenter features.
Represents a broker acting on behalf of a cloud customer.
An abstract class for implementing DatacenterBrokers.
A DatacenterBroker that uses a Best Fit mapping between submitted cloudlets and VMs, trying to place a Cloudlet at the best suitable Vm that can be found (according to the required Cloudlet's PEs).
An interface that represents data to be passed to EventListener objects that are registered to be notified when some events happen for a given DatacenterBroker.
A DatacenterBroker that uses a First Fit mapping between submitted cloudlets and VMs, trying to place a Cloudlet at the first suitable Vm which can be found (according to the required Cloudlet's PEs).
A DatacenterBroker that uses some
invalid reference
heuristic
to get a suboptimal mapping among submitted cloudlets and Vm's.
A simple implementation of DatacenterBroker that tries to host customer's VMs at the first Datacenter found.
A Builder class to createDatacenter DatacenterSimple objects.
An interface to be implemented by each class that represents the physical characteristics of a Datacenter.
Identifies different datacenter distribution models, just for classification purposes.
Represents static properties of a Datacenter such as architecture, Operating System (OS), cost and Distribution.
An interface that represents data to be passed to EventListener objects that are registered to be notified when some events happen for a given Datacenter.
Implements the basic features of a Virtualized Cloud Datacenter, processing VM queries (i.e., handling of VMs).
Implements the storage logic for a Datacenter.
An interface that represents data to be passed to EventListener objects that are registered to be notified when a Vm migration is successful or not.
Contains additional tags for DataCloud features, such as file information retrieval, file transfers, and storage info.
An EventQueue that orders SimEvents based on their time attribute.
Represents a matrix containing the delay (in seconds) between every pair or nodes inside a network topology.
Interface to be implemented by a Pseudo-Random Number Generator (PRNG) that follows a defined statistical discrete distribution.
Represents an Edge Switch in a Datacenter network, which can be connected to NetworkHosts.
A general interface that represents data to be passed to EventListener objects that are registered to be notified when some events happen for a given simulation entity (such as a Datacenter, Host, Vm, Cloudlet and so on).
An interface to define Observers (Listeners) that listen to specific changes in the state of a given observable object (Subject).
An interface to be implemented by event queues.
An entity that can have its start and shutdown delayed.
A base implementation for ExecDelayable entities.
Measures execution times of CloudSim's methods.
An abstract class to implement simulation experiments that can be executed repeatably by a ExperimentRunner.
An abstract class to implement experiment runners.
A Pseudo-Random Number Generator following the Exponential distribution.
Represents a file stored in a local disk or a DatacenterStorage.
Stores information related to a File.
Reads and parses data inside text, zip and gzip files.
An interface which defines the desired functionality of a storage system in a cloud environment that performs operations on a file system, such as file inclusion, exclusion and renaming.
An implementation of the Floyd-Warshall algorithm to calculate the predecessor matrix and the delay between all pairs of nodes in a network.
An EventQueue that stores future simulation events.
A Pseudo-Random Number Generator following the Gamma distribution.
Process "machine events" trace files from Google Cluster Data.
Process "task events" trace files from Google Cluster Data to create Cloudlets belonging to cloud customers (users).
Process "task usage" trace files from Google Cluster Data to change the resource utilization of Cloudlets.
The index of each field in the trace file.
An implementation of a Hard Drive (HD) storage device with a specific capacity (in Megabytes).
Provides the methods to be used for implementation of heuristics to find a solution for complex problems where the solution space to search is large.
An abstract class for Heuristic implementations.
A solution for a complex problem found using a Heuristic implementation.
A Vm Horizontal Scaling mechanism used by a DatacenterBroker to dynamically create VMs according to the arrival of Cloudlets, in order to enable load balancing.
A HorizontalVmScaling implementation that allows defining the condition to identify an overloaded VM, based on any desired criteria, such as current Ram, CPU or Bandwidth utilization.
An interface to be implemented by each class that provides Physical Machines (Hosts) features.
A base class for implementing Hosts.
A Builder class to create Host objects using the default configurations defined in the Host class.
An interface that represents data to be passed to EventListener objects that are registered to be notified when some events happen for a given Host.
Generates random failures for the Pe's of Hosts inside a given Datacenter.
Builds a table for printing HostStateHistoryEntry entries from the Host.getStateHistory().
Represents a packet which travels from one Host to another.
Computes resource utilization statistics for a specific resource on a given Host.
A Host class that implements the most basic features of a Physical Machine (PM) inside a Datacenter.
Keeps historic CPU utilization data about a Host for a given time.
Stores data about the suitability of a Host for placing a Vm.
An interface that represents data to be passed to EventListener objects that are registered to be notified after a Host updates the processing of its Vms.
A generator of HTML tables.
A column of an HtmlTable.
Represents a ping (ICMP protocol) packet that can be used to gather information from the network layer.
An interface for objects that have to be identified by an id.
An exception to be thrown when the type of the SimEvent.getData() is not as expected for a given tag from CloudSimTag.
A RandomGenerator that internally uses the ThreadLocalRandom, a very fast Pseudo-Random Number Generator (PRNG) with higher performance than Random, mainly in concurrent environments.
Generates tabular data in LaTeX format.
A column for a LatexTable
Represents objects that may have a defined lifetime set (such as Cloudlet and Vm), indicating how long they must live.
A utility class to enable changing logging configuration such as the logging level.
A Pseudo-Random Number Generator following the Log-normal distribution.
A Pseudo-Random Number Generator following the Lomax distribution.
Represents either a: (i) Physical Machine (PM) which implements the Host interface; or (ii) Virtual Machine (VM), which implements the Vm interface.
A data class to store the attributes to create a Host, according to the data read from a line inside a "machine events" trace file.
The index of each field in the Google Machine Events trace file.
Defines the type of event (a line) in the trace file that represents the operation to be performed with the Host.
Prints a Markdown table from a given data set.
A column of a MarkdownTable.
An utility class containing multiple convenient math functions.
Represents the requested or allocated MIPS (Million Instructions Per Second) capacity for a given number of Pes from a VM.
Defines the type of information missing in a GoogleTaskEventsTraceReader trace file.
An interface for objects that have to be identified by an id and that also have a name.
NetworkCloudlet to support simulation of complex applications.
A Datacenter whose Hosts have network support.
A Host that support simulation of networked Datacenters.
Defines the structure for a network packet.
Implements a network layer by reading the topology from a file in a specific format that is defined by each implementing class.
A Vm supporting simulation of network communication.
A Pseudo-Random Number Generator following the Normal (Gaussian) distribution.
A Pseudo-Random Number Generator following the Pareto distribution.
An exception when parsing a trace file.
An interface to be implemented by each class that provides the basic features for a virtual or physical Processing Element (PE) of a Host or Vm.
Status of PEs.
A Builder class to create Pe objects.
An interface that represents the provisioning policy used by a host to provide virtual Pes to its virtual machines.
A best-effort PeProvisioner policy used by a Host to provide its physical Pes as virtual PEs to Vms:
A Pe (Processing Element) implementation representing a CPU core of a physical machine (Host), defined in terms of Millions Instructions Per Second (MIPS).
An interface to be implemented by different kinds of Physical Machines (PMs), such as Hosts.
A class to represent the coordinates of a 2-dimensional point.
A Pseudo-Random Number Generator which returns numbers following a Poisson Distribution, modeling the probability of an event to happen a number of times in a given time interval.
Interface for power-aware entities such as Hosts, Datacenters and other entities that can be introduced.
Utility class that provides a set of methods for power/energy conversion.
Power consumption measurement produced by a PowerModel, consisting of a static and a dynamic fraction (in Watts).
Periodically measures the current power usage of one or more PowerAware entities, according to a defined
invalid reference
interval
, storing the results.
A common interface for implementing models of power consumption for entities such as Datacenters and Hosts.
Abstract implementation of a Datacenter PowerModel.
Simple power model defining the power consumption of a Datacenter.
Provides a model for defining Host power consumption.
Abstract implementation of a Host PowerModel.
Simple power model for hosts with linear power consumption according to the CPU utilization percentage.
A power model created based on data from SPEC power benchmark.
A predicate to select events with a specific tag.
A virtual Central Processing Unit (vCPU) attached to a Vm, having one or more cores (Pes).
Represents the RAM resource of a Host or Vm in Megabytes (MB).
Provides utility methods to compute regressions.
An interface to represent a physical or virtual resource (like RAM, CPU or Bandwidth) that doesn't provide direct features to change the allocated amount of resource.
An abstract class for implementing Resources.
An interface to allow getting the capacity of a given resource.
An interface to provide a polymorphic way to access a given resource like Ram, Bandwidth, SimpleStorage or Pe from a List containing such different resources.
A utility class that loads a resource file/directory that is contained inside the directory of a given class.
An interface to represent a physical or virtual resource (like RAM, CPU or Bandwidth) with features to manage resource capacity and allocation.
A class that represents simple resources such as RAM, CPU, Bandwidth or Pe.
An interface that represents the provisioning policy used by a Host to provide a given physical resource to its Vms.
An abstract class that implements the basic features of a provisioning policy used by a Host to provide a given resource to its Virtual Machines (Vms).
A best-effort ResourceProvisioner policy used by a Host to provide a resource to VMs:
A FunctionalInterface to define how the capacity of the resource to be scaled by a VerticalVmScaling will be resized, according to the defined scaling factor.
A ResourceScaling for which the capacity of the resource to be scaled will be gradually resized according to the defined scaling factor.
A ResourceScaling for which the capacity of the resource to be scaled will be instantaneously resized to move the Vm from the under or overload state.
A base class for computing statistics about Resource utilization for a given machine (Vm or Host).
An interface that enables machines (Vms or Hosts) to enable the calculation of statistics for its resource utilization.
Allows simulating a Root switch that connects Datacenters to an external network.
A Storage Area Network (SAN) composed of a set of hard disks connected in a LAN.
An interface that represents a simulation entity.
Defines the event state.
A base interface used internally to implement the Null Object Design Pattern for interfaces extending SimEntity.
Represents a simulation event which is passed between the entities in a specific Simulation instance.
Internal event types.
A simple storage that just manages the device capacity and raw allocated (used) space (in Megabytes).
An abstract class for implementation of Simulated Annealing algorithms used to find a suboptimal solution for a problem defined by subclasses of this one.
An interface to be implemented by a class that manages simulation execution, controlling all the simulation life cycle.
A builder to help getting instance of other CloudSimPlus object builders.
Defines an entity that holds/manages other ones.
Represents an SLA Contract containing a list of metrics.
Represents a metric of an SLA contract.
Represents a value for a specific metric of an SLA contract, following the format defined by the AWS CloudWatch.
An entity that can be started and stopped.
A base implementation for Startable entities.
Interface to be implemented by a Pseudo-Random Number Generator (PRNG) that follows some statistical distribution, even discrete or continuous.
Defines methods for an object that its execution can be delayed by some time when it is submitted to a Datacenter by a DatacenterBroker.
Reads resource traces and creates a list of (Cloudlets) (jobs).
Represents a Network Switch.
An interface for classes that generate tables from a given data set to show simulation results, following the Builder Design Pattern.
An abstract class to build tables to print data from a list of objects containing simulation results.
An interface that represents a column of a table generated using a Table.
A data class to store the attributes to create a Cloudlet, according to the data read from a line inside a "task events" trace file.
The index of each field in a Google Task Events trace file.
Defines the type of TaskEvent (a line) in the trace file that represents the state of the job.
A data class to store the attributes representing the resource usage of a Cloudlet, according to the data read from a line inside a "task usage" trace file.
Prints a table from a given data set, using a simple delimited text format.
A column of a text (ASCII) table.
Utility class that provides some methods to deal with time units.
An interface to be implemented by objects that are physically placed into some time zone, such as Datacenter and Vm.
Represents a graph containing vertices (nodes) and edges (links), used for input with a network-layer.
Represents a link (edge) of a network graph where the network topology was defined from a file in BRITE format.
Represents a topological network node that retrieves its information from a topological-generated file (e.g., topology-generator).
An interface to be implemented by classes that read a network graph (topology) from a file with a specific format.
A network graph (topology) reader that creates a network topology from a file in the BRITE format.
An interface to be implemented by Enums representing a field in a Google Trace File.
A basic interface for classes that read specific trace file formats.
An abstract class to implement trace file readers for specific file formats.
A Pseudo-Random Number Generator (RNG) following the Uniform continuous distribution.
An interface for objects that have a Unique Identifier (UID) that is compounded by a DatacenterBroker ID and the object ID.
A utility class with general purpose functions.
An interface to be implemented to provide a fine-grained control over resource usage by a Cloudlet.
Defines the unit of the resource utilization.
An abstract class to implement UtilizationModels.
A Cloudlet UtilizationModel that allows to increase the utilization of the related resource along the simulation time.
A UtilizationModel that makes a Cloudlet always utilize a given allocated resource from its Vm at 100%, all the time.
Defines a resource utilization model for Cloudlets based on a PlanetLab datacenter workload trace file.
Implements a model, according to which a Cloudlet generates random resource utilization every time frame, using a ContinuousDistribution.
A Vm Vertical Scaling mechanism used by a DatacenterBroker to request the dynamic scale of VM resources up or down, according to the current resource usage.
An abstract class for implementing VerticalVmScaling.
A VerticalVmScaling implementation which allows a DatacenterBroker to perform on demand up or down scaling for some Vm resource, such as Ram, Pe or Bandwidth.
An interface to be implemented by each class that provides basic features for Virtual Machines (VMs).
A base class for implementing Vms.
An interface to be implemented by each class that represents a policy, used by a Datacenter, to choose a Host to place or migrate a given Vm or VmGroup.
An abstract class that represents the policy used by a Datacenter to choose a Host to place or migrate a given Vm.
Allocates one different underloaded Host for each submitted VM from a List (in batch), if DatacenterBroker.isBatchVmCreation() is true, so that the broker sends a List of VMs to be created in a single event (instead of sending a new event for each VM).
A Best Fit VmAllocationPolicy implementation that chooses, as the host for a VM, the one with the highest number of PEs in use, which has enough free PEs for a VM.
A First Fit VM allocation policy which finds the first Host having enough resources to place a given VM.
An interface to be implemented by a VM allocation policy that detects Host under and over CPU utilization.
An abstract VM allocation policy that dynamically optimizes the VM allocation (placement) using migration.
A VmAllocationPolicyMigration that uses a Static CPU utilization Threshold (THR) to detect host under and over utilization.
An interface to be implemented by VM allocation policies that define a dynamic over utilization threshold, computed using some statistical method such as Median Absolute Deviation (MAD), Inter-quartile Range (IQR), Local Regression (LR), etc., depending on the implementing class.
An abstract class that is the base for implementation of VM allocation policies which use a dynamic over utilization threshold.
A VmAllocationPolicy that uses a Static CPU utilization Threshold (THR) to detect host under and over utilization.
A VM allocation policy that uses a static CPU utilization threshold to detect host over utilization.
A VmAllocationPolicy that uses a Static CPU utilization Threshold (THR) to detect host under and over utilization.
A VM allocation policy which finds a random Host having suitable resources to place a given VM.
A Round-Robin VM allocation policy which finds the next Host having suitable resources to place a given VM in a circular way.
A VmAllocationPolicy implementation that chooses, as the host for a VM, that one with the fewest PEs in use.
A Builder class to create Vm objects using the default values defined in Vm class.
Enables cloning a Vm which was destroyed due to a Host Failure.
A basic implementation of a VmCloner.
Computes the monetary ($) cost to run a given Vm, including the total cost and individual resource cost, namely: the processing power, bandwidth, memory and storage cost ($).
Keeps track of the number of VM creation requests and retries sent by a DatacenterBroker and enables configuring creation retries.
An interface that represents data to be passed to EventListener objects that are registered to be notified when some events happen for a given Vm running inside a Datacenter.
An interface that represents data to be passed to EventListener objects that are registered to be notified when some events happen for a given Vm.
Represents a List of Vms that form a group, so that should be placed together at the same, according to resource availability.
An interface that represents data to be passed to EventListener objects that are registered to be notified when some events happen for a given Vm that is related to some Host.
Represents a packet that travels from a NetworkVm to another, through the virtual network within a NetworkHost.
Represents the RAM resource of a Vm in Megabytes.
Computes resource utilization statistics for a specific resource on a given Vm.
An interface to allow implementing horizontal and vertical scaling of Vms.
An abstract class for implementing HorizontalVmScaling and VerticalVmScaling.
An interface that represents the policy used by a Virtual Machine Monitor (VMM) to share the processing power of a Host between Vms.
An abstract class for implementation of VmSchedulers.
A Virtual Machine Monitor (VMM), also called Hypervisor, that allocates one or more Pes from a Host to a Vm, **and doesn't allow sharing of PEs between VMs**.
A Virtual Machine Monitor (VMM), also called Hypervisor, that defines a policy to allocate one or more Pes from a Host to a Vm, and allows sharing of PEs by multiple VMs.
An interface to be used to implement Vm selection policies for a list of migratable VMs (VMs that can be migrated to another Host).
A VM selection policy that selects for migration the Vm with the Minimum Migration Time (MMT).
A VM selection policy that selects for migration the Vm with the Minimum Utilization (MU) of CPU.
A VM selection policy that randomly selects Vms to migrate from a host.
Implements the basic features of a Virtual Machine (VM), which runs inside a Host that may be shared among other VMs.
Historic data about requests and allocation of MIPS (Million Instructions Per Second) for a given Vm over the time.
A Pseudo-Random Number Generator following the Weibull distribution.
A Pseudo-Random Number Generator following the Zipf distribution.