Restart workers after certain number of events processed

Hi,

Is it possible to limit the number of events processed by each worker instance? It’s common and powerful workaround for memory leak issues and it’s widely used in, for instance, web servers.


Thanks,
Evgeny Boger

Hi,

Limiting the number of events processed by a worker goes against the PROOF paradigm.
If you have problems with memory you can try to set upper limits on the memory usage.
See root.cern.ch/drupal/content/limi … nd-workers .

The best would be of course to find the leaks.

G. Ganis

Thank you, this feature will be useful in our case.

Just to clarify: when using that limits, if the program has a significant and constant memory leak (say, 10MB/1000evts), PROOF system will keep to kill workers until all of them will be dead? I mean, is it possible for PROOF to allocate new workers when some of them are killed?


Evgeny Boger

Hi,

Yes, that’s right.

Adding workers to a running query is something that will come but is not yet in. However, if there are memory leaks I think one should really make an effort to understand them: they may bring other subtle misbehaviors and it is not good, in my opinion, to leave them around.
We made an effort to integrate valgrind runs in PROOF (see root.cern.ch/drupal/content/runn … y-valgrind) and I believe it now works reasonably well to give good hints. We use regularly when we have weird problems and it always provides good input to solve the problems.

G. Ganis