Hi all, This is the first time to write you. As part of my master's thesis at Budapest University I should simulate the key functions of VCL with CloudSim.
For that the allocating logic is very important part means how a computer is assigned to a reservation. I checked the cwiki page of VCL but the exact procedure is not published. I've started to look inside the code and found the predictive levels in PERL modules and it was understandable thanks to vcld.log file which helped me to backtrace when, how and who called thoose functions. Unfortunately this is not enough because the logic is missing how a computer will be assigned to an image/reservation. As I saw this allocating happens in Request.php (fn newReservation()) and maybe the main logic is in Utils.php (fn allocComputer). My problem is that there is no log that I can use to backtrace what and when happening and I don't understand how this allocating works. Some questions: Is it random which available computer will be used? If a computer is preloaded with the same image that a user chose too then where and how will be taken this into account and filter that computers which are preloaded with that image? What happens if a user requests such an image that is not preloaded on any computer, is it problem or only the provisioning time period will last a bit more? Can someone explain the logic behind the allocating procedure and tell me how the "computer-id" value of reservations table is calculated? Can you recommend me some technique to trace the "happenings" in php scripts? I tried to use Zend Server instead of php5 server but there is something wrong. Have you tried to use it with Zend Server, any documentation or it shouldn't be problem? Thank you in advance! Best regards, Norbert My advisor is Imre Kocsis and he suggested to mail here: "Hi all, I am Norbert's advisor. Norbert, I think you should have posted this to the 'dev' list rather than 'user'. Anyways, back in the summer when we started getting our feet wet with VCL I managed to find only a short and incomplete thread on the mailing list explaining the (largely undocumented) machine allocation and preparation scheduling logic - so any help is greatly appreciated. (Although based on our experience with the code base so far I think the necessary information can be traced back from the source with manageable effort.) To offer a bit of context to Norbert's questions: the larger goal is to have a simple discrete event simulator for a hybrid VCL setup in order to be able to play around with various reservation arrival processes, cost and possibly fault models. (I know that 'hybrid' VCL setups - as in mixing an in-house data center e.g. with EC2 - is not a technical reality for VCL yet, but we are very interested in how it could work from the long-term cost optimization and risk mitigation point of view for 'hardware budget conscious' VCL setups.) After understanding the necessary parts of VCL, hopefully we will be able to contribute some sort of documentation on (our understanding of) the internals back to the community. Best regards Imre"
