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)