Improving Memory Management in the Linux Kernel
Inria
Paris
Improving Memory Management in the Linux Kernel
Le descriptif de l’offre ci-dessous est en Anglais
Type de contrat : CDD
Niveau de diplôme exigé : Bac + 4 ou équivalent
Fonction : Stagiaire de la recherche
Contexte et atouts du poste
Inria is the French national research institute for digital science and technology. World-class research, technological innovation, and entrepreneurial risk are its DNA. In 215 project teams, many of which are shared with major research universities, more than 3,900 researchers and engineers explore new paths, often in an interdisciplinary manner and in collaboration with industrial partners to meet ambitious challenges.
As a technological institute, Inria supports the diversity of innovation pathways: from open-source software publishing to the creation of technological startups (Deeptech).
Inria Paris is located near Gare de Lyon in Paris. There are opportunities for pursuing a PhD at Inria after the internship.
Mission confiée
On modern architectures, the performance of memory management in the Linux kernel is intrinsically linked to synchronization and scheduling algorithms. Kernel memory management uses read-write locks which are a performance bottleneck in some applications. The kernel developers have tried to optimize read-write locks with a feature called optimistic spinning, but the approach significantly worsened performance on a MapReduce runtime and it was since partially abandoned [1]. At the same time, in the Linux scheduler, AutoNUMA aims to improve the performance of memory management on Non-Uniform Memory Architectures (NUMA), but the optimizations AutoNUMA uses are very simplistic, and it is unclear they always improve performance. In particular, AutoNUMA only focuses on migrating memory pages, not on replicating them—which has been shown to be worthwhile in previous research [2].
[1] Waiman Long. [PATCH 7/7] locking/rwsem: Remove reader optimistic spinning.
https://lore.kernel.org/all/[email protected]/
[2] Dashti, Mohammad, Alexandra Fedorova, Justin Funston, Fabien Gaud, Renaud Lachaize, Baptiste Lepers, Vivien Quema et Mark Roth. Traffic management: a holistic approach to memory placement on NUMA systems. International conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) 2013.
https://dl.acm.org/doi/10.1145/2451116.2451157
Principales activités
As an intern at Inria, you will study the performance bottlenecks induced by synchronization and scheduling on memory management in the Linux kernel. Following this analysis, you will propose optimized synchronization and/or scheduling algorithms that allow for improved scalability, with the objective to publish your findings in top systems conferences such as SOSP, OSDI, USENIX ATC, and EuroSys.
Compétences
- 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
Avantages
- 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 (after 6 months of employment) 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
- Social security coverage