1 votes

Critères de sélection et profilage des processeurs de serveur

Nous achetons un serveur pour exécuter divers logiciels de bioinformatique. Le paquet principal sur notre machine de test est multi-fil et est totalement lié au CPU, l'IO et la RAM ne limitent pas la performance - le CPU fonctionne à 100% tandis que la RAM et l'IO du disque sont à des niveaux minimaux.

Nous voulons être sûrs d'obtenir le(s) meilleur(s) processeur(s) pour notre charge de travail, mais étant donné la liste assez large de Xeon d'Intel à choisir, comment pouvons-nous sélectionner le meilleur pour nos besoins ?

Je comprends qu'à un niveau fondamental, "plus" = "mieux", mais comment puis-je savoir si, par exemple, une vitesse de bus plus rapide fait une plus grande différence par rapport à un grand cache ou si plus de cœurs sont meilleurs que la vitesse d'horloge.

Existe-t-il donc un moyen de profiler notre logiciel pour savoir quel processeur choisir ? Le logiciel en question est une collection de scripts Python, donc nous pouvons faire le profilage sur Linux ou Windows.

1voto

Avez-vous jeté un coup d'œil à cachemire qui fait partie de la très bonne Valgrind paquet de profilage de la mémoire ?

Cachegrind vous donnera au moins une idée de l'ampleur de l'attaque du cache. Il se peut que votre application utilise tellement le cache que le fait de disposer ou non du cache L2/L3 plus important d'un Xeon n'a pas d'importance, mais il se peut aussi que vous soyez limité par le pipeline du processeur et que l'utilisation du cache ne soit pas si fréquente.

Cachegrind vous permettra également de définir des tailles de cache arbitraires, ce qui vous permettra de tester votre code selon différents scénarios de taille de cache.

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