> Tech > Stations de travail contre serveurs

Stations de travail contre serveurs

Tech - Par iTPro - Publié le 24 juin 2010
email

Au risque de trop simplifier un sujet complexe, disons qu'IBM construit des processeurs PowerPC pour des serveurs, tandis qu'Intel les construit pour des stations de travail monopostes. Quelques explications sont nécessaires pour comprendre cette affirmation un peu brutale.

Les premiers processeurs RISC, au début des années 1990, étaient destinés

Stations de travail contre serveurs

à  des
stations de travail techniques monoposte. On leur demandait d’exécuter le plus
rapidement possible un programme mono-utilisateur en exécutant en parallèle le
plus d’instructions programme possibles. Nous avons d’abord utilisé des pipelines
uniques sur les puces afin d’exécuter en parallèle des parties de plusieurs instructions.
Plus tard, nous avons mis des pipelines multiples sur les puces pour exécuter
encore plus d’instructions en parallèle.
Ces processeurs à  multiples pipelines étaient dits  » superscalaires  » et étaient
étonnamment performants.IBM construit des processeurs PowerPC pour des serveurs,
tandis qu’Intel les construit pour des stations de travail monopostesL’exécution
de multiples instructions en parallèle à  partir d’un seul flux d’instructions
est dénommée ILP (Instruction-Level Parallelism). Aujourd’hui, de nombreux concepteurs
s’efforcent d’accélérer encore les performances avec des conceptions qui accroissent
l’ILP. Un ILP supérieur se traduit par davantage d’instructions s’exécutant en
même temps, et donc l’exécution plus rapide du programme mono-utilisateur. Intel
augmente l’ILP de ses nouvelles puces IA-64 en améliorant l’interface entre le
compilateur et le matériel.
La nouvelle architecture EPIC donne au compilateur une plus grande maîtrise des
ressources matérielles, comme les grands fichiers de registres, les mémoires cache
et plusieurs unités fonctionnelles spécialisées. EPIC est capable de hisser ILP
plus haut que les processeurs RISC superscalaires.
Seul le temps nous dira si cette démarche a réussi. Le point important ici est
qu’EPIC est conçu pour accroître ILP, pour le plus grand profit d’un programme
unique s’exécutant sur une machine. Au milieu des années 1990, d’autres concepteurs
de processeurs se sont interrogés sur les manières d’accroître le TLP (thread-level
parallelism). Un thread est une entité exécutable de travail sur le système ;
on peut l’assimiler à  un flux d’instructions.

Par conséquent, augmenter le TLP revient à  augmenter le nombre d’instructions
pouvant s’exécuter en parallèle à  partir de flux d’instructions multiples. Aujourd’hui,
les processeurs Northstar utilisent déjà  une certaine forme de multithreading.
Ils exécutent des instructions provenant d’un thread jusqu’à  ce qu’un défaut de
cache (cache miss) se produise. Dans ce cas, au lieu d’attendre que le défaut
de cache soit résolu, comme le font la plupart des autres processeurs, Northstar
commence à  exécuter les instructions provenant d’un autre thread.
Tout cela s’effectue sur la puce et améliore d’environ 30 % les performances par
rapport au traitement à  un seul thread. Tous les processeurs Star Series utilisent
ce concept de multithreading. Power4 amène TLP plus loin en utilisant deux processeurs,
dont chacun exécute simultanément des instructions provenant de deux threads différents.

Notons au passage que l’augmentation de TLP n’avantage qu’un système ayant plus
d’un thread actif à  un moment donné. Par conséquent, l’accroissement de TLP peut
avantager les serveurs supportant de multiples applications simultanées, mais
pas les stations de travail monopostes avec un seul thread d’exécution. Certains
environnements applicatifs plus récents, comme Java, peuvent créer des threads
multiples pour un seul utilisateur ; de telles applications bénéficient bien entendu
du TLP accru.
Il est clair que, à  court terme, la priorité des processeurs Intel est d’améliorer
les performances d’applications uniques et à  un seul thread, tandis que la priorité
des processeurs IBM est d’améliorer les performances d’applications multiples
et multithread. Bien que ce soit un peu simpliste, cela décrit l’essentiel de
la différence entre les stations de travail et les serveurs.

Il existe d’autres différences entre les processeurs conçus pour des stations
de travail et ceux conçus pour des serveurs. La bande passante mémoire en est
un bon exemple. Un processeur Intel Pentium III à  733 MHz avec son bus mémoire
à  133 MHz est performant lorsque toutes les données dont il a besoin se trouvent
en mémoire cache, mais il passe beaucoup de temps à  attendre quand la tâche appelle
des données provenant de la mémoire centrale.
Les environnements multi-utilisateurs ont tendance à  chasser les données de la
mémoire cache lorsque le processeur passe d’une application à  une autre. C’est
pourquoi les serveurs possèdent de hautes bandes passantes mémoire pour fournir
de grandes quantités de données. Les processeurs Northstar, par exemple, utilisent
jusqu’à  quatre bus mémoire haute vitesse fonctionnant en parallèle pour délivrer
les quantités de données requises par la tâche d’un serveur.

Téléchargez gratuitement cette ressource

Guide PME : 5 leviers pour accélérer votre développement

Guide PME : 5 leviers pour accélérer votre développement

Grandir, se développer et piloter la croissance sont des enjeux majeurs pour les PME qui doivent sécuriser le quotidien pour s’engager vers demain. Découvrez, dans ce Guide infographique, les différents leviers qui vous permettront de consolider durablement votre développement.

Tech - Par iTPro - Publié le 24 juin 2010