Base plugin type.
Plugins allow configuring and adapting 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 pluginType.
Time estimation plugin provides means to include specific application performance models during simulations
and allows introducing 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 resourceType
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 resourceType.
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 resourceType.
It allows to model scheduling entity responsible for managing resources.
SchedulingPlugin derived from pluginType.
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 the given value is expressed
Attributes: unit - indicates appropriate units, for instance: seconds, watts, bytes etc.
StringValueWitUnit derived from string. Allows providing units in which the given value is expressed
Attributes: unit - indicates appropriate units.
Profile acts as a container for resource profiles: power and air throughput
ManagedComputingResource type specifies computing resources controlled by scheduler.
They can be provided either by listing their names or listing the group ids which they belong to.
Attributes: include - specifies whether the given resource layer (listed resources) can be allocated by the scheduler
In other words, false (default) value indicates that scheduler maneges only the subcomponents of the listed resources;
true value determines that also listed resources will be under the control of the defined scheduler
EnergyEstimationPlugin derived from pluginType.
Energy estimation plugin is used to estimate energy consumption of the given computing resource.
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 from 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 pluginType.
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
AirThroughputStates 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 using 3 coordinates
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