69 votes

Cœurs du processeur : Plus il y en a, mieux c'est ?

J'ai actuellement un processeur dual-core au travail et un quad-core à la maison. J'ai remarqué que les deux PC sont à peu près égaux en ce qui concerne le lancement d'applications et la navigation sur le Web.

La différence que je peux voir est que mon dual-core est à 2.8GHz et mon quad-core à 2.4GHz.

Est-il préférable d'avoir un dual-core avec une vitesse d'horloge rapide ou un quad-core avec une vitesse d'horloge médiocre ?

53voto

Mark Points 251

NOTE : Cette réponse a été écrite il y a 8 ans. La programmation parallèle a depuis gagné en pertinence. Cela est probablement dû aux limites inhérentes à la vitesse d'horloge et aux limites de la taille des transistors qui se rapprochent rapidement.


Votre problème principal est un logiciel qui n'est pas écrit pour le multi-core.

Regardez l'excellent article de Jeff Atwood sur Choisir un double ou un quadruple cœur .

pour la plupart des logiciels, vous atteignez un point de rendement décroissant très rapidement après deux cœurs. Sur Ordinateurs de bureau à quatre cœurs et rendements décroissants Je me suis demandé dans quelle mesure les logiciels d'aujourd'hui pouvaient réellement utiliser ne serait-ce que quatre cœurs de processeur, et encore moins les inévitables huit et seize cœurs de processeur que nous verrons dans quelques années.

La réponse se trouve ici (surbrillance copiée de l'article de Jeff),

Cependant, il y a eu quelques surprises, telles qu'Excel 2007, et le paramètre "opérations simultanées" de Lost Planet. Il est possible que le génie logiciel finisse par progresser au point que la vitesse d'horloge importe moins que le parallélisme. Il se peut aussi qu'elle ne soit plus pertinente, si nous n'avons pas à choisir entre des vitesses d'horloge plus rapides et plus de cœurs de processeur. Mais en attendant, La vitesse d'horloge l'emporte la plupart du temps. Plus de cœurs de processeur n'est pas automatiquement meilleur . Les utilisateurs typiques seront mieux lotis avec le processeur à double cœur le plus rapide qu'ils peuvent s'offrir.


La question de la Bus frontal et latéral (ce terme m'a toujours amusé).
Avec Nehalem, les choses changent ... comme ArsTechnica l'a dit l'année dernière.

La loi de Moore a donné aux concepteurs de processeurs un embarras de richesse en matière de transistors, et cela n'est nulle part plus apparent que dans le processeur Nehalem 45 nm d'Intel. Décliné en variantes à 4 et 8 cœurs dans le courant de l'année, Nehalem fait tenir une tonne de matériel dans un seul socle de processeur. (Les premiers chiffres indiquent que le nombre de transistors d'un Nehalem à quatre cœurs est de 781 millions ; aucun chiffre n'est encore paru pour le modèle à huit cœurs). Mais essayer d'alimenter tout ce matériel avec l'architecture de bus frontale existante de la plate-forme Intel serait une folie. Ainsi, et c'est tout aussi important, Nehalem sonne également le glas de l'architecture de bus frontside d'Intel, qui n'a que trop vieilli.

Le changement radical de la situation de la bande passante du système d'Intel que la nouvelle Interconnexion QuickPath (QPI) représente est peut-être le plus grand facteur qui a façonné la conception de Nehalem. Entre QuickPath et le contrôleur de mémoire intégré de Nehalem, un processeur Nehalem aura accès à une quantité sans précédent de bande passante agrégée, en particulier dans les implémentations à deux et quatre sockets.

AMD a déplacé le contrôleur de mémoire dans le processeur plus tôt et a utilisé Hypertransport.

18voto

The How-To Geek Points 703

D'après mon expérience, il y a un énorme avantage en termes de performances à passer à l'option d'un à deux cœurs. Tout d'un coup, un programme à haut niveau de CPU ne va plus bloque pas votre machine ou la rend inutilement lente. La différence est énorme : énorme.

Mais de deux à quatre ? Pour 99% des gens, ça ne fera pas de différence. différence. Vous devrez exécuter beaucoup de programmes en même temps ou utiliser des programmes qui peuvent profiter de plus d'avantages. simultanément ou utiliser des programmes qui peuvent tirer parti de plus de plus de 2 cœurs (et de façon réaliste, il n'y en a pas tant que ça). de ces programmes). On pense notamment à certains encodeurs de médias Spring.

Il y a également une différence entre les Intel Core 2s et les AMD Phenoms à cet égard. AMD utilise Hypertransport, qui protocole point à point, ce qui fait que chaque cœur a une bande passante bande passante dédiée. Les Intel Core 2 (mais pas Core i7s et autres processeurs basés sur Niehalem) utilisent un bus frontal, qui est une bande passante partagée. bande passante partagée, ce qui fait que plus de cœurs sont en concurrence pour la même bande passante.

Cela peut potentiellement rendre un quadricœur de même horloge (marginalement) plus lent dans certaines circonstances. Le rapport qualité-prix est toujours avec les dual cores IMHO. Ceci étant dit, j'ai un quad core.

10voto

svandragt Points 679

J'aime comment Donald Knuth résume la situation :

Pour moi, on dirait plus ou moins que les concepteurs de matériel sont à court d'idées et qu'ils essaient de faire porter le chapeau de la disparition future de la loi de Moore aux auteurs de logiciels en nous donnant des machines qui ne fonctionnent plus que sur quelques repères clés ! Je ne serai pas du tout surpris si l'idée du multithreading s'avère être un flop, pire que l'approche "Itanium" qui était censée être si formidable - jusqu'à ce qu'il s'avère que les compilateurs souhaités étaient pratiquement impossibles à écrire.

Laissez-moi le dire ainsi : Au cours des 50 dernières années, j'ai écrit bien plus d'un millier de programmes, dont beaucoup ont une taille substantielle. Je ne peux même pas penser à cinq de ces programmes qui auraient été améliorés de façon notable par le parallélisme ou le multithreading. Il est certain, par exemple, que les processeurs multiples ne sont d'aucune aide pour TeX.

Pour certaines applications, il est très facile de tirer parti de plusieurs cœurs. Mais d'autres applications jamais en bénéficient, tandis que les autres pourrait bénéficient si les développeurs les optimisent (ce qui est très difficile).

5voto

Jeff Fritz Points 235

Pour mon ordinateur principal chez mon employeur, j'utilise une machine Xeon à double quadruple cœur avec 8 Go de RAM.

Lorsque je programme, et que j'ai Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (ou 2010) et une instance locale de Sql Server Express... tout fonctionne parfaitement.

En comparaison, j'avais un double cœur avant, et les choses commençaient à ramper avec seulement Visual Studio, Chrome et Sql Express en marche.

C'est une question de ce que vous faites avec la machine. Si vous êtes un utilisateur puissant qui va faire de l'édition vidéo, de la modélisation 3D ou de la programmation avec des ressources importantes, alors oui, vous voudrez un processeur quad-core et beaucoup de RAM.

1voto

Matthieu M. Points 9068

Pour l'utilisation quotidienne et les programmes qui ne sont pas optimisés pour le multi-cœur, un double-cœur rapide battra un quad-cœur plus lent.

Au fur et à mesure que le temps passe et que les applications correctement multithreadées deviennent la norme, les quad-cores prendront de l'avance.

Du point de vue du rapport qualité-prix, les doubles coeurs ont toujours une avance confortable.

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