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 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 ValueWitUnit derived from double. Allows to provide units in which a given value is expressed Attributes: unit - indicate appropriate units, for instance: seconds, watts, bytes etc. 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 shoud be built on top of given resources or shoud also incude them. In other words, false (default) value indicates that scheduler maaner 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 allows powerState and other power-related paremters definition PowerState type act as a container for power states Power state defines availabe (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 AirThrouhputProfile type acts 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 to define additional resource paramters. Contains a list of parameter values or a list of key-value pairs. Attribute : name - denotes paramter name Property of paramter. Allows to define 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