All Classes and Interfaces

Class
Description
Represents either a: (i) Physical Machine (PM) which implements the Host interface; or (ii) Virtual Machine (VM), which implements the Vm interface.
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.
A 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 PM or VM in Megabits/s.
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 createBroker DatacenterBrokerSimple objects.
A class that implements the Decorator Design Pattern in order to include features in a 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, aka Cloudlets.
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 allocated 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 virtual machine to run its Cloudlets.
An abstract class for implementing CloudletSchedulers representing scheduling policies performed by a virtual machine 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 virtual machine 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: processing of CloudletExecutionTasks; sending VmPackets from the Vm of the scheduler to other ones; or receiving VmPackets sent from other VMs to that Vm. The packet dispatching is performed by processing CloudletTasks inside a NetworkCloudlet.
A scheduling policy performed by a virtual machine to process CloudletTasks of a NetworkCloudlet.
Provides the methods to be used for implementing a heuristic to get a sub-optimal solution for mapping Cloudlets to Vm's.
A heuristic that uses Simulated Annealing to find a sub-optimal mapping among a set of Cloudlets and VMs in order to reduce the number of idle or overloaded Vm Pe's.
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.
The main class of the simulation API, that manages Cloud Computing simulations, providing all methods to start, pause and stop them.
Represents a simulation entity.
An event which is passed between the entities in the simulation.
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 CSV table.
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 implementation of DatacenterBroker that uses a Best Fit mapping between submitted cloudlets and Vm's, trying to place a Cloudlet at the best suitable Vm which can be found (according to the required Cloudlet's PEs).
An interface that represent data to be passed to EventListener objects that are registered to be notified when some events happen for a given DatacenterBroker.
A implementation of DatacenterBroker that uses a First Fit mapping between submitted cloudlets and Vm's, trying to place a Cloudlet at the first suitable Vm which can be found (according to the required Cloudlet's PEs).
A simple implementation of DatacenterBroker that uses some heuristic to get a suboptimal mapping among submitted cloudlets and Vm's.
A simple implementation of DatacenterBroker that try 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.
Represents static properties of a Datacenter such as architecture, Operating System (OS), management policy (time- or space-shared), cost and time zone at which the resource is located along resource configuration.
An interface that represent 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.
Implements the storage logic for a Datacenter.
An interface that represent 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.
Defines methods for an object that its execution can be delayed by some time when it is submitted to a Datacenter by a DatacenterBroker.
Represents 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.
Measurement of execution times of CloudSim's methods.
An abstract class to implement simulation experiments that can be executed in a repeatable way by a ExperimentRunner.
A base class to run a given experiment a defined number of times and collect statistics about the execution.
A Pseudo-Random Number Generator following the Exponential distribution.
A class for representing a physical file in a DataCloud environment
Stores related information regarding to a File entity.
An interface which defines the desired functionality of a storage system in a Data Cloud that performs operations on a file system, such as file inclusion, exclusion and renaming.
Floyd-Warshall algorithm to calculate the predecessor matrix and the delay between all pairs of nodes.
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 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 and/or Bandwidth utilization.
An interface to be implemented by each class that provides Physical Machines (Hosts) features.
A Builder class to create Host objects using the default configurations defined in 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.
A class that stores information 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 HTML table.
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 raised 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.
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.
An interface to be implemented by different kinds of Physical Machines (PMs), such as Hosts.
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 an 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 an Markdown table.
A class containing multiple convenient math functions.
Represents the requested or allocated MIPS 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.
NetworkDatacenter class is a Datacenter whose hosts have network support.
NetworkHost class extends HostSimple to 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.
A interface to be implemented by each class that provides the basic features of a virtual or physical Processing Element (PE) of a PM 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 virtual PEs to VMs from its physical PEs: if there is available MIPS on the physical PE, it allocates to a virtual PE; otherwise, it fails.
Pe (Processing Element) class represents a CPU core of a physical machine (PM), defined in terms of Millions Instructions Per Second (MIPS) rating.
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 interval, storing the results.
A common interface for implementing models of power consumption for entities such as Datacenters and Hosts.
Abstract implementation of a data center power model.
Simple power model defining the power consumption of a data center.
Abstract implementation of a host power model.
Simple power model for hosts with linear power profile.
A power model created based on data from SPEC power benchmark.
A predicate to select events with a specific tag.
A Central Unit Processing (CPU) attached to a Vm and which can have multiple cores (Pes).
Represents the RAM resource of a PM or VM in Megabytes.
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 allocated amount of resource.
An abstract implementation of a Resource.
An interface to allow getting the capacity of a given resource.
An interface to be implemented by a machine such as a Host or Vm, that provides 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.
A best-effort ResourceProvisioner policy used by a Host to provide a resource to VMs: if there is available amount of the resource on the host, it provides; otherwise, it fails.
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 computation of statistics for its resource utilization.
Allows simulating a Root switch which connects Datacenters to an external network.
SanStorage represents 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 sub-classes of this one.
An interface to be implemented by a class that manages simulation execution, controlling all the simulation life cycle.
An builder to help getting instance of other CloudSim object builders.
 
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.
Interface to be implemented by a Pseudo-Random Number Generator (PRNG) that follows some statistical distribution, even discrete or continuous.
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, 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 an 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.
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.
TraceField<R extends org.cloudsimplus.traces.google.GoogleTraceReaderAbstract>
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 providing features for subclasses implementing trace file readers for specific file formats.
An abstract class providing additional features for subclasses implementing 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 class with general purpose utilities.
An interface to be implemented in order to provide a fine-grained control over resource usage by a Cloudlet.
Defines the unit of the resource utilization.
An abstract implementation of UtilizationModel.
A Cloudlet UtilizationModel that allows to increase the utilization of the related resource along the simulation time.
A UtilizationModel that according to which, a Cloudlet always utilizes a given allocated resource from its Vm at 100%, all the time.
Defines a resource utilization model based on a PlanetLab Datacenter workload (trace) file.
Implements a model, according to which a Cloudlet generates random resource utilization every time frame.
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 of Virtual Machines (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.
A Best Fit VmAllocationPolicy implementation that chooses, as the host for a VM, the one with the most 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 suitable 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 VmAllocationPolicy that uses a Static CPU utilization Threshold (THR) to detect host under and VmAllocationPolicyMigrationStaticThreshold.getOverUtilizationThreshold(Host) 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 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 VmAllocationPolicyMigrationStaticThreshold.getOverUtilizationThreshold(Host) 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.
An interface that represent 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.
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 processing power of a PM among VMs running in a host.
An abstract class for implementation of VmSchedulers.
VmSchedulerSpaceShared is a VMM allocation policy that allocates one or more PEs from a host to a Virtual Machine Monitor (VMM), and doesn't allow sharing of PEs.
VmSchedulerTimeShared is a Virtual Machine Monitor (VMM), also called Hypervisor, that defines a policy to allocate one or more PEs from a PM 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.
A VM selection policy that selects for migration the VM with Minimum Migration Time (MMT).
A VM selection policy that selects for migration the VM with Minimum Utilization (MU) of CPU.
A VM selection policy that randomly select VMs to migrate from a host.
Implements the basic features of a Virtual Machine (VM) that runs inside a Host that may be shared among other VMs.
Historic data about requests and allocation of MIPS 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.