Simplify the Batsim protocol
Currently some message of the batsim protocol have optional fields:
-
SUBMIT_JOB
allows the scheduler to give a optional profile which is redundant with theSUBMIT_PROFILE
message. Maybe just removing the optional profile is enough -
JOB_SUBMITTED
have 3 different ways to give information to the scheduler.
Also, I already reach the limitation of forwarding information in the message for the JOB_KILLED
message: The progress given for composed profile is quite simple if the scheduler knows the profiles, but if it does not the code of Batsim to manage this become more and more complex.
So, I suggest to use the SIMULATION_BEGINS
message to give a maximum of information (It already does that with the config, the resources, the workloads and I just added the profiles. Now we can add the jobs so we can simplify the JOB_SUBMITTED
message.
It implies to store these information in the scheduler from the beginning so the memory consumption would be higher of course. But I think that we kept redis exactly for this purpose: when we reach scaling limitation.