Programmation.shell : Shell et Multi Thread
Posté par José JORGE (Jabber id, page perso, ) le 15 février 2008bon, je croyais benôitement que de faire
toto | titi
me permettrait d'utiliser l'hyperthreading de ma babasse, les processus toto et titi étant séparés. Mais que nenni! Les deux processus restent affectés au même sore, n'utilisant que 50% de la puissance disponible.
Donc question, y a-t-il un moyen autre que pipe pour lancer deux processus gourmands en CPU, qui s'envoient les données, et qu'ils utilisent deux cores?
> Lire le message (16 commentaires, moyenne: 1,9).
Vous avez demandé le commentaire #905343.



erreur dans l'enoncé ?
le pipe |
permet de prendre la sortie de la partie de gauche,
pour l'envoyer à l'entrée de la partie de droite
cela ne dit nullement au systeme de mettre le premier process sur le premier processeur, et le 2e sur le 2e processeur.
la gestion multiprocesseur se fait, soit au niveau du programme lui meme (programme multithread), soit par le scheduler de la machine qui va affecté les taches et process sur les differents processeurs.
s"il ne voit pas de besoin special à mettre un process sur chaque proc, il n'y a pas de raison qu'il le fasse.
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux
[^]Re: erreur dans l'enoncé ?
> s'il ne voit pas de besoin special à mettre un process sur chaque proc, il n'y a pas de raison qu'il le fasse.
Ben justement, le besoin est là : les deux process occupent plus de 100% d'une UC, donc il pourrait profiter d'un autre CPU.
Exemple inutile mais gourmand :
[^]Re: erreur dans l'enoncé ?
ce serait pas mal de lire la réponse du monsieur qui s'en est donné la peine.
càd: le pipe n'est pas fait pour ça.
Alors on oublie le | et on regarde du côté du & ...
[^]Re: erreur dans l'enoncé ?
Je pense avoir lu, ce que je voulais souligner c'est que j'ai besoin de piper les données entre les deux process, avec &, comment faire?
[^]Re: erreur dans l'enoncé ?
peut-être avec une pile fifo remplie par un des process et lu par l'autre?
[^]Re: erreur dans l'enoncé ?
tu veux dire comme un pipe ?
oups pardon, je suis dehors!...