[Q-e-developers] New restart mechanism and signal handlers
Paolo Giannozzi
paolo.giannozzi at uniud.it
Wed Jun 4 13:15:07 CEST 2014
Interesting. I didn't consider that possibility because it used
to be (years ago) quite machine-dependent, but if there is a
safe and portable way to implement it, I am definitely in favor.
It is not clear to me what happens in parallel execution: are
all running processes "signaled"? If they aren't, it is a mess.
Paolo
On Wed, 2014-06-04 at 10:52 +0200, Lorenzo Paulatto wrote:
> Hello,
> I agree with Paolo that restart from random crash is unpredictable and
> unmaintainable. However, to make everybody happy I have extended the
> current (normally disable) signal handling mechanism to intercept the
> signal that queues system normally send a few minutes before killing the
> job to trigger a clean exit.
>
> Actually I had implemented this years ago, but I never uploaded it as it
> increases the likeliness that the code will be forcefully killed when
> it's writing the data!
>
> In the current situation, being killed while writing the data has the
> same result (i.e. cannot restart) as being killed somewhere else, hence
> I see no problem in implementing this change.
>
> I've also implemented clean exit when pressing CTRL-C, a double press of
> CTRL-C will still kill the code immediately.
>
> I think that most queue systems send SIGTERM before SIGKILL, but some
> may also send SIGINT or SIGUSR*, if people can start to test the code we
> can easily add more signals.
>
> I'll go forward and upload the change later, if there are no complaint,
> it is still disable by default. I think it would be sensible to enable
> it by default in parallel compilation.
>
> cheers
>
>
> p.s. I've also implemented the possibility to send the code in daemon
> mode when SIGHUP is received (e.g. ssh connection dies, pw.x keeps
> running in background) but it is fragile and not really useful, if you
> want it let me know.
>
--
Paolo Giannozzi, Dept. Chemistry&Physics&Environment,
Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
Phone +39-0432-558216, fax +39-0432-558222
More information about the developers
mailing list