Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Programmation.shell : Shell et Multi Thread

Posté par José JORGE (Jabber id, page perso, ) le 15 février 2008

bon, 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 #905401.

erreur dans l'enoncé ?

Posté par NeoX () le 16/02/2008 à 00:58. (lien). Évalué à 2.

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é ?

    Posté par José JORGE (Jabber id, page perso, ) le 16/02/2008 à 09:20. (lien). Évalué à 4.

    > 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 :


    oggdec | oggenc | oggdec | oggenc

    • [^]Re: erreur dans l'enoncé ?

      Posté par B. franck () le 17/02/2008 à 01:46. (lien). Évalué à 0.

      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é ?

        Posté par José JORGE (Jabber id, page perso, ) le 17/02/2008 à 08:59. (lien). Évalué à 3.

        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é ?

          Posté par B. franck () le 17/02/2008 à 15:10. (lien). Évalué à 1.

          peut-être avec une pile fifo remplie par un des process et lu par l'autre?

          • [^]Re: erreur dans l'enoncé ?

            Posté par fabien () le 18/02/2008 à 09:19. (lien). Évalué à 2.

            tu veux dire comme un pipe ?

            oups pardon, je suis dehors!...