This new status update attempts to summarize my professional activity for July and August. If you lack context, look at the bottom of this page for an introduction to the cited projects, or refer to previous similar reports: January 2024, February, March, April, May, June, (summer), September.

There is no class during the summer months, and I tend to have long vacations during that time. This year, I worked until July 15., had 2 weeks vacations, came back one week to the lab, and had 3 more weeks of vacations until the very last week of August, for the new term. That is why I write this report for the two months together: my time at the lab was shorter during that period than during a regular month. It's good to have such a long break in summer. I work quite a lot during the year, and I really enjoy the summer break. It's a bit hard to come back by the end of August, and that's usually one of the rare moment in the year when I grumble when coming to work.

I did almost nothing for research or teaching during this period, because it was yet another hectic period on the administrative front. As I said last month, A colleague of ENS Rennes got drafted in another institution by end-June. This good news (for him) got us all by surprise since such drafts usually occur in May in the French system. The preparation for the next year was already well underway. Since we were only 5 at the department with 4 years of curriculum, we are all vice-chair in the dpt, in charge of one specific year. With François leaving, we had to reorganize completely the vice-chair charges among us. We also had to find new teachers among the colleagues in the laboratory who are not part of the ENS CS dpt for all the classes that François used to teach. All this in a rush before the summer months when most colleagues already have their complete teaching service. Quite a stressful experiment.

I'm very happy for François who got a very nice position, but it'd be better if the colleagues in Lyon could take their decision earlier to save us the time to prepare the year twice... I don't blame them either since they did their best, but this situation remains unfortunate.

Also on the administrative front, we interviewed many prospective students to select our next group of students. That was our only occupation during the week in the middle of my vacations. The French Grandes Écoles system is a weird, in some sense, but we now have an exciting group of young people who will do great things, I'm sure.

Nothing new happened on the research side. I read many interesting books during the summer, some of them somewhat related to my thinking on the SmolPhone, such as Reprendre la terre aux machines by L'atelier paysan or Vallée du Silicium by Alain Damasio (both in French). But beyond that, I would not say that I did anything by myself that would be relevant to my research this summer. What a relief to have such breaks!

The only exception is that we interviewed several candidates for the SmolPhone engineering positions, but did not select anyone yet. Some candidates are very promising, but we still have to run technical interviews after the initial meeting before taking a decision. Also on the SmolPhone front, the internship of Israël is now finished, but unfortunately, he didn't write any report that I could publish here. The big lines are unchanged from last month: the power consumption measurement he did with the LTE Cat1 modem seem to imply that the SmolPhone could actually last several days on a regular 2 or 3 Ah battery, as we hope.

On the SimGrid front, I discovered yet another article misrepresenting SimGrid. The authors seem to miss the point that SimGrid is a network simulator itself, that can optionnaly use ns3 as an alternate network simulator. As a result, they write that simgrid is "simply" a middleware to combine a network simulator (ns3) with an external power simulator. It's particularly annoying because they have a category "Smart Grid simulators supporting communication network simulation" to which we should belong. They even list GridSim (!) in that section.

SimGrid is so often misrepresented in the literature that I come to doubt our ability to write papers, because it's hard doubting of the ability of ALL our fellow scientists to read our articles :(

On the open-source front, I discussed a bit with the upstream authors of the Frogatto game, because their license was much more restrictive in the new version 4 compared to the v1.3 that is already in Debian. Their realized this fact and decided to make the new license as free as the old one (that is: the code is free, but the assets are not). We still have some difficulties on the technical side to make a usable package. We have to further investigate together.

Finally, I had a bad time saving my Linux, because the Debian automatic installer decided to make a /boot partition that is only 500M. It's too small while it could have been much larger since I have a large hard disk. Back in the days, 500M were sufficient for /boot, but since a few months, the nvidia drivers are integrated to the boot kernel. It barely fits once everything is compiled, but the initrd compilation process fails because the partition gets filled with temporary files (if I understand correctly). So the upgrade of my Debian was failing, and I knew that any reboot would leave me with an unusable machine. After several weeks of mild stress, I decided to fix this situation during the summer.

I first removed firmware-nvidia, reinstalled linux-image 6.9 that I was using and 6.10 that was available. That gave me (probably) working initrd for those kernel versions, at least in the terminal without X. Then, I unmounted /boot (unmounting /boot/efi first), reinstalled firmware-nvidia and also kernel 6.10 to have a fully working initrd somewhere. Finally, I copied the content of the unmounted /boot into /boot2 on my root partition, before remounting /boot and /boot/efi, and copying the initrd file from boot2 to boot.

Also that month, I had to diagnose my machine for another problem and dig into the config of SystemD so that its log remain small enough to not clog my root partition. Gosh. 20 years after, using Debian still isn't trivial. I sometimes even get the feeling that the system complexity increases fast enough to create enough problems to keep us busy on useless things...

Context: The projects I'm working on these days

SimGrid is a simulator of distributed systems developed by a team of friends since 2000. It takes a distributed application (written in C++/C/Python using our dedicated APIs or in C/Fortran using the MPI standard), and it executes the application on a fast but realistic network simulation. It provides timing and energy consumption forecasts, allowing one to prototype, study or profile distributed systems in a wide range of settings, Over the years, it grounded the experimental sections of 630 scientific articles around the globe. This paper gives a somewhat outdated overview of the framework, but the replacement is still under review.

Mc SimGrid is a software model checker (SMC) embedded in the SimGrid framework. It exhaustively tests the applications that can run on top of SimGrid, exploring all possible orders of events to find bugs that only occur after a specific sequence of events. In some sense, it's related to fuzzing that tries to feed the application with random data to find bugs, but instead it exhaustively "randomizes" the events' scheduler. More info in this paper. That's the context of Mathieu Laurent's PhD thesis, co-advised with Thierry Jéron. We work on improving Mc SimGrid to eventually make it a widely usable tool. To that extend, we first aim at finding a wild bug, i.e. a bug that exists out there in an application rather than a synthetic bug that we add to test our tools.

SmolPhone is an action research on digital sufficiency as defined in this article. Other relevant keywords are low-tech and empowerment in IT systems. Its practical aspects consist in designing a sort of long-lasting smartphone. The goal is not to optimize a typical smartphone but rather to explore unusual hardware & software architectures. I take this as a journey to reconsider the way we design computing systems. Some more details are given in this short paper. Israël Kafando was an ENSSAT student, co-advised with Simon, Joseph and Mickaël Le Gentil.