[gull] Linux sur processeur Core Duo?

Daniel Cordey dc at mjt.ch
Fri Aug 4 15:16:52 CEST 2006


On Friday 04 August 2006 14:43, vkeller at bluewin.ch wrote:

> j'avoue apprécier cette discussion HW orientée CPU. Mais ce n'est
> malheureusement qu'une - petite - partie du problème.

Oui, et la notion d'architecture ne se limite pas seulement a celle du chip 
CPU ! Il faut aussi compter avec le chipset et celle du MMU (souvent integre 
au chipset). Les chipset evolues pour des systemes multi-cpus sont tres 
chers... Dans le cas de l'acces a la memoire, le MMU doit etre tres evolue 
lorsque l'on veut acceder a de grands espaces memoires (>4 GB). Dans ce cas, 
il se peut que les performance sur un seul petit programme ne soit pas bon 
vis-a-vis d'un simple Pentium avec un bon FSB. Par contre, en environement 
massivement multi-tache et grosse memoire, l'architecture Pentium se 
fera "scocthe"... 

> Le choix de 
> telle ou telle architecture doit forcément être orienté par le type
> d'application que l'on désire exécuter. Et dans ce domaine, cela va
> du tout au rien.

On parle alors d'architecture du systeme dans son ensemble, pas seulement du 
processeurs.

> Si l'on a la chance de pouvoir maîtriser les 
> sources, alors on pourra tester différents compilateurs, différentes
> bibliothèques et évidemment différentes architectures (et je vous
> assure que les résultats sur des applis réelles ont parfois peu de
> choses en commun avec les benchs "intellisés" à la SPECINT2K), 

Les benchmarks SPECs ont ete developpes a la fin des annees 80 (les premieres 
versions) pour differencier les differents processeurs RISCs de l'epoque. Ils 
font partie de ce que l'on appelle les "toy benchmarks". Cela veut tout dire.

Depuis, des SPECs behcmarks ont aussi des tets plus significatifs comme les 
SPECweb et des benchmarks base de donnees (TPC*). Ceux-ci sont nettement plus 
representatifs mais peuvent difficilement etre reproduits par le commun des 
mortels, vu la complexite et le prix de l'infrastructure de ce qui est teste.

> dans 
> le cas contraire, le choix architectural doit être dirigé par le type
> d'application considérée (eg le type de problème résolu,
> l'algorithmique, etc...).

Surtout, le type de contexte. Serveur de calcul, de DB, de fichiers/baqckup, 
web, etc.

> Finalement concernant la fréquence des processeurs, trivialement
> seules les appli qui utilisent intensivement le cache ont une chance
> d'utiliser ces PE clockés - stupidement - à plus de 3.5 GHz (peut-
> être que les Microsofteries sont de ce type-là), mais dans
> l'écrasante majorité du calcul scientifique, le bottleneck se situe
> au niveau du FSB.

Dans le domaine du calcul scientifique, les architectures ayant plusieurs 
unites logiques (travaillant en //) sont privilegiees. Ce qui permet a des 
processeurs fonctionnat a 1 GHz d'etre plus rapide dans certains domaines que 
d'autres a 3 GHz. Ceci est visible dans le domaine HPC (High Performance 
COmputing).

Le FSB est important mais d'autres facteurs entrent en ligne de compte. Le 
domaine du calcul par elements finis requiert l'acces a de tres grosse masses 
de donnees que les architecture Intel/FSB gerent tres mal. 

> J'ai fait il y a quelques mois des tests sur mon laptop, passer la
> fréquence du CPU de 2GHz (f_max) à 800 MHz (grâce à la SpeedStep
> Technology) fait perdre de l'ordre de 10 % les performances des
> apps.

Oui, c'est assez significatif et demonstratif de la stupidite des messages 
markting dont on nous bombarde.

> Et lorsque l'on sait que l'énergie consommée par un processeur va
> avec sa fréquence au carré (à quoi il faut ajouter le cooling), soit
> un gain d'un facteur 6 (rien que pour le processeur), on comprend
> mieux pourquoi Intel a changé sa stratégie de développement. En ce
> sens, le Woodcrest avec son FSB à 1333 MHz pour deux PE bi-Core est
> très prometteur (les premiers tests le prouve d'ailleurs).

N'oublions pas que dual-core represente deux CPUs... si chacun d'eux a un gros 
apetit pour les donnees, on se retrouve tres vite avec un bus memoire 
completement sature. Il faut donner a "manger" les "instructions" + 
les "data" a deux CPUs... et non un seul.  Un FSB a 1333 MHz peut paraitre 
impresionnant... mais ce n'est, au mieux, que l'equivalent d'un seul bus a 
666 MHz pour un CPU... Tout compte fait, rien d'extraordinaire. Il faut 
savour que si Intel n'avait pas augmenter la vitesse du FSB et l'avait laisse 
a 800 MHz, nous aurions alors l'equivalent d'un FSB a 400 MHz par CPU. Intel 
n'avait donc pas le choix sinon les performances auraient ete ridicules et 
personne n'uarait compris tout ce bruit... AMD avec son quad core est encore 
plus ennuye... il faudrait l'equivalent d'un FSB a 2.6 GHz pour que chaque 
processeur puisse fonctionner au mieux (idealment il faudrait 3.2 GHz). Or, 
un bus memoire a 2.6 GHz... doit faire ricanner les ingenieurs d'Intel. Il va 
donc falloir developper des Core avec des caches de plusieurs dizaines de 
MB... dure, dure... Pour cela, il faudra attendre de pouvoir fabriquer des 
chips en technologies 45 nanos... On a le temps...

EN attendant Intel et AMD vont nous balancer des CPU N-cores qui ne 
fonctionneront pas du tout de maniere optimum et offriront des gains de 
performances largement inferieurs a ce que l'on pourait en attendre.

dc



More information about the gull mailing list