[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