Suche Prozess-Tool...

13/12/2007 - 22:35 von Andreas Dehmel | Report spam
Hallo zusammen,


ich suche ein Tool für's kontrollierte gleichzeitige Starten von bis
zu N Prozessen -- ich weiß nicht, wie ich's am besten beschreiben
soll... das Tool sollte die Kommandozeilen für die zu startenden
Prozesse am besten von stdin lesen, die Prozesse starten und wenn N
gleichzeitig laufen solange blockieren, bis einer terminiert, dann
den nàchsten absetzen usw., so daß nie mehr als N gleichzeitig
laufen. Hintergrund ist der, daß ich meine Multicore-CPU für batch-
artige Berechnungen vernünftig ausnutzen will, ohne mehr rechnende
Prozesse als Cores zu haben und ohne das jedesmal zu Fuß programmieren
zu müssen. Also z.B. sowas wie

for i in <files>; do echo "<encoder> [params] $i"; done | wanted-tool --processes=4

Für eine Anwendung behelfe ich mir dabei im Moment mit einem automatisch
generierten Makefile und make -j#, aber ich hàtte gerne ein generisches
Tool, weil make hier etwas umstàndlich ist. Gibt's sowas? Ich habe schonmal
gesucht, aber bei allen Keywords, die mir dazu einfallen, lande ich immer
beim Linux Kernel Scheduler...



Andreas
Dr. Andreas Dehmel Ceterum censeo
FLIPME(ed.enilno-t@nouqraz) Microsoft esse delendam
http://www.zarquon.homepage.t-online.de (Cato the Much Younger)
 

Lesen sie die antworten

#1 Jan Heichler
14/12/2007 - 05:59 | Warnen spam
On Thu, 13 Dec 2007 22:35:46 +0100, Andreas Dehmel
wrote:

Hallo zusammen,


ich suche ein Tool für's kontrollierte gleichzeitige Starten von bis
zu N Prozessen -- ich weiß nicht, wie ich's am besten beschreiben
soll... das Tool sollte die Kommandozeilen für die zu startenden
Prozesse am besten von stdin lesen, die Prozesse starten und wenn N
gleichzeitig laufen solange blockieren, bis einer terminiert, dann
den nàchsten absetzen usw., so daß nie mehr als N gleichzeitig
laufen. Hintergrund ist der, daß ich meine Multicore-CPU für batch-
artige Berechnungen vernünftig ausnutzen will, ohne mehr rechnende
Prozesse als Cores zu haben und ohne das jedesmal zu Fuß programmieren
zu müssen. Also z.B. sowas wie

for i in <files>; do echo "<encoder> [params] $i"; done | wanted-tool --processes=4

Für eine Anwendung behelfe ich mir dabei im Moment mit einem automatisch
generierten Makefile und make -j#, aber ich hàtte gerne ein generisches
Tool, weil make hier etwas umstàndlich ist. Gibt's sowas? Ich habe schonmal
gesucht, aber bei allen Keywords, die mir dazu einfallen, lande ich immer
beim Linux Kernel Scheduler...




Such nach Batch Queuing System. torque und Sun Gridengine sind wohl
die bekanntesten kostenlosen Vertreter. Werden normalerweise in
Clustern oder Serverfarmen eingesetzt um Jobs zu verteilen,
funktionieren aber auch lokal ganz gut.

Gruß
Jan

Ähnliche fragen