David Yen, Sun Microelectronics :
A l’occasion de JavaOne 2007 (7 au 11 mai à San Francisco), David Yen, le patron de Sun Microelectronics, est revenu sur les innovations sur lesquelles travaille sa division.
A l’occasion de JavaOne 2007 (7 au 11 mai à San Francisco), David Yen, le patron de Sun Microelectronics, est revenu sur les innovations sur lesquelles travaille sa division.
A l’occasion de JavaOne 2007 (7 au 11 mai à San Francisco), David Yen, le patron de Sun Microelectronics, est revenu sur les innovations sur lesquelles travaille sa division.
Sun a récemment annoncé la création d’une division semi-conducteurs, Sun Microelectronics. Quelle réflexion a menée à cette décision ?
David Yen : En quelque sorte, ce que Sun essaie de faire avec la microélectronique est très similaire à ce que nous avons fait au cours des dernières années, en termes de propagation de notre propriété intellectuelle logicielle à des plates-formes (Solaris, Java) qui vont au delà de nos propres produits. Notre savoir faire en terme de CMT et le fait que Sun Microelectronics soit aujourd’hui parmi les plus grandes des sociétés de design de microprocesseurs dans le monde offre des opportunités de développement. Cela cadre avec l’objectif de notre CEO de positionner Sun sur des segments à forte croissance.
Nous avons bâti une équipe qui compte aujourd’hui plus de 1000 ingénieurs capables de concevoir des processeurs à hautes performances, de les packager, de les tester, mais aussi de bâtir les outils de développement autour de ces produits. Nous avons une expertise et un savoir faire uniques à proposer au marché. La démonstration la plus évidente de ce savoir faire est notre récente famille de puces multithreadées. Depuis 2002, après avoir évalué l’évolution des applications en terme de web, de banque en ligne, de calcul,… nous avons conclu que le nouveau challenge pour les processeurs serait en terme de « throughput », c’est à dire l’aptitude à traiter en parallèle un nombre massif de transactions alors que jusqu’alors le design de processeurs se concentrait sur la façon de réaliser au plus vite une seule et unique tâche.
Nous avons alors pris la décision de redesigner notre famille de puces Sparc pour s’adapter à ce challenge. De là sont né les travaux sur les familles Niagara et Rock. Niagara est commercialement disponible et nous sommes sur le point d’annoncer Niagara 2. Le design de Rock été finalisé (« Tape Out ») le 3 janvier, ce qui nous met en bonne position pour lancer des systèmes à base de cette puce en 2008.
Dans Niagara 2 il y a des coeurs Sparc, une puce réseau, un moteur d’encryption, un contrôleur mémoire… Entendez-vous fragmenter ce « System on a chip » en ses différents éléments pour mettre votre propriété intellectuelle sur le marché ?
David Yen : Vous pointez dans la bonne direction. Nombre de ces composants renferment des innovations qui leur sont propres. Quand nous avons travaillé sur Niagara 2 qui est une puce capable de traiter 64 threads en parallèle, nous avons regardé la partie réseau. Nous aurions pu nous contenter d’utiliser des interfaces Ethernet classique. Mais vu le nombre de tâches à traiter en parallèle, la partie réseau serait devenue un goulet d’étranglement. C’est un peu comme si au bout d’une autoroute à 8 voies, on avait mis un pont à deux voies. Nous avons donc parallélisé l’interface réseau de Niagara 2. Celle-ci sait classifier les paquets au niveau 4 et les orienter vers 16 files différentes, chacune disposant de son propre canal DMA. Comme nous n’avons plus à gérer d’interruptions nous pouvons vérifier le statut de chaque file et injecter des paramètres de QoS pour favoriser au niveau OS certaines files par rapport à d’autres. On peut aussi imaginer faire de la conversion de protocole à la volée, de IP vers un autre protocole par exemple. Nous appelons cette interface réseau une interface Ethernet Broadband. C’est ce qui a intéressé Marvell qui a pris une licence de cette interface.(…) Nous discutons aussi avec sociétés de télécommunications et des constructeurs réseaux. Je ne peux révéler leurs noms tant que les contrats ne sont pas finalisés, mais je peux vous promettre que la liste [de nos licenciés] va considérablement s’allonger dans les mois à venir [ Sun a depuis cette interview annoncé un contrat de licence avec ARM].
Comment faire de cette activité une activité rentable ?
David Yen : Notre priorité sera bien sûr de continuer à faire évoluer la famille Sparc pour les besoins propres de Sun, mais nous pensons pouvoir développer un vrai business avec nos autres composants. Le fait d’être fabless nous donne cette souplesse. Nous n’avons pas à supporter le coût d’une « fab » ce qui limite nos investissements et nous permet d’être très compétitifs.
Voyez-vous une limite au nombre de cœurs que l’on peut mettre sur une puce?
David Yen : La question est plutôt de savoir quel est le nombre de threads qu’un système peut traiter en parallèle. Je pense qu’il y a une limite, assez similaire à celle que l’on rencontre sur les grands systèmes SMP. En développant des systèmes SMP dans les années 90, on a buté sur une limite, environ 128 puces. Au delà, on rencontre des problèmes d’accès non linéaire à la mémoire et cela devient très compliqué. De tels problèmes se reproduiront dans le monde des puces multithread. Soit les logiciels ne pourront gérer les threads au delà d’une certaine limite, soit on verra apparaître des problèmes « d’overhead ».
Une solution sera peut-être de doper la performance unitaire des cœurs?
David Yen : D’une certaine façon c’est ce que nous faisons avec Rock. Au lieu de viser un plus grand nombre de cœurs, nous avons choisi d’optimiser les cœurs pour la performance et la robustesse. Avec Rock, nous pensons que nous pourrons rivaliser avec des processeurs comme l’Opteron pour les applications mono-thread. Rock disposera aussi de fonction novatrices comme l’aptitude à faciliter le garbage collection des applications Java ou la gestion des verrous. Il pourra aussi optimiser dynamiquement l’exécution d’applications qui n’avaient pas été développées pour les environnements multithreadés. C’est selon nous la formule idéale pour les applications haut de gamme comme les bases de données ou le calcul scientifique. Nous avons d’ailleurs plusieurs projets dans le domaine du supercomputing qui s’appuient sur des fonctions bien particulières de Rock.
La tendance générale est d’aller vers des puces de plus en plus parallèle, mais cela fait peser un poids important sur les développeurs de logiciels. Nombre d’entre eux ne sont pas formés ou pas capables d’optimiser leurs logiciels pour des environnements systèmes parallèlisés. Y a-t-il une solution à ce problème ?
David Yen : Nous n’avons pas d’inquiétude pour Solaris par exemple. Ce sont nos propres collègues, ils sont motivés par l’optimisation de leurs logiciels pour nos puces. A défaut nous pouvons les contraindre à intégrer les optimisations que nous jugeons nécessaires. Nous optimisons ainsi systématiquement les librairies et le noyau de Solaris, pour tirer partie des capacités multithread de nos systèmes. Le problème est la base installée de logiciels sur laquelle nous n’avons pas de contrôle. Bien sûr, nous avons optimisé nos outils de développement pour aider à la parallélisation du code. Mais ce qui est plus important est que toute l’industrie va dans la même direction que nous. J’ai ainsi noté avec intérêt, qu’Intel a annoncé à Péking qu’ils vont promouvoir la formation d’ingénieurs capables de développer dans des environnements multithreads. Lorsque j’ai vu l’annonce, j’ai dit aux responsables d’Intel que nous étions ravis, car nous avons besoin de programmeurs formés à ces techniques pour optimiser les prochaines générations de logiciels pour les puces multithreadées. Leurs efforts s’ajoutent à ceux que nous menons. Nous avons commencé en avance sur Intel et nos deux sociétés sont sans doute les plus avancées sur la recherche en matière de puces multithreadées.
Intel et AMD parlent de cœurs symmétriques mais aussi de cœurs assymétriques. Est-ce une piste de travail pour vous ?
David Yen : Nous avons plusieurs choses en développement. Nous avons déjà intégré des composants dédiées pour le réseau ou la cryptographie dans Niagara 2. C’est facile pour nous, Sun étant une société spécialisées dans les systèmes. Le risque est qu’il est difficile de rester générique en spécialisant un peu plus les processeurs. On peut imaginer que les cœurs ne soient pas homogènes. On verra des puces avec des cœurs hétérogènes dans l’avenir. C’est encore un peu tôt pour en parler. Nous n’avons pas finalisé notre stratégie en la matière.