Skip to content

Getting Started

Giuliano Casale edited this page Oct 21, 2016 · 12 revisions

Run the DICE-FG demos

Got to the DICE-FG directory:

cd DICE-Enhancement-FG/trunk/

Linux

Run a demo of the estimation algorithms:

./bin/run_dicefg.sh MCR_FOLDER ./tests/test1/configuration_test_est.xml

where MCR_FOLDER needs to be replaced with the installation folder of the MCR (e.g., /usr/local/MATLAB/MATLAB_Compiler_Runtime/v90). See bin\readme.txt for additional information.

Run a demo of the fitting routines:

./bin/run_dicefg.sh MCR_FOLDER ./tests/test1/configuration_test_fit.xml

Windows

Run a demo of the estimation algorithms:

./bin/run_dicefg.sh MCR_FOLDER ./tests/test1/configuration_test_est.xml

where MCR_FOLDER needs to be replaced with the installation folder of the MCR. See bin\readme.txt for additional information.

Run a demo of the fitting routines:

./bin/run_dicefg.sh MCR_FOLDER ./tests/test1/configuration_test_fit.xml

Defining a new analysis

DICE-FG analyses are entirely specified using a XML configuration file provided as a command line parameter to run_dicefg.sh script. The general structure of the configuration file is as follows (call it config.xml)

<?xml version="1.0" encoding="utf-8"?>
<fg>   
    <configuration>
		<parameter type='...' value='...'>	
		...
	</configuration>
    <dataset>
		<parameter type='...' value='...'>
		...
	</dataset>
    <analysis>
		<parameter type='...' value='...'>
		...
		<resource value='...'>
			<output>
				<parameter type='...' value='...'>
				...
			</output>
		</resource>
	</analysis>
</fg>

where '...' needs to be replaced by an element tree. The configuration tree specifies the general FG configuration, the dataset tree specifies the input data, and each analysis tree(s) defines a run of FG with a specific estimation or fitting algorithm.

Configuration tree

Parameter Value
Verbose 0: silent
1: normal
2: debug

Dataset tree

Parameter Value
StartTime start timestamp
EndTime end timestamp
ResourceList path to JSON or MAT file
ResourceDataFile path to JSON or MAT file
ResourceClassList path to JSON or MAT file
SystemDataFile path to JSON or MAT file
SystemClassList path to JSON or MAT file
Technology agnostic
hadoop
TechnologyInfo path to JSON or MAT file

Algorithm tree

Parameter Value
Verbose 0: silent

More details can be found in the Configuration XML Manual.

Once the XML configuration file is created, the run_dicefg.sh script can be run as shown in the previous section to carry out the FG analysis. For example, if the configuration is stored in config.xml we can simply type

./bin/run_dicefg.sh MCR_FOLDER config.xml

Creating an input data file

Input data files are specified either using JSON files (.json extension) or MATLAB's files (.mat extension). Two kind of datasets can be provided in input to FG:

  • Resource dataset: measurements associated to a given resource, e.g., utilization at VM 1.
  • System dataset: measurements for a collection of resources, e.g., end-to-end latency in a distributed application, aggregate number of jobs in two servers.

The easiest way to specify each dataset is a MATLAB cell array. However, users without a MATLAB license can either use GNU octave or specify the dataset using JSON. A detailed description of the requires data structure is provided in the Input Data Manual.