Re: small redesign...
Martin Pool <[email protected]> Wed, 15 Oct 2014 16:39:01 -0700
| Newsgroups | gmane.comp.compilers.distcc |
|---|---|
| Message-ID | <CAA9uavDREdwh+=3KtPfLwah45mwXAHadafnr7HiNQcKN9QhDDg@mail.gmail.com> |
--===============1512711565658255002== Content-Type: multipart/alternative; boundary=089e013cb9bec60c6f05057ea445 --089e013cb9bec60c6f05057ea445 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Can you try to explain more clearly what difference in queueing behavior you expect from this change? I think probably the main change that's needed is for the client to ask all masters if they have space, to avoid needing to effectively poll by retrying, or getting stuck waiting for a particular server. On Wed, Oct 15, 2014 at 12:53 PM, =C5=81ukasz Tasz <[email protected]> wrote: > Hi Guys, > > please correct me if I'm wrong, > - currently distcc tries to connect server 3 times, with small delay, > - server forks x childs and all of them are trying to accept incoming > connection. > If server runs out of childs (all of them are busy), client will > fallback, and within next 60 sec will not try this machine. > > What do you think about redesigning distcc in a way that master server > will always accept inconing connection, fork a child, but in a same > time only x of them will be able to enter compilation > task(dcc_spawn_child)? (mayby preforking still could be used?) > > This may create kind of queue, client always can decide by his own, if > can wait some time, or maximum is DISTCC_IO_TIMEOUT, but still it's > faster to wait, since probably on a cluster side it's just a pick of > saturation then making falback to local machine. > > currently I'm facing situation that many jobs are making fallback, and > localmachine is being killed by make's -j calculated for distccd... > > other trick maybe to pick different machine, if current is busy, but > this may be much more complex in my opinion. > > what do you think? > regards > =C5=81ukasz Tasz > __ > distcc mailing list http://distcc.samba.org/ > To unsubscribe or change options: > https://lists.samba.org/mailman/listinfo/distcc --=20 Martin --089e013cb9bec60c6f05057ea445 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Can you try to explain more clearly what difference in que= ueing behavior you expect from this change?<div><br></div><div>I think prob= ably the main change that's needed is for the client to ask all masters= if they have space, to avoid needing to effectively poll by retrying, or g= etting stuck waiting for a particular server.</div></div><div class=3D"gmai= l_extra"><br><div class=3D"gmail_quote">On Wed, Oct 15, 2014 at 12:53 PM, = =C5=81ukasz Tasz <span dir=3D"ltr"><<a href=3D"mailto:[email protected]" ta= rget=3D"_blank">[email protected]</a>></span> wrote:<br><blockquote class= =3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd= ing-left:1ex">Hi Guys,<br> <br> please correct me if I'm wrong,<br> - currently distcc tries to connect server 3 times, with small delay,<br> - server forks x childs and all of them are trying to accept incoming<br> connection.<br> If server runs out of childs (all of them are busy), client will<br> fallback, and within next 60 sec will not try this machine.<br> <br> What do you think about redesigning distcc in a way that master server<br> will always accept inconing connection, fork a child, but in a same<br> time only x of them will be able to enter compilation<br> task(dcc_spawn_child)? (mayby preforking still could be used?)<br> <br> This may create kind of queue, client always can decide by his own, if<br> can wait some=C2=A0 time, or maximum is DISTCC_IO_TIMEOUT, but still it'= ;s<br> faster to wait, since probably on a cluster side it's just a pick of<br= > saturation then making falback to local machine.<br> <br> currently I'm facing situation that many jobs are making fallback, and<= br> localmachine is being killed by make's -j calculated for distccd...<br> <br> other trick maybe to pick different machine, if current is busy, but<br> this may be much more complex in my opinion.<br> <br> what do you think?<br> regards<br> <span class=3D"HOEnZb"><font color=3D"#888888">=C5=81ukasz Tasz<br> __<br> distcc mailing list=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <a href=3D"htt= p://distcc.samba.org/" target=3D"_blank">http://distcc.samba.org/</a><br> To unsubscribe or change options:<br> <a href=3D"https://lists.samba.org/mailman/listinfo/distcc" target=3D"_blan= k">https://lists.samba.org/mailman/listinfo/distcc</a></font></span></block= quote></div><br><br clear=3D"all"><div><br></div>-- <br>Martin<br> </div> --089e013cb9bec60c6f05057ea445-- --===============1512711565658255002== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc --===============1512711565658255002==--