Aller au contenu

Samsung octa, et autre multi-quad, big.LITTLE, ect....


Recommended Posts

Hello a tous,

En lisant la news concernant les processeur du GS4, je me suis senti de parler de cette architecture a huit coeur qui fait baver les geek, mais qui cache un peu plus qu'un simple "huit coeur".

De mes informations aujourd’hui l'octa samsung est une implémentation "presque max" de ce que ARM appelle le big.LITTLE, ou encore un système de cluster multiple, ou encore des groupe de processeur de type different. Sur l'octa, on a affaire un double cluster de 4 cortex A7 d'un coté, et 4 cortex A15 de l'autre. Chaque processeur a sa propre memoire cache de niveau 1 (32k I + 32K D sur les A7, et peut etre la même chose sur le A15, suivant les options qu'ont choisi les architecte de samsung. Chaque cluster (appelons kingfisher le cluster d'A7 et eagle le cluster A15 - appelation purement au hasard) possède sa propre cache de niveau 2, du genre 512kB sur kingfisher, 2MB sur eagle.).

Comment ca marche: 2 cluster SMP

Le kernel android, un kernel linux, ne sait pas utiliser encore "au mieux" l'ensemble de ces processeur. D'ailleurs, je suis pas sur qu'on sache encore comme en tirer parti, parce que peu de machine utilisent des processeurs hétérogènes Pour donner une idee de la difference entre ces 2 processeur, le A7 consomme 5 fois moins que le A15, mais est aussi 35% moins performant, à fréquence égale. Si on ajoute que le cluster A7 tourne de 200mhz jusqu'a 1.2ghz, et que le A15 va de 200 a 1.8G, on se retrouve avec des ecarts de performance assez important.

Une application démarre ou doit elle tourner? impossible de le dire aujourd'hui. La seule chose qu'on sait faire, c'est prédire la charge courant en fonction de la charge precedente. On va donc dire que si la charge dépasse un certain niveau, il faut tourner plus vite, allumer plus de coeur, jusqu'a ce que le cluster soit au max. A ce moment, un système d’hystérésis est declenché, on allume le cluster A15 et on fait passer le systeme sur le cluster a 15, avec un certain lag pour synchroniser les cache L2 (arm a un port speciale pour le faire, mais 512KB au max a copier représente un temps non negligeable), puis on eteint le cluster A7. Jusqu'a ce que la charge soit suffisamment basse pour refaire passer le systeme sur le A7.

Donc, si on resume: Les 8 coeur ne peuvent pas fonctionner en meme temps, et pour une raison simple, le scheduleur (echeancier) de tache ne sait pas sur quel type de processeur il tourne. Il sait simplement qu'en fonction de sa charge du moment, il déclenche des comportements qui lui donne plus ou moins de performance, et qu'il faut reduire la consommation tant que c'est possible.

Quel est le problème:

Le systeme ne pourras jamais utiliser 100% de ses performance, car seul 1 cluster peut etre allumé en meme temps. En dehors des considérations purement "kernel" et son incapacité (actuelle) a ne pouvoir savoir sur quel cluster lancer une tache, il y a un probleme de consommation. theoriquement, un quad A15 tournant a 1.8G consommerait (avec sa cache) 5 a 10w suivant le type de silicium, sa temperature, ... ajoutons le processeur graphique qui lui aussi est gourmand. C'est une consommation impossible a utiliser sur la duree sur un smartphone, qui ne peut dissiper que 3 a 4 watt.

L'ideal est ce qu'on appelle le "HMP" ou heterogenous multi processing, mais n'est pas encore au point. Le but est de caracteriser chaque tache par un indice de performance afin de lui attribuer un processeur sur le quel tourner. Les grosses applications n'ont pas besoin de beaucoup de temps CPU, mais doivent etre accompli tres vite. Les autres applications "a faible charge" peuvent tourner sur des processeur a faible performance mais haut rendement, sachant qu'ils resteront presque toujours allumer. Les gros processeurs doivent tourner au max et peu de temps afin d'etre rapidement eteint.

Voila, tout ca pour vous dire que cet octa est tres attendu dans la communauté, car d'un point de vue architecture, c'est une "premiere" plateforme de la sorte, dont on sait qu'elle est loin d'etre optimale car pas encore au point. Si on ajoute que samsung n'est pas connue pour delivrer des kernel revolutionnaire, mais juste suffisant.... on est pas pret de voir des perf mirobolante sur l'octa.

Alors: est on triste de ne pas l'avoir en france cet octa:

Je dirais non, parce que le proc en France est un qualcomm quad simili-A15, 5 a 7% moins performante, mais avce un petit mieux en frequence qui pourrait compenser l'ecart. Il est de plus plus petit en taille, donc consommera moins, chauffera moins, et "throttlera" moins...

voila. Un sujet sympa a discuter...

Lien vers le commentaire
Partager sur d’autres sites

Alors en fait ce que tu décrit est le fonctionnement du big LITTLE d'après arm mais samsung semi en a décidé autrement :

Chaque coeur passe de a7 à a15(et vice versa) individuellement Samsung appelle sa "cpu migration" en opposition au cluster migration d'arm chaque Core a7 correspond à un Core a15(core 0 a7-core 0 a15 core 1 a7-core 1 a15 ect) et il n'y a pas forcément 4 core tout le temps allumé en effet les coeurs s'allume progressivement comme sur les exynis actuels et les autres quadcore arm classique

Mais il ne peut pas y avoir + de 4 coeur allumé au total et toute les combinaison sont possibles avec ces 4 coeur allumé

Source: Alex 98 le spécialiste proc de ce forum

Taupe-a-talKe

Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup en tout cas de vos éclaircissements, je savais qu'on ne pouvait pas dire "proc 8 coeurs" mais "proc 4+4", mais je ne savais pas pourquoi...

Tant qu'à faire si des spécialistes suivent ce sujet et si ça peut en aider d'autres que moi :

  1. Plus de 4 coeurs ne pourront jamais tourner simultanément ? Pourquoi ?
  2. Pourquoi le système android pêche tant par son optimisation ? Est ce pour cela que c'est le seul système ou le nombre de coeur par proc s'envole ?
  3. Je crois que c'est un affaire d'architecture, mais est-ce pour cela que l'on ne peut pas comparer les procs de portables (nvidia, qualcomm et eynos) et ceux de nos ordi portables "classiques" intel ? Edit 2 : l'optimisation est si compliquée que ça ? Pour comparaison, les proc intel "x86" qui tourne sur nos pc sont arrivés à maturation de ce côté là ?
  4. Au final, l'eynos "octa" ne coûte il pas trop cher à samsung, face au peu de perfs en plus ? Ou est-ce que les prix varient peu ?
  5. Est ce que on peut dire que la nouveauté de l'eynos, c'est au final sa plus grande souplesse ?

Bonus : Un processeur peut donc faire tourner plusieurs coeurs à des fréquences différents ? :/

-> Si j'ai bien compris un core A7@1,2G peut tourner simultanément avec 3 core de l'eagle A15@1.5G ou + ?

J'ai volontairement mis beaucoup de questions, j'en profite, mais je me contenterai de peu de réponses :D

Edit :

Question Bonus 2 : "l'architecture du cluster A7 lui permet de consommer 5 fois moins mais et 35% moins performant que le cluster A15" A fréquence égale ?

( J'ai en partie trouvé ma réponse avec ce post d'Alex98, effectivement apparemment grand connaisseur de proc :

C'est un peu plus compliqué que ça car, si les CPU (et les GPU aussi d'ailleurs) sont effectivement capable d'ajuster leur fréquence, un CPU reste optimiser pour un pique de perfs précis.

Ainsi, un CPU optimiser pour un pique de perf X aura un rapport perf/watts de plus en plus dégradé à mesure que l'ont s'éloigne de ce pique.

En pratique, cela signifie que sur les A9 par exemple, abaisser la fréquence de 100mHz permet de gagner 100mV par mhz à haute fréquence (> 1Ghz) mais seulement 25mV à basse fréquence (< 500Mhz). L'architecture en elle même d'ailleurs consomme et ça on ne peut rien y faire (ou presque). Du coup une architecture gourmande, optimiser pour des haut niveau de perfs, restera gourmande même à bas régime.

Un A7, de son côté, est spécifiquement optimisé pour des piques de perfs faibles. De fait, un A15, même à sa fréquence la plus basse, consomme plus qu'un A7 à sa fréquence max et dans cette configuration le A7 délivrera des performances supérieures. (En gros, un core A7 à 1.2Ghz est sensé avoir les perfs d'un A9 à 1Ghz)

Dans le cas des Tegra 3 les performances moyennes sont prisent en charge par la partie haute consommation.

Edit 3 (après j'arrête) :

Question bonus 3 : Pourquoi Nvidia, Qualcomm et Eynos sont-ils des leaders si écrasant alors qu'intel, avec des puces comme celle du razr i, peut fournir de bon processeurs optimisés (si ils le sont bien) ?

Modifié par Gijia
Lien vers le commentaire
Partager sur d’autres sites

Salut gigat:

>>Plus de 4 coeurs ne pourront jamais tourner simultanément ? Pourquoi ?

Sur les multicore ARM, les proc sont designe par leur numero: 0 1 2 ou 3 dans le cas d'un quad. Hors dans le big.little, les proc des 2 cluster sont numerotes 0 1 2 3, il y a 1 A15 et 1 A7 qui s'appellent "0", et il n'est pas aise de savoir sur lequel le cpu tourne. C'est pour ca que samsung implemente ce systeme d'aller retour sur les proc de meme nom. Il n'est donc pas possible que 2 processeur de meme nom (mais de type different) fasse tourner le systeme en meme temps, l'un doit etre actif et l'autre en etat d'attente, de preference eteint.

>>Pourquoi le système android pêche tant par son optimisation ? Est ce pour cela que c'est le seul système ou le nombre de coeur par proc s'envole ?

Il peche car en fait il est base sur le kernel linux qui ne sait pas gerer les processeurs heterogenes. Il sait en revanche tres bien gere les proc homogene, aide en cela par les proc intel qui peuvent aller jusqu'a 8 coeur multithreades, et 12 chez amd si je ne m'abuse.

>>Je crois que c'est un affaire d'architecture, mais est-ce pour cela que l'on ne peut pas comparer les procs de portables (nvidia, qualcomm et eynos) et ceux de nos ordi portables "classiques" intel ? Edit 2 : l'optimisation est si compliquée que ça ? Pour comparaison, les proc intel "x86" qui tourne sur nos pc sont arrivés à maturation de ce côté là ?

On peut tout a fait, mais il faut se baser sur du code portable (exemple C, java), et isoler la performance de ce qu'on mesure.

Intervienent également:

- les optimisations du compilateurs qui a generer ce code machine

- les optimisations ou les options du coeur lui meme qui varient entre les SoC vendors: le cluster a t'il 1 ou 2 MB de cache L2, combien de cache L1, a t'il la FPU hardware, quelle est la bande passante memoire (qui varient entre l'omap, l'exynos, le tegra, ...)

Il y a un bench qui existe qui s'appelle geekbench, qui montre des comparaison interessante. Chez nous (ex ti), le cortex a15 eclatait un core i3 en fpu et etait un poil plus bas en CPU.

Pour ta question sur l'optimisation, elle est compliquee car Intel fait des proc x86 de type CISC et ARM des RISC. Ce qui change est la complexité du code machine (grosso modo les x86 peuvent faire beaucoup de chose en une seul instruction tres complexe, alors que les ARM doivent faire plusieurs instruction plus elementaire). Evidemment un code machine x86 ne tournera pas sur de l'arm. On ne peut donc comparer que 2 software décrit par un langage portable compile dans un niveau d'optimisation voisin sans vraiment pouvoir comparer. On peut seulement espérer qu'ils ont été compile le plus efficacement possible.

Dans toutes ces discussion, on ne parle absolument pas du GPU.

>>Au final, l'eynos "octa" ne coûte il pas trop cher à samsung, face au peu de perfs en plus ? Ou est-ce que les prix varient peu ?

C'est le marketting qui le diras... Il n'y a que le marketting qui dit si une architecture sera prise au detriment d'une autre, il n'y a aucune relation avec les performances. Tous les phone maker ont souhaite construire des phone quad core en 2011-2012, même si on savait pertinemment qu'un quad a9 a 1.0G serait moins performant qu'un dual a 1.8G. C'est la direction qu'a prix un certain SoC vendor qui vient de fermer sa division, malgre les grnad renfort d'etude. Mais les acheteurs de SoC voulaient du quad, a tout prix.

>>Est ce que on peut dire que la nouveauté de l'eynos, c'est au final sa plus grande souplesse ?

Pour moi, c'est surtout l'innovation du big.little. C'est le premier, et ca sera la platforme de reference de l'open source (si samsung permet de deverrouiller le bootloader) pour pouvoir travailler sur les cluster heterogenes.

>>Pourquoi Nvidia, Qualcomm et Eynos sont-ils des leaders si écrasant alors qu'intel, avec des puces comme celle du razr i, peut fournir de bon processeurs optimisés (si ils le sont bien)

Ma reponses est plus un avis, mais je pense que aucun fabriquand de telephone n'aurait fait confiance a intel sur la conso et l'architecture, surtout qu'il y a 2 ans, android etait absent. Intel depense un argent faramineux pour arriver sur le marche du smartphone, et y fait doucement sa place. Mais aujourd'hui,:

-samsung a sa propre archi et represente 1 gros tier des vente mondial de smart

-Apple a sa propre archi et represente un autre gros tier

-Il reste motorola, lg, htc et d'autre plus petit, pour vendre des phone sexy, bases sur du qualcomm (ARM), du tegra (ARM) ou de l'intel.

Les équipes d’intégration de ces marques travaillent depuis longtemps sur ARM, il sera couteux de passer sur du intel. C'est pour cela qu'intel développe aujourd'hui plusieurs gamme de smartphone, des référence design (motorola), des phone finaux (e.g. le phone d'orange)...

Au final Ca avance doucement, mais il va falloir plus qu'un simple "intel inside" pour que les gens "veuille" acheter du intel a tout prix. Intel est un différenciateur dans le monde du PC ("je veux un proc intel sur mon pc!"), ca n'en est pas un dans le monde du smart. Il leur faut donc autre chose, et c'est bien la le probleme... Pour intel.

Modifié par greg_p
Lien vers le commentaire
Partager sur d’autres sites

Je ne me fais pas trop de souci pour Intel. Ca viendra, les perfs GPU arrivent avec les Clover Trail +, la conso commence à être bien maitrisée (et encore plus avec les prochains process de gravure).

Et les perfs CPU en mono-thread sont excellentes.

Là où les A15 augmentent leur perfs mais au dépend de la consommation.

Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...

Cela fait beaucoup de question à la fois !

Pourquoi pas plus de 4 cœurs? Si android sait gérer (tant bien que mal) plusieurs cores il n'est en revanche pas capable de gérer les changements entres core basse conso et core haute performance. Du coup samsung à intégré à sa puce elle même la gestion des cores en fonction de la charge. Cependant cela implique qu'aux yeux du système il n'y est que 4 cores. Ainsi la puce va elle même gérer les différents coeurs en fonction de ce que lui demande le système qui ne verra donc pas quand la puce décidera de passer d'un core a7 (0) à un core a15 (0).

En revanche pour ce qui est de la fréquence des cores, celles ci ne peuvent être variables entre chaque coeurs (seul Qualcomm utilise une architecture asynchrone aujourd'hui, samsung ayant clairement pris leur position pour du synchrone) tout comme le fait que ceux si sont power gated (ils peuvent être éteins si ils ne sont pas utilisés).

Pour ce qui est de la gestion d'android, je ne peux pas vraiment te répondre mais contrairement aux concurrents, android n'est pas fermé et est disponible sur des plus performantes aux plus vieilles machines. Il est clairement plus difficile d'y retrouver la fluidité propre à iOS ou windows phone bien que les performances soient plus importantes sur le papier (et je parle bien de fluidité et non de rapidité).

Pour ce qui est des architecture x86, Intel est un géant de l'informatique et ce depuis longtemps. Même si ceux-ci ont pris du retard sur le domaine du mobile, Intel possède les moyens d'investir dans la recherche face à ARM qui prend plus des allures de moyenne entreprise dont samsung tout comme la plupart des acteurs du monde mobile dépendent (apple, qualcomm, nvidia).

En revanche peu importe le prix de l'exynos (qui n'est pas si élevé que ça, on reste dans la marge de prix qu'était le 4210 du S2 ou le 4410 du S3), celui-ci permet a samsung d'investir dans les technologies futures de la firme et qui sait peut-être au prochain exynos 6. En effet, l'exynos 5210 à probablement permis d'une manière ou d'une autre de peaufiner l'octa. L'exemple le plus marquant serait l'investissement des fondeurs dans les différents process de gravure qui permettent de réduire température et donc consommation des puces dans le temps.

De plus on ne peut pas dire que l'octa apporte peu de performance en plus. C'est l'évolution technologique. Mais différence il y'aura entre S3 et S4 tout comme il y'a eu entre S2 et S3 et puis malgré de nombreux défauts, on change d'architecture en passant du A9 au A15.

Enfin je préfère au terme souplesse celui de flexibilité (même si c'est la même chose ^^) car l'octa (si celui fut bien concu par sammy), serait capable de fournir des performance jusque là jamais atteinte sur des smartphone (de l'ordre des core 2 duo) grâce aux A15 en cas de besoin tout comme il serait le plus économe pour ce qui est des taches moins gourmandes grâce aux A7. En effet l'octa est le seul processeur aujourd'hui capable d'allier consommation très faible et hautes performances.

Pour finir, si Intel est si peu implanté, c'est car il vient d'arriver sur le marché alors que les autres acteurs sont présents depuis déjà très longtemps. Aucun des systèmes à l'époque ne fut conçus pour des architectures x86 mais avec le temps cela à changé et changera surement avec le temps.

Modifié par Angelus513
Lien vers le commentaire
Partager sur d’autres sites

Je tiens à dire que je continue à suivre le sujet et que vos post sont très intéressant, merci ! :)

Et le GPU dans tout ça, a-t-il beaucoup évolué ? Il est aussi constitué de plusieurs coeurs non ? Je ne m'y connais pas du tout sur ce point là.

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...