<div dir="ltr"><div><div><div><div><div>Master with multi poll-sets is running on my dev machine without errors so far.<br><br>What's the difference between 
polling threads and poll-sets (<code>+IOt</code> 

and 
<code>+IOp</code>)?<br></div><div>How do I know if I should increase the number of polling threads or poll-sets?<br></div><div>I'm using a 8 or 16 vCPUs machine (vCPU =  hyper-threads) running Ubuntu 16.04.<br><br></div>I've measured with <code>msacc</code> as the docs [1] recommends on 1 vCPU machine.<br></div>Each gen_udp receiving 100 UDP packets per second increase the 'poll' row load by about 0.05%.<br></div>Adding several gen_udp that send 100 UDP packets per second almost doesn't affect the load.<br></div><div>Is it expected that gen_udp receiving packets has high load but gen_udp sending packets very low load?<br></div><div><br></div>How can I compare master with multiple poll-sets with erlang/otp 20?<br></div>
<code>msacc</code>

on otp 20 doesn't have stats about poll.<br><br><div><div><div>msacc docs [2] don't show example output of poll load. Maybe not that important.<br><div><br>[1] <a href="https://github.com/erlang/otp/blob/master/erts/doc/src/erl.xml">https://github.com/erlang/otp/blob/master/erts/doc/src/erl.xml</a><br>[2] 
<code><a href="https://github.com/erlang/otp/blob/master/lib/runtime_tools/doc/src/msacc.xml">https://github.com/erlang/otp/blob/master/lib/runtime_tools/doc/src/msacc.xml</a></code>

<br><code></code> <br></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 29, 2018 at 11:19 AM, pablo platt <span dir="ltr"><<a href="mailto:pablo.platt@gmail.com" target="_blank">pablo.platt@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">It's great to see all the hard work invested in performance in master.<br>Thanks.<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 29, 2018 at 10:49 AM, Lukas Larsson <span dir="ltr"><<a href="mailto:lukas@erlang.org" target="_blank">lukas@erlang.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello,<br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Mon, Jan 29, 2018 at 9:22 AM, pablo platt <span dir="ltr"><<a href="mailto:pablo.platt@gmail.com" target="_blank">pablo.platt@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi,<br><br></div><div>What is the expected effect of the multi-pollset PR [1] on a UDP socket on the sender/receiver side?<br></div><div>My use case is a media server with several broadcaster and many viewers.<br></div><div>Each stream use 1Mbps (aprox 100 * 1500 bytes packets per second).<br></div><div>Should I expect improvement when gen_udp is sending packets, receiving packets or both?<br></div></div></blockquote><div><br></div></span><div>Yes, I believe that you will see an improvement. It depends on what type of HW that you are running on, typically the more logical cpu's you have the more gain you will get from the improvements in I/O polling[1]. Also the exact usage pattern matters.</div><span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div>Is it reasonable to pick a point in master and use it on a production system after testing?<br></div></div></blockquote><div><br></div></span><div>I would take the latest tip of master and test that thoroughly for you application. The things that we merge into master have gone through all our testing before it is merged, so it is as stable as the maint branch. However we make a lot more changes in master than in maint, so because of that there will be a greater chance of some bug slipping through.</div><div><br></div><div>If you do decide to give the improved I/O polling implementation a go, please do come back with any negative or positive findings that you get!</div><div><br></div><div>Lukas</div><div><br></div><div>[1]: The largest change in the PR is not actually the ability to use multiple pollsets, but that the polling has been lifted out to be done by dedicated threads.</div></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>