<div dir="ltr"><div>OK.</div><div>Thank you so much for all informations.</div><div>Best regards. <br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2018-06-24 17:28 GMT+01:00 Adrian Reber <span dir="ltr">&lt;<a href="mailto:adrian@lisas.de" target="_blank">adrian@lisas.de</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Sun, Jun 24, 2018 at 02:05:46PM +0100, Thouraya TH wrote:<br>
&gt; 2018-06-23 19:49 GMT+01:00 Thouraya TH &lt;<a href="mailto:thouraya87@gmail.com">thouraya87@gmail.com</a>&gt;:<br>
&gt; <br>
&gt; &gt; 2018-06-23 18:44 GMT+01:00 Adrian Reber &lt;<a href="mailto:adrian@lisas.de">adrian@lisas.de</a>&gt;:<br>
&gt; &gt;<br>
&gt; &gt;&gt; On Sat, Jun 23, 2018 at 02:11:10PM +0100, Thouraya TH wrote:<br>
&gt; &gt;&gt; &gt; *MPI applications would be to be aware of the communication that is<br>
&gt; &gt;&gt; going<br>
&gt; &gt;&gt; &gt; on and try to restore that communication state after the process<br>
&gt; &gt;&gt; restore. *<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; This is about MPI library <a href="https://www.open-mpi.org/" rel="noreferrer" target="_blank">https://www.open-mpi.org/</a><br>
&gt; &gt;&gt; &gt; 1) Running HPC applications, in containers, is gaining significant<br>
&gt; &gt;&gt; interest<br>
&gt; &gt;&gt; &gt; due to lighweight virtualisation of containers versus VMs (as i know).<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Not sure if you are actually asking something here or not. The thing you<br>
&gt; &gt;&gt; need to be concerned about are communication messages which are on the<br>
&gt; &gt;&gt; fly. Especially if the underlying technology is reliable and does not<br>
&gt; &gt;&gt; lose any messages. This can lead to a situation like this<br>
&gt; &gt;&gt; (theoretically):<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;  * Side A sends message M1 to side B<br>
&gt; &gt;&gt;  * Side B is checkpointed and stopped before receiving message M1<br>
&gt; &gt;&gt;  * Side A waits for an answer from side B (message M2)<br>
&gt; &gt;&gt;  * Network discards the message M1 as receiver on side B is gone<br>
&gt; &gt;&gt;  * Side B is restored and waits for ever for message M1<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;  * Side B keeps now waiting for message M1<br>
&gt; &gt;&gt;  * Side A keeps waiting for message M2<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; And now both sides are waiting for ever and you would need to replay<br>
&gt; &gt;&gt; message M1.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; So coordinated checkpointing, where you can make sure that no messages<br>
&gt; &gt;&gt; are currently on the fly, would make it easier.<br>
&gt; &gt;&gt;<br>
&gt; &gt;<br>
</div></div>&gt; &gt; *Ok, we can use coordinated or uncoordinated checkpointing using CR*IU ?<br>
&gt; &gt;<br>
&gt; OpenMPI<br>
&gt; <br>
&gt; Status: stalled<br>
&gt; <br>
&gt;    - Adrian Reber did &lt;<a href="https://lisas.de/~adrian/open-mpi.git/" rel="noreferrer" target="_blank">https://lisas.de/~adrian/<wbr>open-mpi.git/</a>&gt; first<br>
<span class="">&gt;    version of patches<br>
&gt; <br>
&gt;   I see that this is your version. Is it a coordinated or uncoordinated<br>
&gt; checkpointing ? Kind regards.<br>
<br>
</span>Actually I do not remember how and what Open MPI does in regards to<br>
checkpointing. I am guessing it is uncoordinated.<br>
<br>
At this point in time, if you want to use CRIU and one of the MPI<br>
variants, you have to implement it yourself.<br>
<span class="HOEnZb"><font color="#888888"><br>
                Adrian<br>
</font></span></blockquote></div><br></div>