Actualités processeurs

Coeurs virtuels et parallélisme pour SoftMachines

Publié le 24/10/2014 à 11:57 par
Envoyer Imprimer

Nos confrères d'EETimes nous font part de « l'émergence » d'une startup. Baptisée SoftMachines, cette société a été fondée en 2008 par deux anciens employés d'Intel et propose de résoudre les problèmes de parallélismes de nos processeurs modernes. Cette startup compte aujourd'hui 250 employés et est sur le point de boucler une nouvelle levée de fond, ce qui explique en partie leur émergence. Elle compte déjà parmi ses investisseurs Samsung, GlobalFoundries et AMD.

L'idée de base proposée par SoftMachines est de maximiser l'utilisation des cores processeurs actuels en rajoutant au-dessus d'une ISA existante (ARM ou x86) une couche d'abstraction supplémentaire dont le but est d'extraire un maximum de parallélisme. La société propose de rajouter une notion de cœurs virtuels, indépendante des cœurs physiques avec pour cela l'introduction de petits threads « hardware » qui peuvent se mapper indépendamment sur les cœurs physiques. La méthode semble assez différente du principe de l'HyperThreading qui permet, pour rappel, à un cœur processeur de disposer de deux contextes séparés en parallèle qui lui permet d'exécuter deux flux d'instructions en parallèle.


Ici, le parallélisme est extrait différemment via un front end « global » placé au-dessus des cores. C'est lui qui prendra soin de dispatcher les threads hardware qui seront exécutés par les cœurs traditionnels en dessous. Pour rappel, ce que l'on appelle un front end en général est la partie « en amont » de chaque cœur qui s'occupe de décoder le jeu d'instruction (x86 sur nos PC) pour le traduire et le dispatcher en instructions natives. L'idée étant qu'il est ainsi possible pour ce front end magique de créer, à partir des flux d'instruction à exécuter qu'il reçoit, des threads hardware indépendants qui peuvent s'exécuter séparément sur chacun des cœurs.


Sur le papier, le fait de rajouter un front end global par-dessus le reste permet en théorie d'utiliser les cœurs comme des ressources interchangeables et permet même de découper une application avec un unique thread en plusieurs mini threads qui se retrouvent dispatchés à la volée sur les cœurs.

En pratique, pour que la magie opère il faut que le système soit capable d'extraire du parallélisme là où il n'y en a pas. Pour cela, l'approche utilisée par SoftMachines mélange à la fois une couche logicielle et son front end global. Pour résoudre les problèmes difficiles de concurrence, la solution de SoftMachines consiste à convertir le code à exécuter dans un jeu d'instruction virtuel, celui utilisé par le front end global ci-dessus.


La couche logicielle et le jeu d'instruction qui ne sont pas réellement précisés permettraient ainsi de se défaire des problèmes compliqués d'extraction de parallélisme (problèmes de synchronisations, concurrence, mémoire partagée, etc...). Le manque de détails nous laisse pour l'instant circonspects sur la réalité de la solution utilisée.

Extraire du parallélisme à partir d'un thread unique est une tâche excessivement difficile qui occupe les chercheurs depuis 30 ans. La plupart des compilateurs modernes se sont lancés dans ce type d'optimisation avec des succès variables. Il s'agit en général de paralléliser les boucles en dispatchant leur exécution sur plusieurs threads avant de regrouper le tout à la fin pour obtenir le résultat attendu. Dans certains cas cela peut être particulièrement bénéfique, GCC en version 4.8 est par exemple capable d'obtenir des gains allant de 1.25x à 4.5x dans SPEC2006 sur une architecture Power8. Des gains qui sont obtenus grâce à des conditions assez spécifiques, notamment l'existence d'informations de profilage (le compilateur regarde le programme s'exécuter avant de le recompiler en utilisant les informations qu'il a glané sur le fonctionnement « réel » du programme).

Une des difficultés pour les compilateurs est que si leur connaissance du code du programme est complète, ils ne savent pas distinguer les morceaux de codes qui sont réellement importants des autres sans que l'on les aide. A l'inverse, un processeur sait exactement ce qu'il doit faire tourner, mais n'a qu'une vision très partielle (quelques instructions à l'avance) de ce qui arrive, limitant ses opportunités d'optimisation.

Si certains algorithmes, comme les benchmarks répétitifs de SPEC, se plient assez bien à l'extraction de parallélisme, ce n'est pas forcément le cas de la majorité des programmes dont l'exécution est souvent beaucoup plus aléatoire et moins faciles à profiler pour les compilateurs.

Tenter de paralléliser au niveau d'un front end en amont déplace le problème et si cela peut donner des opportunités, cela crée aussi quelques problèmes importants à gérer niveau latence par exemple, un point vite balayé auprès de nos confrères d'EETimes par la startup.


Un découpage efficace et magique, mais sans explication technique!

En soit, les gains annoncés (2x à TDP égal), sachant qu'ils ont été mesurés sous SPEC dans des conditions de compilations inconnues (on imagine sans AutoPar) ne sont pas forcément très importants d'autant que la comparaison se fait face à un ARM Cortex A15. L'overhead sur la consommation impliqué par le front end n'est pas évoqué là non plus, même s'il semble non négligeable (environ 50% par rapport à l'A15 si l'on croise les chiffres donnés).

L'idée de base de SoftMachine d'utiliser un front end global peut être intéressante mais en pratique, le peu d'information donné nous laisse penser qu'il s'agit avant tout pour la startup de faire parler d'elle avant son nouveau tour de financement. Le fait que la solution soit vendue comme un ajout aux architectures existantes, plutôt qu'une nouvelle architecture pleinement repensée pour résoudre la concurrence nous laisse également penser qu'il s'agit là aussi d'un argument plus commercial que technique. La société indique qu'elle pense pouvoir indiquer un premier partenariat dès l'année prochaine ce que nous ne manquerons pas de suivre.

Baisse de prix des APU AMD FM2+ et FM2

Publié le 23/10/2014 à 18:00 par
Envoyer Imprimer

AMD vient de baisser le prix de ses APU FM2 Richland/Trinity et FM2+ Kaveri. Voici par exemple les nouveaux tarifs officiels pour les versions boites en Kaveri 4 cœurs :

- A10-7850K : 143$ au lieu de 173$ (-17%)
- A10-7800 : 133$ au lieu de 155$ (-14%)
- A10-7700K : 123$ au lieu de 155$ (-21%)
- A8-7600 : 92$ au lieu de 105$ (-12%)


Vous pouvez retrouver l'ensemble des nouveaux tarifs officiels sur cette page, il s'agit cette fois des prix OEM par 1000 qui ne sont en fait inférieurs que d'un petit dollar. Voilà de quoi positionner les APU de manière plus compétitive, surtout pour les modèles les plus haut placés puisque l'A8-7600 tirait déjà son épingle du jeu. Reste à voir quelle sera l'ampleur de la baisse en pratique, sachant que certains APUs étaient déjà trouvables à des tarifs déjà inférieurs aux anciens tarifs officiels.

Broadwell-E en retard, RDV en 2016

Publié le 21/10/2014 à 13:57 par
Envoyer Imprimer

Alors qu'on attendait Broadwell-E, dans environ un an, il faudra finalement attendre 2016 selon VR-Zone. Compatibles avec les cartes mères actuelles LGA 2011-v3, ce processeur se distinguait d'Haswell-E par la microarchitecture Broadwell apportant un gain de performance d'environ 5% à fréquence égale et le passage au 14nm censé réduire la consommation.


D'après le diagramme ci-dessus le TDP resterait pourtant à 140W, probablement du fait d'une hausse des fréquences, alors qu'Intel ne profitera pas de la baisse de coût lié au 14nm pour aller au-delà de 8 cœurs et 20 Mo de cache L3 en Core i7 (les Xeon LGA 2011-v3 intègrent déjà jusqu'à 18 cœurs et 45 Mo de cache L3). On en restera également à 40 lignes PCI express Gen3 et à 4 canaux DDR4, mais cette-fois la DDR4 sera supportée officiellement jusqu'en mode DDR4-2400 au lieu de DDR4-2133.

Côté planning nos confrères indiquent que les premiers échantillons sont prévus pour le deuxième trimestre 2015, avec deux itérations prévues pour chacun des trimestres suivant et une production en volume qui est donc censée débuter au premier trimestre 2016.

Skylake-S LGA 1151 en image

Publié le 21/10/2014 à 13:42 par
Envoyer Imprimer

VR-Zone publie la première photo d'un Skylake-S. Pour rappel Skylake est prévu pour le second trimestre 2015 sur PC de bureau dans une version classique, les versions "K" (overclockables) devant débarquer pour leur part un peu plus tard.


Destiné à un futur Socket LGA 1151, on note que les points de contacts sont différents de ceux de Haswell tout comme les détrompeurs qui remontent un peu vers le haut, afin d'empêcher l'insertion dans les sockets actuels. Le LGA 1151 ira de pair avec les chipsets Intel Serie 100 (Z170/H170 entre autre) qui se distingue principalement par le passage au PCI Express Gen3 avec jusqu'à 20 ports sur Z170 (mais il y a des lignes partagées, ce qui fait qu'on ne dispose "que" de 8 lignes si on utilise les 10 USB 3.0 et les 6 SATA).

Deux versions de Skylake-S seraient actuellement échantillonnées, avec dans les deux cas 4 cœurs. La première a un TDP de 95W, fonctionne à 2.3-2.9 GHz et intègre un iGPU de type GT2, la seconde est à 80W, a des fréquences de 2.2-2.4 GHz et est dépourvue d'iGPU.

GlobalFoundries récupère les usines et brevets d'IBM

Publié le 20/10/2014 à 15:32 par
Envoyer Imprimer

C'est désormais officiel, IBM a annoncé sa sortie de l'activité fabrication de semi-conducteurs. IBM avait commencé à se séparer petit à petit de son activité hardware, en commençant par le PC, vendu à Lenovo il y a 10 ans de cela, puis le serveur x86 – toujours à Lenovo – en début d'année. Après les rumeurs qui bruissaient depuis l'année dernière, le sort de l'activité fabrication semblait scellé en avril lors de l'annonce du partenariat entre Samsung et GlobalFoundries autour du 14 nm qui signait l'arrêt de la Common Platform, l'effort de développement commun poussé par IBM.

Depuis, pas grand-chose. Nous vous indiquions lors de l'été que les discussions entre GlobalFoundries, pressenti comme repreneur, et IBM étaient au point mort. L'accord est aujourd'hui finalisé.


GlobalFoundries récupère l'intégralité de l'activité fabrication d'IBM, qui inclut la fab de East Fishkill (22nm sur des Wafers de 300mm) ainsi qu'une autre fab plus ancienne dans le Vermont. L'accord assure la reprise de l'emploi de tous les salariés sur les deux sites. En plus des usines, GlobalFoundries récupère les activités connexes comme l'aspect commercial, ou l'activité ASIC. L'usine de Bromont au Quebec, spécialisée dans le packaging ne fait par contre pas partie du rachat.

Mieux, GlobalFoundries récupère plusieurs milliers de brevets… et 1.5 milliards de dollars. L'activité d'IBM était pour rappel déficitaire, IBM effectuera donc un paiement de 1.5 milliards à GlobalFoundries, étalé sur les trois prochaines années. GlobalFoundries gagne en prime l'exclusivité pour la fabrication des processeurs serveurs d'IBM pour les 10 prochaines années sur les technologies 22, 14 et 10 nm.


Top articles