bash skript für SMP gesucht

Von: , Frage gestellt am Mi, 28. Mai 2008

Moien

Ich hab einige tausend Jobs (immer das gleiche Consolenprogram, nur andere Parameter) zu starten. Alle CPU-bound, single-threaded, mit minimalen IO, zwischen 10s und 4min Rechenzeit. Auf 8 Kern Systemen wäre es natürlich interessant 8 Jobs gleichzeitig zu rechnen.

Nur wie? Wenn ich die Jobs in 8 Listen aufteile und diese gleichzeitig starte wird durch die Laufzeitunterschiede eine Liste immer länger laufen als die anderen. Heute warens 2 Stunden ...

Danke

2 Antworten zu dieser Frage

  1. Antwort von nach 9 Stunden 1 hilfreich
    Re: bash skript für SMP gesucht

    Hallo, Ich hab einige tausend Jobs (immer das gleiche
    Consolenprogram, nur andere Parameter) zu starten. Alle
    CPU-bound, single-threaded, mit minimalen IO, zwischen 10s und
    4min Rechenzeit. Auf 8 Kern Systemen wäre es natürlich
    interessant 8 Jobs gleichzeitig zu rechnen.

    Nur wie?
    1. Makefile-Hack: du schreibst (automatisiert natürlich ;-) eine Makefile, die einfach alle Berechnungen durchführt, und schreibst dann

    make -j 8
    


    2. Shell-Hack mit uptime: Du baust einen Endlosschleife, und startest immer dann neue Prozesse wenn die load average niedriger als ein bestimmter Wert ist. Nachteil: die load wird nicht so häufig aktualisiert

    3. Perl + Parallel::ForkManager

    HTH,
    Moritz

    • Antwort von nach 10 Stunden 0 hilfreich
      gelöst, danke

      Moien 1. Makefile-Hack
      Das sollte klappen, danke.

      cu

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!