Simplify the Batsim protocol
Currently some message of the batsim protocol have optional fields:
SUBMIT_JOBallows the scheduler to give a optional profile which is redundant with the
SUBMIT_PROFILEmessage. Maybe just removing the optional profile is enough
JOB_SUBMITTEDhave 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
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.