[bcn-pm] Perls i forks
Lluís Ribes
lluis_ribes at hotmail.com
Thu Mar 18 16:13:40 CST 2004
Hola,
Sóc en Lluís Ribes, aquest dies estic fent un sheduler per llançar
treballs sobre una plataforma GRID. He decidit fer-ho en perl per la
seva portabilitat i la sencillessa a l hora de debugar errors. El
scheduler és molt sencill, i actualment encara més, per què el que fa és
llansar uns 14 treballs paral.lels cada 200 segons sobre 5 màquines
diferents. Aquest 14 treballs són cadascú un fork, i ja m´he trobat amb
un problema, i és que hi ha un limit de zoombies generats pels forks que
poden estar actius, de tal forma, que després de 8 torns de generar 14
treballs, el pare a arrivat al limit de forks que pot fer i peta.
Aixó ho he resolt parcialment fent que el fork que genera 14 treballs
cada cop, estigui en un fitxer perl que és cridat per unaltre procés
perl mitjançant system. Es pot fer algo per evitar el zoombies? cal dir
que el pare no pot bloquejar-se fent un wait perquè sinó és perd la
paral.lització.
Per unaltre costat, he volgut evolucionar el scheduler, i ara vull que s
estiguin executant 1 treball per màquina, i quan una màquina es queda
sense treballs, doncs li assigno un. Per aixó continuo fent servint
forks, però ara, aquest fills han d´enviar informació que han acabat
la feina al pare per a que es dongui compte i llanci unaltre treball a
la màquina descarregada. Vull evitar fer servir memòria compartida, ja
que em reduïria la portabilitat tal com molt bé m´ha comentat en Alexm
(mersi ;) ) .Fer-ho amb pipe no m he és útil , o no sé com fer-ho per a
que pugui crear una pipe per cada fill, entrar en un bucle d´espera que
algun fill possi senyal de que ja està i llansar unaltre fill amb una
pipe nova sense bloquejar el pare pel bloqueig de les pipes,
Com ho veieu, creieu que aquest escenari és óptim pel lleguatge PERL?
Gràcies!,
lluis,
More information about the Barcelona-pm
mailing list