Je travaille pour une entreprise avec de nombreuses applications Web LAMP héritées, où nous essayons de rafraîchir notre matériel de ~ 250 serveurs physiques à ~ 40 nouveaux serveurs avec virtualisation. Nous avons reçu deux devis de fournisseurs - l'un suggère des processeurs Intel, l'autre AMD.
Une chose que j'aime à propos du nombre élevé de cœurs avec AMD, c'est que nous serons en mesure de dédier des cœurs aux machines virtuelles, ce qui signifie que nous avons moins de chances que des applications interfèrent les unes avec les autres en raison de pics, ce qui est dans une certaine mesure plus important pour moi que des performances de pointe.
Les autres considérations que j'ai en tête sont:
- La consommation électrique peut être différente (pas un problème dans notre cas.)
- Les instructions du processeur comme CRC32 (SSE 4.2) ne seront pas prises en charge (Édition: MySQL 5.6 semble prendre en charge SSE4.2. Je ne suis pas sûr d'Apache)
- MySQL ne s'adapte pas parfaitement après ~ 16 / ~ 32 cœurs (je suis prêt à accepter ce compromis.)
Quelles sont les autres considérations qui me manquent?
(Note aux modérateurs: je connais ce fil - je considère la question légèrement différente.)
Edit: Supposons que les tâches sont exceptionnellement parallèles (serveurs Web), et que je me fiche que les serveurs de base de données ne soient pas aussi parallèles.
la source
Réponses:
Il y a eu beaucoup de presse concernant la dernière offre de processeur AMD, appelée Bulldozer. La version "Serveur" de cette partie n'est pas encore sortie, mais l'offre de bureau est un excellent aperçu de certains des problèmes potentiels des nouvelles choses.
Quant à la génération actuelle de partie serveur, la recommandation dans son ensemble est assez bonne au niveau générique. Le travail sur le Web et (la plupart) des bases de données est en grande partie basé sur Integer, et les processeurs AMD fonctionnent bien avec le calcul Integer. De plus, le service Web est (génériquement) un problème qui peut être fortement parallélisé. AMD se concentre plutôt spécifiquement sur "de nombreux cœurs pour un travail plus rapide", et LAMP (là encore, de manière générique) a tendance à bien répondre à cela.
Un domaine auquel vous devez vraiment prêter attention est les dépendances à un seul thread dans vos applications. Les pièces AMD n'évoluent pas aussi loin dans le sens des aiguilles d'une montre que les pièces Intel, de sorte que les processus qui sont fondamentalement à fil unique peuvent goulot d'étranglement de votre système global beaucoup plus rapidement qu'il ne le ferait sur des pièces CPU plus rapides. Vous seul savez si cela s'applique à vous ou non. Certaines opérations de base de données peuvent être mieux servies par des processeurs Intel plus rapides avec un nombre de cœurs plus petit, juste pour que ces quelques gros threads puissent vraiment crier.
Le code d'application est également important ici. Certains processus de serveur Web de longue durée pourraient ralentir considérablement le temps d'exécution d'un seul thread et souhaiteraient également une horloge plus rapide. Cela peut être résolu en réécrivant la nécessité de ce long processus, mais d'ici là, une horloge plus rapide serait bien.
Mais en général, pour les charges de travail de style lots-o-webserver-vm, ces parties à 12 cœurs peuvent évoluer de manière assez sacrée. Si vous rencontrez des problèmes de thread unique, opter pour les composants à 8 cœurs cadencés plus élevés serait un compromis acceptable.
la source
Pour la plupart, vous constaterez que les deux processeurs sont très comparables. Les processeurs AMD ont un léger avantage dans les vitesses de RAM (généralement) en raison du 4ème canal. Les processeurs Intel ont généralement un CPI inférieur (peut-être davantage avec HT , bien que cela dépende beaucoup de la charge de travail). AMD sont généralement moins chers.
La plupart de ces facteurs donneront un avantage à l'un ou à l'autre, selon votre charge de travail. Ni l'un ni l'autre ne sera significativement pire que l'autre (en supposant des configurations sensées et un CapEx à peu près égal).
la source
Vous devez prendre en compte les différences de performances que les différentes architectures de RAM peuvent apporter, et déterminer si oui ou non c'est un facteur décisif pour votre organisation.
Également, en guise de remarque secondaire, bien que vous ne puissiez pas être préoccupé par les performances de pointe, si vos machines virtuelles n'ont pas chacune plusieurs cœurs et / ou que les tâches spécifiques à l'intérieur sont à thread unique, il y a un avantage de performance considérable dans les intels par cœur que AMD, même si le nombre total de cœurs est inférieur.
la source
La principale différence réside dans l'approche; dans le milieu de gamme, AMD met légèrement l'accent sur les cœurs dans une pièce qui coûte à peu près autant qu'une pièce Intel similaire. La partie Intel aura moins de cœurs cadencés plus haut.
Ainsi, pour les charges de travail d'applications Web virtualisées, vous souhaiterez probablement privilégier les systèmes AMD.
À moins qu'il n'y ait une grande différence de prix, je ne m'inquiéterais pas pour les dollars. Je regarderais plus le sous-système d'E / S. Et, le TCO sur 40 serveurs sera principalement le support, les licences logicielles, le cas échéant, et le personnel, probablement pas les serveurs eux-mêmes.
Au minimum, vous devez vous rendre service, faire appel aux deux fournisseurs et exécuter vos systèmes sur leur matériel avant de vous engager sur 40 serveurs à partir de l'un ou l'autre. Vous seul pouvez répondre correctement à la question pour votre charge de travail particulière.
la source
Encore une chose à jeter, méfiez-vous si vous utilisez la virtualisation de tout type, la migration des invités d'Intel vers AMD peut être un vrai problème et le clustering entre les marques n'est pas du tout prévu. Restez sur une plate-forme pour chaque cluster et acceptez qu'il est difficile de passer de l'un à l'autre.
la source