Type de contrat : CDD
Niveau de diplôme exigé : Bac + 5 ou équivalent
Fonction : Doctorant
A propos du centre ou de la direction fonctionnelle
The Inria Rennes - Bretagne Atlantique Centre is one of Inria's eight centres and has more than thirty research teams. The Inria Center is a major and recognized player in the field of digital sciences. It is at the heart of a rich R&D and innovation ecosystem: highly innovative PMEs, large industrial groups, competitiveness clusters, research and higher education players, laboratories of excellence, technological research institute, etc.
Contexte et atouts du poste
JavaScript programs are typically executed by a JIT compiler, able to handle efficiently the dynamic aspects of the language. However, JIT compilers are not always viable or sensible (e.g., on constrained IoT systems, due to secured read-only memory (W⊕X), or because of the energy spent recompiling again and again).
Within the framework of a partnership between two Inria project-teams (PACAP in Rennes and INDES in Sophia Antipolis), we propose to rely on ahead-of-time compilation, and achieve performance thanks to optimistic compilation, and detailed analysis of the behavior of the processor, thus requiring a wide range of expertise from high-level dynamic languages to microarchitecture.
The PhD will be co-advised by Erven Rohou (PACAP) and Manuel Serrano (INDES). The PhD student will be administratively registered at the University of Rennes 1.
This position will require trips to Inria Nice Sophia Antipolis several times a year (travel expenses covered).
Mission confiée
The ideas and tools that will be crafted during this PhD will be used to analyze and compare the different JavaScript implementations in order to shed light on aspects of the executions that are generally badly understood. That is, this analysis will compare the behavior of the different executions and their adaptation to actual hardware settings, instead of focusing on raw performance of JavaScript benchmark as most analyses do. More precisely, Hopc has various code generation strategies to translate JavaScript to C. The goal is to compare them with each other, and also against what existing JIT compilers do.
The PhD candidate will:
- initially analyze and compare the different JavaScript implementations (commercial JITs and Hop) in order to shed light on aspects of the executions wrt. the microarchitecture that are generally badly understood;
- then, they will assess the various code generation strategies of Hop. For this purpose, the initial idea consists in three steps: first, run the programs and measure wall-clock time; second, run under the control of the perf tool to collect low-level information from hardware counters, such as instruction count, branch misprediction, behavior of memory hierarchy, etc; finally, the statically generated code is run in a micro-architecture simulator, developed by PACAP, capable of precisely pinpointing the behavior of particular instructions, such as branch or memory instructions.
As a result of analyzing the data, the objective is to derive recommendation about the best code generation strategy for the static compilation of JavaScript.
Principales activités
- Conduct bibliographic study
- Elaborate and discuss of new ideas
- Implement ideas in an experimental compiler framework
- Conduct performance evaluation and experimentation
- Write scientific papers
- Give research talks
- Write a thesis manuscript
Compétences
Required technical skills :
- proficiency in C, C++, and JavaScript languages
- understanding of assembly language
- knowledge of compiler internals
- knowledge of processor microarchitecture
Languages : English (read, written, spoken)
Relational skills : ability to work in a team
Avantages
- Subsidized meals
- Partial reimbursement of public transport costs
- Possibility of teleworking ( 90 days per year) and flexible organization of working hours
- partial payment of insurance costs
Rémunération
monthly gross salary amounting to 1982 euros for the first and second years and 2085 euros for the third year
Partager
Informations générales
- Thème/Domaine :
Architecture, langages et compilation
Ingénierie logicielle (BAP E) - Ville : Rennes
- Centre Inria : CRI Rennes - Bretagne Atlantique
- Date de prise de fonction souhaitée : 2022-09-01
- Durée de contrat : 3 ans
- Date limite pour postuler : 2022-08-16
Contacts
- Equipe Inria : PACAP
-
Directeur de thèse :
Rohou Erven / erven.rohou@inria.fr
A propos d'Inria
Inria est l’institut national de recherche dédié aux sciences et technologies du numérique. Il emploie 2600 personnes. Ses 200 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3500 scientifiques pour relever les défis du numérique, souvent à l’interface d’autres disciplines. L’institut fait appel à de nombreux talents dans plus d’une quarantaine de métiers différents. 900 personnels d’appui à la recherche et à l’innovation contribuent à faire émerger et grandir des projets scientifiques ou entrepreneuriaux qui impactent le monde. Inria travaille avec de nombreuses entreprises et a accompagné la création de plus de 180 start-up. L'institut s'efforce ainsi de répondre aux enjeux de la transformation numérique de la science, de la société et de l'économie.
Consignes pour postuler
Please submit online : your resume, cover letter and letters of recommendation eventually
For more information, please contact erven.rohou@inria.fr
Sécurité défense :
Ce poste est susceptible d’être affecté dans une zone à régime restrictif (ZRR), telle que définie dans le décret n°2011-1425 relatif à la protection du potentiel scientifique et technique de la nation (PPST). L’autorisation d’accès à une zone est délivrée par le chef d’établissement, après avis ministériel favorable, tel que défini dans l’arrêté du 03 juillet 2012, relatif à la PPST. Un avis ministériel défavorable pour un poste affecté dans une ZRR aurait pour conséquence l’annulation du recrutement.
Politique de recrutement :
Dans le cadre de sa politique diversité, tous les postes Inria sont accessibles aux personnes en situation de handicap.
Attention: Les candidatures doivent être déposées en ligne sur le site Inria. Le traitement des candidatures adressées par d'autres canaux n'est pas garanti.