Dear all (developers and curious people),
we definitely need some kind of benchmarking system in order to correctly predict the running time of our workunits. So, let me first summarize the things we know, please double check them and tell me if something is wrong.
- a PC-IM is made by workunits (all of them, except the last one, are more or less the same computational size)
- Any workunit is a set of some PCs, this is a database variable (num_pc_wu), right now (globally set to) 200, in the future it should be made a PC-IM variable
- We have some input parameters (alpha, niter, tsize), ~~only~~ tsize and alpha greatly influence the running time.
- We can assume that the minimal chunk of computation is just one PC, call the running time of this single PC "pc_time". Other inputs will just multiplies pc_time.
- The running time is obviously also influenced by the data contained in the input files, mainly L (but we can forget about this by now)
What I/we need is a simple system (very simple, I would like to have it written in php for further integrate it into the web access code but if you can write it in a simple way or can tell me how it works I can write a php version later) that does:
- create a set of single workunits that will run just a single PC by varying the tile size (just a few of them)
- run them on a benchmark machine, we obviously have to know its boinc calculated flops value (Measured floating point speed)
then
a) now, **urgent**, for running E coli experiments
- collect the running times and see if they fit a polynomial interpolation (start with a 3rd degree one), do the right scale factoring and put the formula inside the work generator
b) later
- collect the running times, do the multiplications and modify the work generator to use the benchmark time for the expected running time for each generated workunit
- adjust the num_pc_wu value in order to produce workunits of more or less the same running time
valter
[**UPDATE**] The alpha parameter also greatly influences running times, on a benchmark machine, EC/ts=2000, running time is 4 times longer with higher alpha |