[Expliqué]Multi-processeurs et utilisation d'un seul CPU

J’utilise actuellement un bi-xeon hyperthreading (donc 4 CPUs visibles) côté système, sur une 2.6.24-1-amd64.

Or, lorsque je lance mes applis et que je regarde côté monitoring, je ne vois jamais d’utilisation simultanée de 2 processeurs. Ex. gzip. Je suis étonné qu’un prg comme gzip ne gère pas le multiproc.

Bref il n’y a toujours qu’un seul proc. sollicité sur une grosse opération. Pas toujours le même, mais pas de calcul de concert entre les proc.

Y a t-il quelque chose de spécifique à effectuer pour activer le smp?

Merci.

Le parallélisme est quelque chose de compliqué. Si un processus lance un fil (thread) tu auras 3 processus (le père, le fils et l’esprit qui fait le lien :slightly_smiling:) qui peuvent utiliser 3 processeurs sauf que l’«esprit» passe son temps à glander. gzip ne lance pas de thread et donc il n’y a qu’un processus qui tourne, don c qu’un processeur. Le multiprocesseur n’est intéressant que pour un serveur ou une machine effectuant plusieurs taches en même temps ou utilisant un programme exploitant ça (pas gzip donc). L’hyperthreading est encore plus restrictif car n’effectuant deux instructions en parallèle que dans des cas précis.Lance 4 gzip de 4 gros fichiers en même temps et tu verras du parallélisme.

Merci fran.b pour cette explication. :smt023

Ne me reste plus qu’à trouver des logiciels exploitant le multiproc., notamment sur la compression (je compresse des folders de plus de 100Go périodiquement).

Tu n’as pas compris, donc: le seul moyen d’exploiter la compression en // est de lancer plusieurs compressions >différentes< en //.
En tous cas pour les zip ou dérivés, l’algorithme n’est pas parallèlisable, donc tu ne trouveras pas de logiciel de compression zip (ou gzip ou bzip) travaillant sur plusieurs processeurs.

Ok Mattotop, j’avais bien compris mais je pensais qu’il existait des logiciels de compression parallèlisables :confused:

Je suis étonné car sous zindoz de mémoire j’ai l’impression d’avoir vu des compresseurs tourner en multiproc (avec 1 process lancé).

En l’occurrence, j’ai croné 1 zip par jour sur de gros folders, donc ici le multiproc ne me sert à rien… :frowning:

Hé hé, j’en ai des gros calculs parallélisables qui aimeraient bien se payer un bi-xeon.
Quelques jours à pleine charge ça te dis ?

[quote=“antalgeek”]Hé hé, j’en ai des gros calculs parallélisables qui aimeraient bien se payer un bi-xeon.
Quelques jours à pleine charge ça te dis ?[/quote]

Bah disons que je m’en sers un peu quand même, donc si tu le mets à genoux pendant des jours :wink: