Les outils logiciels identifieront bientôt aisément les caractéristiques des processeurs multicœurs

La Multicore Association a mis sur pied un groupe de travail dont l’objectif est de publier d'ici à la fin 2013 une interface commune apte à fournir aux éditeurs d’OS embarqués et d’outils de développement les caractéristiques matérielles des processeurs multicœurs ciblés. Son nom : SHIM pour Software-Hardware Interface for Multi-Many Core. ...

Alors que processeurs multicœurs et circuits SoC hétérogènes se multiplient à vitesse grand V sur les marchés de l’embarqué, les fournisseurs de systèmes d’exploitation et d’outils de développement peinent à suivre le rythme. La diversité des configurations proposées par les fabricants de composants et l’obligation pour les éditeurs de se plonger dans des documentations massives, écrites en langage plus ou moins naturel, et parfois indigestes ralentissent en effet le temps de mise sur le marché de leurs propres produits. La connaissance des architectures à supporter s’avère pourtant indispensable lorsqu’il s’agit de proposer des OS et des outils capables de paralléliser, optimiser, analyser et gérer l’environnement logiciel qui va s’exécuter sur ces processeurs multicœurs...   Pour résoudre ce qui pourrait apparaître comme la quadrature du cercle, la Multicore Association a décidé de prendre le taureau par les cornes. Créé en 2005 pour promouvoir l’usage des architectures à multiples cœurs dans les domaines de l'embarqué, l’organisme a mis sur pied durant l’été un groupe de travail dont l’objectif est de fournir une interface commune parfaitement définie et apte à fournir aux éditeurs d’OS et d’outils les caractéristiques matérielles des circuits ciblés. Son nom : SHIM pour Software-Hardware Interface for Multi-Many Core.     La spécification SHIM vient s'ajouter aux API déjà publiées par la Multicore Association   « La création du groupe de travail SHIM trouve son origine dans un projet lancé au Japon et impliquant Renesas, l’éditeur de systèmes d’exploitation temps réel eSol, l’Université de Nagoya et le fournisseur d’architectures multicœurs Tops Systems, indique Markus Levy, président de la Multicore Association. Comme les résultats préliminaires de ce projet n’avaient rien de spécifiquement japonais d’un point de vue technique, ces sociétés se sont rapprochées de notre organisme pour donner une portée plus internationale à leurs travaux. »   Une quinzaine de sociétés à l'oeuvre   Aussitôt dit, aussitôt fait, puisque le groupe de travail SHIM, dès sa création, s’est vu rallier par les fabricants de circuits Cavium, Freescale, Texas Instruments et Xilinx, les éditeurs d’OS et/ou d’outils CriticalBlue, Mentor Graphics, PolyCore Software, Vector Fabrics et Wind River, ainsi que l’équipementier Nokia Siemens Networks. Des noms auxquels il faut bien évidemment ajouter les quatre belligérants du projet initial. C’est d’ailleurs Masaki Gondo, le CTO de la société eSol qui préside aux destinées du nouveau groupe de travail. Pour bien montrer son implication et l’importance qu’il accordait à la future spécification SHIM, Renesas, de son côté, s’est fendu d’un communiqué de presse annonçant son ralliement à la Multicore Association au rang de membre du comité exécutif de l’organisation.     La spécification SHIM va définir un standard de description d’architecture multicœur basé sur la notion de schéma XML   « L’objectif du groupe de travail SHIM est de publier une première spécification officielle d’ici à la fin de l’année, estime Markus Levy. Mais une société comme Renesas a déjà commencé d’implémenter une version préliminaire de SHIM sur certains de ses processeurs multicœurs. » En tout état de cause, la spécification SHIM va définir un standard de description d’architecture multicœur basé sur la notion de schéma XML. A charge donc pour les fabricants de circuits de fournir une description plus ou moins détaillée des caractéristiques de leurs composants, pourvu qu’elle soit écrite ou générée selon ce schéma. Bien évidemment, seules les caractéristiques intéressantes du point de vue des éditeurs de logiciels ont vocation à y figurer : nombre et type de cœurs, mécanisme de synchronisation entre les cœurs, canaux de communication inter-cœurs, système mémoire mis en œuvre (hiérarchie, topologie, cohérence, taille, délai de latence…), protocoles de routage et type d’interconnexion mis en place entre les processeurs ou les cœurs de processeurs, mécanismes de virtualisation câblés dans le silicium, etc. « SHIM n’est pas un modèle fonctionnel de l’architecture matérielle, c’est juste une description, tient à souligner le président de la Multicore Association. Et cette description n’est pas précise à 100%. Seules les propriétés du circuit qui intéressent le logiciel sont concernées. » Par ailleurs, si la spécification SHIM a bien vocation à être mise dans le domaine public, rien n’empêche que certaines informations propres à un fabricant de circuits puissent rester confidentielles et transmises uniquement à ses partenaires éditeurs.   Faciliter l'auto-configuration de cetains outils   Selon la Multicore Association, le futur standard SHIM devrait s’avérer bénéfique à bon nombre de fournisseurs d’outils, notamment dans le domaine de l’estimation des performances, de la configuration système et de la modélisation d’architectures matérielles. « La spécification peut permettre aux éditeurs d’outils de développement d’estimer les performances logicielles avec une précision de 80%, précise Markus Levy. Elle peut également faciliter l’auto-configuration de certains outils et simplifier la configuration de pilotes logiciels ou de couches HAL (Hardware Abstraction Layer), ce qui intéresse tout particulièrement les fournisseurs d’OS, de middleware ou de bibliothèques d’exécution. » Pour les éditeurs, SHIM devrait aussi permettre le support de générations successives de SoC sans qu'ils aient à revoir de fond en comble leurs outils de développement.