GridSim is a message passing toolkit. Messages are passed around to different components that are either instructions of what to do, or data (or task).
Typical messages/commands are:
– Data: task or gridlet sent to the scheduler
– Control messages: schedule tasks, done with scheduling, tasks pending, task started, …
There are a number of control messages – many I added to the Alea framework, but on a couple of data messages. The concept doesn’t change, however. Message of a given type is sent to a destination, and there is logic on the receiving side that knows how to decode that message.
Alea framework is for the most part incomplete and very difficult to work with. Data is hard-coded, the configuration is rigid and the code is not structured well (not proper OOD practices/patterns were followed). I did made changes to the base code, but started to refactor and create “new” classes that are better designed and manageable.
There is now a submission strategy/policy via which you can change your submission policy. The policy is API controlled, but I am hoping to make everything be file-based/controlled. Alea would read job information from a file; that’s very limiting. We change that to be all automated. Based on the policy and the number of jobs/tasks, you can publish any which way you want, simulating as many clients as you want.
There is now a proper Fair-share scheduler. It is not efficient b/c it uses too many locks, but it implements the scheduler pattern that I outlined in an earlier post
Control messages: added a number of control messages to signal the state of the queues. Are they empty? should we do another round of scheduling? etc, etc.
Lot more to go… I am working on my second paper which is due the end of December 2014. Once that paper is completed, I will move on to phase 2, which is better measurement of the grid resources/tasks.