Today I gave a 3 hour tutorial at the HPCS conference. The agenda is close to the talk I gave at the begining of the month at RGE: The classical introduction to why we need to study carefully scientific applications, the classical developement about why SimGrid, and a conclusion about the remaining work to really achieve Open Science in experiments about distributed systems.. But since I had more than 3 times the time, it is ways more detailed. It contains a lot of content, almost everything from the old tutorial I gave several times around the globe, in only 72 slides. In particular, I presented the models, a quick evaluation, and the full content about instanciating the platforms (manual catalog, synthetic generation and automatic mapping) as well as all user interfaces (not only MSG as in RGE).

Download PDF

Here is a handout version, ready to print.

It went very well, and I even managed to NOT be short on time this time. It gave me time to throughfully pass my message about the need for open science in our domain. We had an interesting discussion during the questions. Here are some of them:

  • Why should I use simulation now that Google and Amazon make it so easy to run distributed experiments?

Two answers: first, with simulation you don't need access to these platforms. You can do it in the plane or train without GSM access. You won't be charged for your experiments either. Then, these platforms provide no experimental control, so you cannot use them to do /good/ science.

  • Can I use Simulacrum (our synthetic platform generator) with GridSim or OptorSim simulations?

Answer: It should be possible, but the loader of the produced XML files is not written yet. That shouldn't be too difficult, and I'd be interested in earing from that if these stubs/loaders get written.

  • To ensure that Open Science arises in our domain, should we make sure that submitting the experiment source codes is mandatory to get published in some conferences?

Answer: I guess that the community is not ready to do so in the biggest conferences yet. And if publishing in a smaller conference gets really harder because of that constraint, I guess that the main result will be that the smaller conf deciding to go that way will have a very bad time receiving enough submissions to survive.

So my point is more on seducing researchers about the advantages of Open Science than requesting them to go that way. I cited an experiment where our open science approach allowed us to detect the flawed experimental setting which broke the experiment very easily. Without those detailed logs, this would have turned into a real nightmare. Another argument which was given by a participant is that publishing your "crappy" experimental code is the best way to get cited: if you allow people to build upon your work, you'll have a much larger impact than if you don't.

  • We are using GridSim right now. Should we switch? Why?

Answer: that's very hard to say for sure. I'd of course advise switching, but we don't have the scientific argument about why, in which conditions, someone should really switch and when GridSim is just good enough. I'd be interested if someone external to each development team would conduct a full study of this point.

  • I would like to use SimGrid (instead of the GridSim I have right now), but I'm studying advance reservation of bandwidth. Is it possible in SimGrid?

Answer: no, it's not possible yet. That's an interesting request, we could do that quite easily in SimGrid, althroug maybe not by a newcommer. Please get in touch with us per email.

Technical note I didn't gave to that person: that's an argument to allow the users to add constraints in the LMM system underlying the models. That's not the first time that someone wants something which can easily be solved by adding new constraints in that linear system. Previously was the switches maximal amount of sharing, which is somewhere between the SHARED and FATPIPE links we have in SimGrid. The constraint is quite trivially expressed in LMM. Maybe we want to allow people with non classical needs to express such things themselves without having to hack the model? Maybe documenting more how to hack the model would be enough?