[Haizea] Developer Docs...

Borja Sotomayor borja at borjanet.com
Tue Dec 16 20:22:32 CST 2008


Hi,

> Firstly, One of the files I want to change is the sample_trace.conf i.e. 
> I want to have resources with different capabilities. Currently, all the
> nodes are assumed to have the same characteristics e.g. CPU,Mem etc. using 
> the "resources" option in the sample_trace.conf( please correct me if I am 
> wrong). However, I want to add an extra characteristic e.g. availability 
> of "MRI device" with the resources and for this, I assume that not all the 
> resources will have such device. I tried to have multiple "resources" 
> options but, of course, that does not seem to work. Could you please 
> suggest something in this regard...

Adding new resource "dimensions" is not too hard, and can be done simply 
by modifying the "resources" option of the [simulation] section. 
However, I'm assuming what you need is to create a simulated resource 
pool with heterogeneous resources (some having an MRI device and others 
not, the same way some nodes could have X memory and others Y memory). 
This is currently not supported, as nodes are assumed to be homogeneous 
(actually, the underlying code supports having heterogeneous nodes; 
there is just currently no way of specifying this in the configuration 
file).

This will eventually get added to Haizea, but is not something that has 
a high priority for me right now. If you are interested in implementing 
this feature, I can point you to the parts of the code that would have 
to be modified.


> Secondly, I believe the "changepoints" logic for the Best Effort leases 
> comes into play with "suspension" being true and/or the resource is 
> migrated/resumed. Please correct me if I am wrong again...

"changepoints" are used in several parts of the scheduling code, and 
represent points in the slottable where there is a change in resource 
usage (e.g., because a lease ends). So, they are relevant to a number of 
scheduling tasks, including deciding when a lease would have to be 
suspended (at the changepoint where resource availability drops below 
the point where it can meet the resource requirements of the lease).


> Finally, can anyone please suggest ways to analyze the output of the 
> simulation.

In the current version of Haizea, all simulation data is saved to a 
datafile that has to be analysed programmatically. However, I recently 
wrote a simple command that takes a datafile (or a collection of 
datafiles) and converts them to a more usable format (currently, only 
CSV is supported; in my case, I pipe that CSV to an R script that 
produces graphs based on the data). I've commited it to SVN, in case you 
want to use the command, or at least look at it to better understand how 
the datafile can be processed. The command is called 
"haizea-convert-data". You can see the code here:

https://phoenixforge.cs.uchicago.edu/haizea/browser/trunk/bin?file=haizea-convert-data

and in class "haizea_convert_data" at the end of this file:

https://phoenixforge.cs.uchicago.edu/haizea/browser/trunk/src/haizea/cli?file=commands.py

If you want to use the command, I wouldn't recommend checking out all of 
Haizea, since there have been some interface changes elsewhere in the 
code that may break work you've already done. Instead, I suggest you 
check out the two files above (and use them to replace the same files in 
your current Haizea installation)

The command is used like this:

	haizea-convert-data -t <type> -f <format> <datafile(s)>

<type> is either "per-experiment" or "per-lease". When using 
"per-experiment", the command will produce a CSV file with one line per 
datafile (i.e., one run of the simulator), and will include aggregated 
information (currently, just the time required to run all the best 
effort leases). When using "per-lease", then there will be one line per 
lease with information such as the waiting time of the lease and its 
slowdown.

The only <format> supported right now is "csv".

Anyway, I hope this help. The next release of Haizea will include this 
command and documentation on how to use it.

Cheers!
-- 
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Borja Sotomayor, University of Chicago
  Ph.D. Candidate, Department of Computer Science
  Ryerson 257-C, 1100 East 58th Street, Chicago, IL
  http://people.cs.uchicago.edu/~borja/
Haizea: http://haizea.cs.uchicago.edu/
·····························································
          "Dis maschine vill run und run!"
                -- Kurt Gödel (on the Turing Machine)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


More information about the Haizea mailing list