retour à l'accueil dernière actualité articles interviews qcm dictionnaires bibliothèque forums inscription membre profile recherche sauvegardes contacts aides
entete 0titre de la page
menu du haut




Julien SEBOT, Architecte processeur chez INTEL
Auteur : JF Maquiné

Dernière révision : 22 Décembre 2004
Faire un commentaire :   0 message(s)








Avant-propos
  

L'objectif de cet interview est de lever le voile sur ce métier assez récent mais mal connu qu'est celui d'architecte processeur. J'ai eu la chance de rencontrer Julien Sebot sur les forums d'Onversity il y a quelques années et depuis nous sommes restés en contact. Julien Sebot est aujourd'hui architecte processeur pour Intel au centre de Haifa (Israël) après avoir fait un DEUG A maths, une licence-maîtrise d'informatique. Puis DEA en architectures parallèles et pour finir un doctorat. Il a fait l'ensemble de ses études universitaire à Paris sud (P-XI).

Il arrive, dans les réponses de Julien Sebot, qu'un vocabulaire très spécifique à sa profession soit utilisé. Vous trouverez au cours de l'article et en fin d'article différentes explications qui vous permettront de mieux saisir ses propos.





Définition du métier d'architecte processeur (1/2)
  

Qu'est-ce qu'un architecte processeur ?

Un projet de processeur se décompose en plusieurs étapes qui sont :

L'architecte est donc la personne qui va s'occuper de la première phase et superviser les suivantes. Il est celui qui prépare les algorithmes employés dans le processeur et qui écrit les spécifications sur lesquelles les designers vont se baser pour faire le microprocesseur. L'architecte est en quelque sorte un algorithmicien. La décomposition que j'ai présentée est valable pour beaucoup de types de microprocesseurs mais pour des petits projets, il arrive souvent que les mêmes personnes soient employées dans plusieurs étapes. Dans les grosses compagnies, une fois que l'architecture est prête, les architectes passent sur un autre projet tout en continuant à superviser les différentes étapes des précédents.

Pour faire un parallèle avec le métier d'architecte en bâtiment (plus connu), on ne sait pas nécessairement monter des parpaings, ni se servir d'une grue, mais on connaît les propriétés des matériaux, ce qui nous permet d'établir un plan et des études de faisabilité.

Suivant les projets, un architecte pourra avoir à faire de la recherche de nouveaux algorithmes et mécanismes pour améliorer l'efficacité du microprocesseur par exemple : dans les domaines du power (puissance de consommation et dégagement de chaleur) ou de la performance, mais cela peut très bien aussi être du point de vue du coût de fabrication. Sur d'autres, il se contentera d'employer des mécanismes connus, et d'améliorer juste des défauts connus d'une architecture précédente.

Le principal outil de l'architecte de microprocesseurs modernes est son simulateur de microprocesseur appliqué à des échantillons de programmes et ses outils d'analyse statistique.





Définition du métier d'architecte processeur (2/2)
  

Cette dénomination ne concerne-t-elle que ceux qui travaillent sur des processeurs de type Athlon, Pentium ou plus généralement les CPU, DSP, GPU, ... ?

La dénomination est générique pour tous ceux qui font ce type de métier que ce soit pour fabriquer des DSP pour téléphones portables ou lecteurs de DVD, des accélérateurs graphiques, des microprocesseurs pour PC/serveurs ou des super calculateurs.





Architecte processeur et connaissances scientifiques
  

Quelles sont les connaissances scientifiques auxquelles tu fais le plus souvent appel. Les maths, la physique, l'informatique ? Et dans ces connaissances, lesquelles plus précisément : l'algèbre linéaire, la théorie des ensembles, la logique, le calcul différentiel, ...

Le métier d'architecte est très technique, et requiert essentiellement une grande connaissance des architectures passées, présentes et de la recherche dans le domaine. En revanche nous faisons tout de même appel à un certain nombre de connaissances scientifiques qui s'approchent le plus souvent de l'informatique théorique (algorithmique et complexité), de la physique (thermo, électro) et des mathématiques (analyse statistique). L'analyse de performance est une part entière du métier d'architecte et est en soi une science à part. Comprendre le problème est souvent la principale source de nouvelles solutions, le principal problème d'un architecte c'est de réaliser une machine qui exécute un programme en respectant des contraintes prédéfinies.





Les outils de l'architecte processeur
  

Qu'est-ce qu'un simulateur de microprocesseur ? Depuis quand les utilise-t-on ? Quel est leur intérêt ?

Les microprocesseurs modernes sont trop complexes pour que l'on soit capable de prédire simplement le temps d'exécution d'un programme, ou l'énergie consommée par un futur microprocesseur en exécutant ce programme. Afin d'évaluer les mécanismes qui vont être implémentés dans un futur microprocesseur, les architectes emploient des simulateurs de microprocesseurs (souvent écrits en interne, mais quelques exemples existent dans le domaine public comme simplescalar). Il est difficile de dire quand a été écrit le premier simulateur de microprocesseur, mais cela remonte certainement à plus de 25 ans.

Il existe plusieurs sortes de simulateurs de microprocesseurs, les 2 principaux sont les suivants :

Premier modèle
Le simulateur lit une trace d'exécution d'une application (ce qui consiste généralement en uneliste d instructions exécutées et une liste d'adresses mémoires) et applique les divers mécanismes du microprocesseur dessus afin de récupérer des statistiques.

Deuxième modèle
Le simulateur exécute une application (éventuellement en ayant booté un OS) directement, pour cela il a en particulier besoin d'être capable d'exécuter l'ensemble des instructions d'un programme, alors que dans le cas de la simulation par trace, on connaît déjà le résultat à l'avance vu qu'il est dans la trace.

Le second modèle est d'une complexité très importante comparé au premier mais dispose généralement d'une précision bien plus importante (dans tous les cas la précision dépend du degré de fidélité auquel les mécanismes ont été reproduits dans le simulateur).

L'intérêt de ces simulateurs pour prendre un exemple simple est que l'on pourra prédire à l'avance quelle amélioration de performance un doublement de la taille du cache apportera (sur les applications étudiées bien sûr).

Ces simulateurs effectuent des statistiques sur plusieurs centaines voire milliers d'événements, et sont exécutés sur les applications typiques qui vont être employées par les utilisateurs (c'est le rôle des benchmarks). Il peut y avoir quelques benchmarks pour un processeur spécialisé, ou des centaines voire des milliers pour des microprocesseurs génériques. Les statistiques sur ces événements seront analysées par l'architecte à l'aide d'outils spécialisés et parfois avec l'aide d'un mathématicien.

La vitesse d'exécution de ces simulateurs est généralement lente, et est dépendante de leur degré de détail. Cela peut aller de quelques kHz à quelques MHz sur une machine dernier cri.





Mobilisation des architectes processeur
  

Combien de temps peut être mobilisé un architecte sur un projet (par exemple pour un DSP de cellulaire et sur un Pentium 4) et combien d'architectes travaillent simultanément sur un même projet ?

De quelques mois à 5 ans, le temps passé à faire l'architecture des processeurs pour PC ne cessant de grandir à cause de leur complexité croissante. Il peut y avoir de 1 ou 2 architectes à une vingtaine.





A propos de la complexité
  

Qu'est-ce que la complexité et plus particulièrement du point de vue d'un architecte ?

La complexité en architecture est tout d'abord comme en algorithmique, une manière de mesurer l'efficacité d'un algorithme en comptant les occurrences d'événements spécifiques. Mais l'architecte emploie aussi beaucoup le terme complexité pour désigner la difficulté de réaliser le circuit qui va résulter de son mécanisme, ce qui se traduit souvent en temps de design et de validation. Ceci fait partie des contraintes autour desquelles il architecte le microprocesseur (avec la performance et le power).





Et l'imagination dans tout ça ?
  

Quelle est la part d'imagination, de créativité qu'exige ton métier. Elle n'a rien de spéciale ou au contraire cela peut s'avérer utile ?

Je dirais que c'est très important. C'est un domaine qui a évolué extrêmement rapidement, et qui laisse encore beaucoup de place à la créativité. Le délai d'application d'éléments de recherche fondamentale est inférieur à 10 ans et souvent une grande partie de la recherche est faite lors de la réalisation du projet.

Par exemple, il y a régulièrement des initiatives d'extension du jeu d'instruction x86 (mmx, sse* etc...). J'ai participé à l'une d'entre elle pour proposer des instructions qui, à ma connaissance, n'existaient nulle par ailleurs. Dans un cas particulier, certaines de mes instructions permettaient d'optimiser l'estimation de mouvement. C'est ainsi qu'on nomme dans le jargon de la compression vidéo, la partie de l'algorithme de compression qui recherche les similitudes entre 2 frames afin de diminuer leur taille d'encodage.





Formation permanente
  

Dans la mesure où les architectes travaillent sur des connaissances à la pointe des technologies, vous devez bien vous former régulièrement pour acquérirces connaissances. Comment cela se passe dans la pratique et quel pourcentage du temps de travail cela représente-il ?

La formation personnelle représente environ 15% à 20% sur notre temps de travail. Nous avons quatre types de source d'acquisition de nouvelles connaissances :

- par les publications, internet, les livres, etc ...

- les conférences réalisées par des chercheurs, généralement d'université. Il faut bien se rendre compte que les boites ont plus d'informations sur ce qu il est possible de faire et comment et gardent ces sujets tres secrets.

- Des réunions, conférences, exposés en interne.

- Et nous-mêmes. Effectivement étant nous-mêmes des chercheurs et des spécialistes, nous pouvons être à l'origine de l'information par nos découvertes.





Devenir architecte processeur
  

Quel parcourt recommandes-tu aujourd'hui pour devenir architecte processeur ?

Aux US la majorité sortent avec un MS/PhD (Master puis doctorat) en Electrical Engineering.

Pour bosser dans les microprocesseurs à priori il faut un DEA d'informatique/électronique/architecture et une thèse d'architecture derrière, il y a 4-5 facs qui font ça en France (à ma connaissance Orsay, Rennes, Toulouse, Paris 6).

Pour l'embarqué et les DSP, je connais moins mais il y a pas mal d'écoles d'ingénieurs en électronique qui fournissent ce genre de formation, et faire un DEA après ne fait pas de mal.

Il faut aussi être prêt à s'expatrier, étant donné que très peu de boites font ça en France (même les boites françaises ont tendance à faire l'architecture dans leurs centres américains).

USA / Israël / Japon/ Taiwan / Corée





Parlons finance
  

Quel type de salaire un architecte de microprocesseurs peut-il espérer

L'architecte commence généralement à un grade supérieur aux ingénieurs. Aux Etats-Unis, un architecte fraîchement sorti de l'école peut espérer 85k-120k$ annuels à l'embauche avec une implication généralement importante dans les plans de stock-options (comme pour tous les emplois aux US le degré de protection sociale offerte varie grandement d'un employeur à l'autre et peut justifier des variations de salaire importantes).





Conclusion
  

Voilà, le voile s'est un peu levé sur un métier qui je pense fait rêver de nombreux lecteurs. Je dois vous avouer qu'initialement je pensais essentiellement aborder l'aspect des connaissances scientifiques que nécessitait ce métier. Mais en cours de route, il s'est avéré que les architectes processeurs n'utilisent qu'une petite partie des connaissances en sciences fondamentales qu'ils ont pu acquérir. Ce sont des praticiens des sciences fondamentales.

Toutes les questions n'ont peut-être pas été posées, et je vous invite donc à poser vos propres questions sur le forum dédié à cette interview. Toutefois, je me dois de vous rappeler que Julien Sebot travaille à un poste clef dans une grande entreprise mondiale et est donc de fait soumis à d'importantes contraintes de réserves. Ne vous offusquez donc pas s'il ne répond pas à certaines de vos questions.

Je tiens à remercier Julien Sebot d'avoir pris le temps de se prêter à cette interview.





Mini-lexique
  

Architecture : l'objectif de cette étape est d'écrire les spécifications du microprocesseur et des mécanismes employés.

Design : l'objectif de cette étape est la réalisation des mécanismes, généralement dans un HDL (hardware description langage : Verilog / VHDL par exemple).

Layout : l'objectif de cette étape est de transformer le code HDL en listes de transistors avec leur positionnement précis, en particulier en tenant compte de la fiabilité du matériel qui va servir à graver le microprocesseur.

Fabrication : transformation d'une gigantesque base de données de transistors en un microprocesseur.

DSP : Digital Signal Processor, processeur de traitement du signal, processeur généralement petit et économique, capable d'effectuer certaines tâches précises, souvent liées au traitement du signal, très efficacement - par exemple le décodage d'un mp3)

Différence entre algorithme et mécanisme : les architectes de processeurs emploient souvent mécanisme à la place d'algorithme implanté dans le matériel.




YOUM
(analyseur syntaxique temps réel)
Nombre de définitions trouvées
59
Multi-dico par texte : actif   -   Multi-mots par définition : 4




fonction
menu de droite
fin de menu

qcm du mois
Télescope spatial Hubble
fin qcm


Page générée en : 0.021 secondes
ligne
Technologies Onversity : Hydrogen 1.0 (moteur de base de données) - SE.EN 1.0 (moteur de recherche) - YOUM 2.0 (analyseur syntaxique temps réel)
Tous droits réservés à Jean-François MAQUINÉ
ligne