2022-05468 - Research Engineer in Operating Systems
Le descriptif de l’offre ci-dessous est en Anglais

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

Fonction : Ingénieur scientifique contractuel

Mission confiée

Efficient lock algorithms are key to ensuring application scalability on multi-core architectures [1, 2, 3]. While many lock algorithms have been proposed in the past decades to improve lock handover times under high contention as well as cache and NUMA locality, even the best lock algorithms can perform poorly due to unfortunate decisions from the OS scheduler.

The Berkeley Packet Filter (BPF) makes it possible to inject verified code inside the Linux kernel. While BPF was historically used for packet filtering, it is now commonly used for profiling, and it has recently been used in more exotic use cases (e.g., [4]).

We would like to use BPF to design a new family of lock algorithms that communicate and cooperate with the OS scheduler to overcome the limitations of the current state of the art.

As an engineer at Inria, you will help implement and evaluate this idea, with the objective of publishing the results in a top systems conference such as USENIX ATC or EuroSys.

[1] Jean-Pierre Lozi, Florian David, Gaël Thomas, Julia Lawall, Gilles Muller. Remote Core Locking: migrating critical-section execution to improve the performance of multithreaded applications. USENIX Annual Technical Conference (USENIX ATC) 2012.

[2] Tudor David, Rachid Guerraoui, Vasileios Trigonakis. Everything you always wanted to know about synchronization but were afraid to ask. Symposium on Operating Systems Principles (SOSP) 2013.

[3] Hugo Guiroux, Renaud Lachaize, Vivien Quéma. Multicore locks: the case is not closed yet. USENIX Annual Technical Conference (USENIX ATC) 2016.

[4] Yoann Ghigoff, Julien Sopena, Kahina Lazri, Antoine Blin, Gilles Muller. BMC: accelerating Memcached using safe in-kernel caching and pre-stack processing. Symposium on Networked Systems Design and Implementation (NSDI) 2021.

Principales activités

Main activities (5 maximum) :

  • Design and implement algorithms
  • Evaluate the performance of the proposed algorithms
  • Write reports and papers

Additional activities (3 maximum) :

  • Present the work as well as related work
  • Attend seminars, workshops, and/or conferences


Required Skills:

  • Thorough understanding of computer science fundamentals including data structures, algorithms, and complexity analysis
  • Good problem-solving skills
  • Knowledge and/or experience in systems/low-level programming
  • Notions of OS design
  • Advanced C programming
  • Holder of a Master's in computer science or equivalent

Preferred Skills:

  • Holder of a PhD in computer science

For applicants who don't already hold a PhD: there are opportunities for pursuing a PhD at Inria at the end of the contract.


  • Subsidized meals
  • Partial reimbursement of public transport costs
  • Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.)
  • Possibility of teleworking and flexible organization of working hours
  • Professional equipment available (videoconferencing, loan of computer equipment, etc.)
  • Social, cultural and sports events and activities
  • Access to vocational training