113 votes

Pourquoi "ajouter plus de cœurs" n'est-il pas confronté aux mêmes limites physiques que "rendre le CPU plus rapide" ?

En 2014, j'entends beaucoup de langages de programmation vantés pour leur compétitivité. de la concurrence. On dit que la concurrence est cruciale pour les gains de performance.

En faisant cette déclaration, de nombreuses personnes renvoient à un article de 2005 intitulé Le site Free Lunch Is Over : Un virage fondamental vers la simultanéité dans logiciels . L'argument de base l'argument de base est qu'il est de plus en plus difficile d'augmenter la vitesse d'horloge des processeurs. processeurs, mais nous pouvons toujours mettre plus de cœurs sur une puce, et que pour obtenir des des gains de performances, il faudra écrire des logiciels pour tirer parti des plusieurs cœurs.

Quelques citations clés :

Nous sommes habitués à voir des processeurs à 500 MHz céder la place à des processeurs à 1 GHz, puis à des processeurs à 1 GHz. 2GHz, et ainsi de suite. Aujourd'hui, nous sommes dans la gamme des 3 GHz sur les principaux ordinateurs.

La question clé est la suivante : quand cela prendra-t-il fin ? Après tout, la loi de Moore prédit une croissance exponentielle, et il est clair qu'une croissance exponentielle ne peut pas continuer éternellement éternellement avant d'atteindre des limites physiques dures ; la lumière ne devient pas plus plus vite. La lumière ne va pas plus vite. La croissance doit finir par ralentir, voire s'arrêter.

... Il est devenu de plus en plus difficile d'exploiter des vitesses d'horloge plus élevées en raison non pas d'un mais de plusieurs problèmes physiques, notamment la chaleur (trop importante trop importante et trop difficile à dissiper), la consommation d'énergie (trop élevée), et problèmes de fuites de courant.

... L'avenir d'Intel et de la plupart des fournisseurs de processeurs est ailleurs. car les fabricants de puces poursuivent agressivement les mêmes nouvelles orientations multicœurs.

...Le multicore consiste à faire fonctionner deux ou plusieurs processeurs réels sur une seule puce.

Les prédictions de cet article semblent se confirmer, mais je ne comprends pas pourquoi. I n'ai que des idées très vagues sur le fonctionnement du matériel.

Mon point de vue simplifié est le suivant : "il est de plus en plus difficile de faire tenir plus de puissance de traitement dans le même espace" (à cause des problèmes de chaleur, de consommation d'énergie, etc). I Je m'attendrais à ce que la conclusion soit "donc, nous devrons avoir de plus gros ordinateurs ou exécuter nos programmes sur plusieurs ordinateurs". (Et en effet, l'informatique distribuée l'informatique en nuage distribuée est une chose dont nous entendons de plus en plus parler).

Mais une partie de la solution semble être les architectures multi-cœurs. A moins que les ordinateurs ne grandissent pas en taille (ce qui n'est pas le cas), cela semble juste être une autre façon de dire "mettre plus de puissance de calcul dans le même espace".

Pourquoi "ajouter plus de cœurs" n'est-il pas confronté aux mêmes limites physiques que "rendre le CPU plus rapide" ?

Veuillez expliquer dans les termes les plus simples que vous pouvez. :)

2voto

user2366842 Points 121

Supposons (à titre d'exemple irréaliste, mais qui devrait quand même faire passer le message) que vous ayez un processeur qui fonctionne à 100F. Le multicore fonctionne généralement en prenant la fréquence d'horloge de l'unité centrale qui fonctionne à 100F, et en l'abaissant, ce qui réduit un peu la vitesse. Comme il n'est plus aussi chaud, ils peuvent en placer un deuxième, un troisième ou même un quatrième juste à côté sans affecter de manière significative la température globale du CPU et en bénéficiant des avantages du multicore. Cela s'accompagne évidemment d'une certaine surcharge, car les cœurs doivent toujours être contrôlés depuis un seul endroit, par un seul cœur. Plus vous ajoutez de cœurs, plus la surcharge est importante. Quant aux cœurs uniques, plus vous augmentez leur vitesse, plus ils génèrent de la chaleur. Cela a évidemment des limites physiques (c'est-à-dire qu'à partir d'un certain point, cela commence à être préjudiciable aux performances, voire dangereux s'il fait trop chaud).

Au fil du temps, ils ont trouvé des moyens de réduire la taille physique des UC, ce qui explique pourquoi nous n'avons pas encore eu besoin de plus d'espace. Cependant, par exemple, les UC à 16 cœurs n'existent pas vraiment (au moment où nous écrivons ces lignes) en dehors des équipements de qualité serveur en raison des limitations de taille physique, car les UC de qualité serveur sont beaucoup plus grandes physiquement que les UC grand public standard.

2voto

user87239 Points 71

Je dirais que les limites de la puissance de calcul sont principalement liées à la limite de la vitesse à laquelle nous pouvons déplacer l'électron dans un circuit ( la vitesse de la lumière dérive des électrons). Il existe de nombreux autres facteurs comme ceux que vous avez mentionnés.

L'ajout de cœurs supplémentaires ne rendrait pas le processeur plus rapide, mais lui permettrait de traiter davantage de données dans le même laps de temps.

La loi de Moore est une lecture très intéressante et informative. Cette citation en particulier est pertinente ici :

On pourrait également limiter les performances théoriques d'un "ordinateur portable ultime" plutôt pratique, d'une masse d'un kilogramme et d'un volume d'un litre. Pour ce faire, on prend en compte la vitesse de la lumière, l'échelle quantique, la constante gravitationnelle et la constante de Boltzmann, ce qui donne une performance de 5,425810 50 opérations logiques par seconde sur environ 10 31 bits.

2voto

predatflaps Points 101

CPU = Moteur de voiture : il est plus facile de fabriquer une voiture plus puissante avec 16 soupapes, par exemple une Lamborghini, qu'une voiture à haut régime qui aurait une soupape géante / cylindre à 100 000 tr/min.

Les raisons sont physiques et chimiques, le silicium doit être remplacé par un carburant de fusée informatique pour modifier l'équilibre entre le nombre de cœurs et leur vitesse.

1voto

Toni Points 216

Une longue histoire encore plus courte :

Nous n'avons vraiment pas besoin de processeurs plus rapides. En dehors de quelques utilisations hautement spécialisées*, le CPU n'a pas été le goulot d'étranglement pendant des années - tous les bits périphériques comme la mémoire, le stockage et le réseau font généralement attendre le CPU pendant des millions de cycles d'horloge pendant lesquels il peut faire d'autres choses. Un deuxième cœur peut faire plus de "choses", ce qui donne à l'utilisateur l'impression d'une plus grande performance.

De nombreux appareils mobiles, ordinateurs portables, etc., sous-cadencent le processeur pour améliorer l'autonomie de la batterie et réduire les températures. Il n'y a pas beaucoup d'intérêt à développer un cœur ARM de 3,5 GHz si votre principal client l'utilise à 1,3 GHz.

  • ces utilisations spécialisées ne permettent pas de justifier le développement d'un cœur à 5GHz. Ils ne se soucient pas non plus de la chaleur ou de la puissance - ils achètent le plus rapide disponible, l'overclockent et le boulonnent sur un dissipateur thermique à refroidissement par eau de la taille d'un grille-pain.

1voto

debite Points 131

Je pense qu'un autre facteur est la température. Si vous augmentez la fréquence d'horloge, la température du cœur augmente. Si vous ajoutez plus de cœurs, même si la consommation d'énergie augmente, elle est répartie sur les cœurs, de sorte que la température reste la même (comme si vous ajoutez deux liquides chauds, à la même température, l'un à l'autre, la température reste la même).

Une autre raison est que l'augmentation de la fréquence d'horloge tend à augmenter la consommation d'énergie par un carré du facteur d'augmentation de la fréquence (en fonction des autres obstacles que vous rencontrez à un moment donné). Par conséquent, l'augmentation de la fréquence d'horloge augmente la consommation d'énergie par un carré, alors que l'ajout de cœurs supplémentaires ne fait que l'augmenter linéairement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X