I'm wondering whether someone has any experience on teaching distributed systems using the simulator SimGrid (http://simgrid.gforge.inria.fr/)... Any help or comment will be welcomed!
You will probably consider my answer biased as I'm one of the developers of SimGrid. :)
I know several people who have used it to teach parallel or distributed systems and to the best of my knowledge they were quite satisfied. The SimGrid development team is very concerned about providing a portable, stable and hight quality software and is quite responsive on the mailing list. Although SimGrid is initially developed for research and for C programmers, the java support is now quite stable and can definitely used to teach students the basis of distributed algorithms.
I suggest you have a look at Henri Casanova's lecture on Concurrent Programming: http://henricasanova.github.io/ics632_fall2015/modules/messagepassing/. Using SMPI (http://henricasanova.github.io/ics632_fall2015/morea/MessagePassing/LaTeX/ics632_messagepassing_assignment.pdf) revealed very effective and he details the reason why he relies on simulation in http://henricasanova.github.io/ics632_fall2015/morea/GettingStarted/LaTeX/ics632_introduction.pdf.
Hi Myriam, thanks for let me know about them....In your opinion, what is the best for teaching? As you can see, I don't look for the most powerful simulator. I would like to find one involving both a teaching-oriented approach and the capability for simulating the most common distributed systems.
You will probably consider my answer biased as I'm one of the developers of SimGrid. :)
I know several people who have used it to teach parallel or distributed systems and to the best of my knowledge they were quite satisfied. The SimGrid development team is very concerned about providing a portable, stable and hight quality software and is quite responsive on the mailing list. Although SimGrid is initially developed for research and for C programmers, the java support is now quite stable and can definitely used to teach students the basis of distributed algorithms.
I suggest you have a look at Henri Casanova's lecture on Concurrent Programming: http://henricasanova.github.io/ics632_fall2015/modules/messagepassing/. Using SMPI (http://henricasanova.github.io/ics632_fall2015/morea/MessagePassing/LaTeX/ics632_messagepassing_assignment.pdf) revealed very effective and he details the reason why he relies on simulation in http://henricasanova.github.io/ics632_fall2015/morea/GettingStarted/LaTeX/ics632_introduction.pdf.