2022-05096 - Doctorant F/H Linux as a micro-kernel

Type de contrat : CDD

Niveau de diplôme exigé : Bac + 5 ou équivalent

Fonction : Doctorant

Contexte et atouts du poste

In order to facilitate the integration of new schedulers in production-grade operating systems, two main approaches have been proposed: user-defined kernel-level schedulers and user-defined user-level schedulers. In the first case, the scheduling policy is injected (as a plug-in) into the operating-system kernel. In the second case, the custom scheduler runs in user mode (like an application) and interacts with the kernel to leverage its internal mechanisms (e.g., context switching) – only the scheduling policy is delegated to user space. The second approach offers the following benefits: (1) leveraging conventional debugging tools, (2) easily replacing the current scheduling policy (with a simple process launch/restart), (3) using a high-level programming language for the  development of the scheduler code. A first step in the latter direction is ghOSt, from Google and Stanford. uFS, from the University of Wisconsin, similarly runs the file system in user space.

This PhD will be jointly supervised by Alain Tchana of ENS Lyon and Jean-Pierre Lozi of Inria Paris.

Mission confiée

So far, Linux kernel services have been externalized to user-space individually, with the hypothesis that the other operating-system services run in kernel space. For instance, in uFS the file system is a process that includes several threads. Although the uFS file system worker threads are pinned to dedicated cores, one can imagine their management by the kernel scheduler in order to avoid core waste. How could a userland scheduler such as ghOSt take those threads into account? More generally, no one is able to say how to make all these Linux services run effectively, efficiently, and in symbiosis at the user-space level. We want to answer this question. Also, as a bigger challenge, we want to study the externalization of the Linux's memory management subcomponent, on which all other components rely.

Principales activités

Study of algorithms for key Linux kernel services, design of an approach supporting the construction of efficient user-level counterparts, evaluation of the approach on real applications, writing papers, presentation of the work.

Compétences

Good knowledge of C code. Strong knowledge of operating system design. Familiarity with the Linux kernel source code would be helpful.

Avantages

  • Restauration subventionnée
  • Transports publics remboursés partiellement
  • Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
  • Possibilité de télétravail et aménagement du temps de travail
  • Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
  • Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
  • Accès à la formation professionnelle