Ingénieur Machine Virtuelle -- support compilation JIT (H/F)
Type de contrat : CDD
Contrat renouvelable : Oui
Niveau de diplôme exigé : Bac + 5 ou équivalent
Autre diplôme apprécié : Ingénieur en systèmes d'information
Fonction : Ingénieur scientifique contractuel
Niveau d'expérience souhaité : Jeune diplômé
A propos du centre ou de la direction fonctionnelle
Le centre de recherche Inria de l'Université de Lille, créé en 2008, compte 360 personnes dont 305 scientifiques répartis dans 15 équipes de recherche. Reconnu pour son implication forte dans le développement socio-économique sur le territoire des Hauts-De-France, le centre de recherche Inria Lille – Nord Europe poursuit une démarche de proximité avec les grandes entreprises et les PME. En favorisant ainsi les synergies entre chercheurs et industriels, Inria participe au transfert de compétences et d’expertises dans les technologies numériques et donne accès aux meilleures recherches européennes et internationales au bénéfice de l’innovation et des entreprises notamment en région.
Depuis plus de 10 ans, le centre Inria de l'Université de Lille est installé au coeur de l’écosystème universitaire et scientifique lillois ainsi qu’au coeur de la Frenchtech avec un showroom technologique, basé avenue de Bretagne à Lille, sur le site d’excellence économique consacré aux technologies de l’information et de la communication (TIC) qu’est EuraTechnologies.
Contexte et atouts du poste
L’objectif de l’équipe Evref est de soutenir des systèmes toujours en fonctionnement. Cet objectif est abordé sous deux angles complémentaires : la réingénierie des grands systèmes et les constructions pour les langages de programmation dynamiques et réfléchis.
Dans la perspective de la réingénierie, nous proposons de nouvelles analyses pour comprendre et restructurer les grandes applications existantes (métriques de paquets spécialisées, visualisations adaptées, identifications de couches, migration automatisée) en plus de Moose (une plateforme de réingénierie open-source) http://www.moosetechnology.org. Nous travaillons sur l'identification et la validation des règles. Nous avons créé Synectique http://synectique.eu, une société qui déploie des outils permettant d'analyser des logiciels.
Dans le contexte de la construction, nous revisitons les concepts de langage tels que les modules et la composition. En outre, nous travaillons sur une nouvelle génération de systèmes réfléchissants. Ces constructions en langage de programmation sont expérimentées sur Pharo http://www.pharo.org. Nous développons Pharo, un langage purement orienté objet, typographié dynamiquement et réfléchissant. Pharo est utilisé dans plusieurs universités du monde entier, par des groupes de recherche et des entreprises. http://consortium.pharo.org est un consortium industriel qui soutient Pharo.
Notre équipe recherche un(e) ingénieur(e) R&D pour une période de 5 mois. L'objectif de l'ingénieur(e) recruté(e) sera de travailler sur un compilateur optimiseur pour le langage Pharo, dans le contexte d'un framework de génération de machines virtuelles.
Mission confiée
Missions :
Avec l'aide de Guillermo Polito, l'équipe Evref et le consortium industriel Pharo, la personne recrutée sera amenée à construire un framework d'optimisation le cadre des collections des langages orientés-objet, incluant des composants tels que des interprètes haute performance, des compilateurs Just-in-time, des gestionnaires automatiques de memoire.
Pour une meilleure connaissance du sujet de recherche proposé :
Les machines virtuelles (VM) sont omniprésentes dans tous les ordinateurs portables, serveurs et téléphones. Les VMs industrielles (par exemple de Microsoft, Oracle, Google…) utilisent des techniques d'optimisation très élaborées, souvent réalisées à la main par des experts, difficile à reproduire, à reproduire et à modifier. Ces techniques d'optimisation visent principalement à améliorer la vitesse, et sont incompatibles avec des contraintes telles que l'espace et l'efficacité énergétique, importantes dans les domaines de IoT ou de la robotique.
Dans ce projet, nous proposons d'aborder la détection des opportunités de parallelism avec des analyse statiques de dependences entre instructions, soit de manière ahead-of-time lors de la compilation ou on-line lors de la compilation Just-in-time.
Collaboration :
La personne recrutée sera en lien avec Guillermo Polito, encadrant du projet, l'équipe Evref expert en langages de programmation et le consortium industriel Pharo expert en machines virtuelles industrielles et fournisseur principale des cas d'études.
Responsabilités :
La personne recrutée aura la charge du développement d'un analyse et optimisation dans langage Pharo, de l'écriture du support compilateur JIT vers du code machine, et l'implémentation des optimisations spécifiques machine virtuelle.
Principales activités
Principales activés (5 maximum) :
- Développer un analyse de code ahead-of-time pour la détection des opportunités de parallelisme
- Développer une transformation automatique qui bénéficie d'une tel analyse
- Proposer des processus de benchmarking et d'évaluation de performance pour le code parallel
- Documenter l'utilisation du framework et outils ci décrits
Activités complémentaires (3 maximum) :
- Difusser les activités dans la communauté open source Pharo
Compétences
Compétences techniques et niveau requis :
- Maitrise de la programmation orienté objet, et les langages dynamiquement typés
- Bon niveau de connaissance des implémentations des langages de programmation (e.g., répresentations intermediaires, interprètes, complilateurs)
- Connaissance du langage Pharo ou Smalltalk
Langues :
- bon niveau d'anglais dans un environnement polyglote
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
- Sécurité sociale
Rémunération
Rémunération selon profil (grille de la fonction publique)
Informations générales
- Thème/Domaine :
Programmation distribuée et génie logiciel
Système & réseaux (BAP E) - Ville : Villeneuve d'Ascq
- Centre Inria : Centre Inria de l'Université de Lille
- Date de prise de fonction souhaitée : 2024-09-01
- Durée de contrat : 2 ans
- Date limite pour postuler : 2024-08-01
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.
Consignes pour postuler
CV + Lettre de motivation
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.
Contacts
- Équipe Inria : EVREF
-
Recruteur :
Polito Guillermo / Guillermo.Polito@inria.fr
L'essentiel pour réussir
- Appétences pour la résolution de problèmes
- Désire d'apprendre et autodidacte
Envie de se développer dans un environemment multiculturel qui mélange la recherche et son application pratique dans des cas concrets.
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 215 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3900 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 200 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.