Base plugin type.
Plugins allow a researcher to configure and adapt the simulation framework to his/her experiment
starting from modeling job performance, through method of calculating energy estimation up to implementation of scheduling policies
Name of the plugin specifies the JAVA class that implements dedicated interface.
TimeEstimationPlugin derived from Plugin.
Time estimation plugin provides means to include specific application performance models during simulations
and allows researchers to introduce specific ways of calculating task execution time.
Base resource type.
It allows to define simulation entities like computing resources, devices, schedulers.
Attributes: class - determines the component of the architecture i.e. rack, processor, memory, storage etc.
type - type of resource; for instance, continuous for memory, bandwidth, etc. and discrete for processors
name - unique resource identifier, if not specified it will be generated by the simulator in the following manner: class + "_" + subsequent_natural_number
ComputingResource derived from Resource
Computing resource specifies resources that are able to perform computing operations.
From the simulator point of view computing resource is everything that is/contains processing element.
Hence, all entities like core, processor, computing node, as well as those which aggregate them (like shelf, rack, container etc.)
should be define using this type. This way of description provides flexibility in defining system architecture
and allows to build hierarchy of resources that corresponds to real world.
Attributes: groupId - allows to group resources of the given class in the logical structures that can be used during binding them with schedulers
count - defines number of resources of the given class
ComputingResourceTemplate derived from Resource.
It allows user to define model of computing resource component that may constitute other computing resources
Computing resource templates can be then referred in computing resource definition
Scheduler derived from Resource.
It allows to model scheduling entity responsible for managing resources.
SchedulingPlugin derived from Plugin. Scheduling plugins allow plugging scheduling algorithms into the simulated environment.
Elements: frequency - is used to enable scheduling periodically; it specifies the time interval (in seconds by default) between subsequent scheduling invocations
Resource unit is used to define non-computing resource like memory, storage etc.
Elements: amount - represents concrete amount (values) of specific resource unit
DoubleValueWitUnit derived from double. Allows providing units in which a given value is expressed
Attributes: unit - indicate appropriate units, for instance: seconds, watts, bytes etc.
StringValueWitUnit derived from string. Allows providing units in which a given value is expressed
Attributes: unit - indicate appropriate units.
ManagedComputingResource type specifies controlled (by scheduler) computing resources.
They can be provided either by listing their names or listing the group ids for which they belong
Attributes: include - specifies whether scheduler should be built on top of given resources or should also include them.
In other words, false (default) value indicates that scheduler manner only subcomponents of the listed resources;
true value determines that also listed resources will be under the control of the defined scheduler
EnergyEstimationPlugin derived from Plugin.
Energy estimation plugin is used to customize estimation of energy consumptions of the given computing resource
to specific applications and hardware. It has access to the detailed resource description including power and air throughput profiles
and application characteristics running on a given resource
Profile acts as a container for resource profiles: power and air throughput
Power profile provides energyEstimation plugin, powerStates and other power-related parameters definition
PowerState type act as a container for power states. It contains energy-related characteristics of the computing resource
Power state defines available (for computing resource) power states.
Elements: name - denotes name of the given power state
powerUsage - defines power consumption in the given state
transition - specifies possible power states transitions form the given power state
Description of power states transtition
Elements: to - denotes name of target power state
powerUsage - defines transition cost in the form of power consumption
time - specifies transition time
AirThroughputEstimationPlugin derived from Plugin.
Air Throughput plugin is used to estimate air flow value based on the defined air throughput states
AirThrouhputProfile provides airThroughputEstimation plugin, airThroughputStates and other airThroughput-related parameters definition
AirThroughputState type act as a container for air throughput states.
Air througput state provides means to define air flow level.
It can represent, for instance, a fan working state
The location type describes placement of the computing resource in the 3D coordinate system
Parameter of resource. Allows defining additional resource parameters.
Contains a list of parameter values or a list of key-value pairs.
Attribute : name - denotes parameter name
Property of parameter. Allows defining additional properties of parameter as a list of values.
Attribute : name - denotes property name
Schema describing simulation environment
Description of resources
Definition of computing resource templates that can/will be used in resource description section