<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr"><div><div>I suggest, to whoever will address this issue, to have a look at how C++ >= 2011 handles the wait on a condition variable.<br></div>I think the technique to be used should be analogous.<br><br></div>Best regards,<br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-09-29 16:35 GMT+02:00 Maksym Planeta <span dir="ltr"><<a href="mailto:mplaneta@os.inf.tu-dresden.de" target="_blank">mplaneta@os.inf.tu-dresden.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
have a look into this paper:<br>
<br>
A Case for Application-Oblivious Energy-Efficient MPI Runtime<br>
A. Venkatesh , A. Vishnu , K. Hamidouche , N. Tallent , D. K. Panda , D. Kerbyson , and A. Hoise<br>
Supercomputing 2015, Nov 2015<br>
<br>
That's about MVAPICH2, not MPICH, but they share a lot of code base.<div><div class="h5"><br>
<br>
On 09/29/2016 04:07 PM, Tim Jammer wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Hi<br>
<br>
Within my bachelor thesis I come across that the MPICH Implementation<br>
implements a busy wait.<br>
In our application, this leads to a waste of energy as all processes are<br>
spinning in a barrier while one process performs I/O.<br>
<br>
Therefore I want to propse to not wait as busy as it is done now.<br>
On the test system this saves 50% energy compared to busy wait.<br>
My basic prototype implementation causes only a negligible additional<br>
runtime overhead.<br>
<br>
My proposal is to sleep between polling if the communication has not<br>
finished yet.<br>
Within the first few iterations the implementation should not sleep, to<br>
guarantee maximum performance.<br>
But if the communication was not finished right away, the importance of<br>
saving energy grows.<br>
Therefore I propose to sleep and increase this sleeping time after every<br>
polling<br>
up to a maximum value in order to not waste much additional runtime on<br>
waiting.<br>
This will allow the CPU to power down and save energy.<br>
<br>
my basic prototype basically works as follows:<br>
<br>
int stime=0;<br>
    while (/* Incoming data does not match the request*/)<br>
    {<br>
usleep(stime);<br>
stime++;<br>
// do the actual polling...<br>
<br>
I can imagine, that the user can choose to activate this behaviour (i.e.<br>
with an environment variable) if he wants to save energy.<br>
<br>
I have attached the section of my thesis which describe it more in detail.<br>
<br>
<br>
My question is: was something like this considered before and are there<br>
any arguments why this was not implemented.<br>
<br>
Regards<br>
Tim Jammer<br>
<br>
<br></div></div>
______________________________<wbr>_________________<br>
discuss mailing list     <a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a><br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mpich.org/mailman/listinfo/discuss" rel="noreferrer" target="_blank">https://lists.mpich.org/mailma<wbr>n/listinfo/discuss</a><br>
<br><span class="HOEnZb"><font color="#888888">
</font></span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
-- <br>
Regards,<br>
Maksym Planeta<br>
<br>
</font></span><br>______________________________<wbr>_________________<br>
discuss mailing list     <a href="mailto:discuss@mpich.org">discuss@mpich.org</a><br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mpich.org/mailman/listinfo/discuss" rel="noreferrer" target="_blank">https://lists.mpich.org/<wbr>mailman/listinfo/discuss</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Michele De Stefano<br><a href="http://it.linkedin.com/in/micheledestefano" target="_blank">Linked In</a><br><a href="http://sourceforge.net/projects/mds-utils/" target="_blank">mds-utils: a general purpose Open Source library</a><br></div><div><a href="http://www.micheledestefano.altervista.org" target="_blank">Personal Web Site</a><br></div></div></div></div></div></div>
</div>