<div dir="ltr">Yes?<div><br></div><div>This is in line with Erlang's design philosophy, and the processes are small. This is from a node I just fired up:</div><div><br></div><div><div>Eshell V7.3.1  (abort with ^G)</div><div>(a@uwpro)1> net:ping('b@uwpro').</div><div>pong</div><div>(a@uwpro)2> i().</div><div>Pid                   Initial Call                          Heap     Reds Msgs</div><div>Registered            Current Function                     Stack              </div></div><div>...</div><div><div><0.43.0>              inet_tcp_dist:do_setup/7               376     1043    0</div><div>                      dist_util:con_loop/9                    11              </div></div><div><br></div><div><div>(a@uwpro)3> i(0,43,0).</div><div>[{current_function,{dist_util,con_loop,9}},</div><div> ...,</div><div> {total_heap_size,752},</div><div> {heap_size,376},</div><div> {stack_size,11},</div><div> {reductions,1085},</div><div> ...]</div></div><div><br></div><div>(Sizes are in heap words - 8 bytes on my machine, so ca 6K bytes total heap size.)</div><div><br></div><div><div>You can easily verify that connecting additional nodes will cause additional con_loop() processes to be started, one per connected node.</div></div><div><br></div><div>The size of these processes can be expected to stay pretty much constant.</div><div><br></div><div>BR,</div><div>Ulf W</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-06-07 8:17 GMT+01:00 lankeanandrao <span dir="ltr"><<a href="mailto:lankeanandrao@utl.in" target="_blank">lankeanandrao@utl.in</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div class="m_6763989983583560434moz-cite-prefix">Hi Ulf,<br>
          Here you are saying that there will be separate con_loop for
      1:1 node connection, is it means that how many client nodes are
      connected to server node those many instances of con_loop will run
      in server.<br>
      <br>
      Example :<br>
          server@HOSTIP and multiple clients client1@HOSTIP,
      client2@HOSTIP ... ClientN@HOSTIP all are in cluster and all
      client nodes are connected to server, now in server to connect <br>
                          server@HOSTIP to client1@HOSTIP - 1st 
      con_loop<br>
                          server@HOSTIP to client2@HOSTIP - 2nd con_loop<br>
                          server@HOSTIP to clientN@HOSTIP - nth con_loop<br>
          multiple con_loops will run in server for connecting to each
      client node.<span class=""><br>
      <br>
      Thanks & Regards,<br>
      Anand Rao L<br>
      <br></span><div><div class="h5">
      On Tuesday 06 June 2017 09:40 PM, Ulf Wiger wrote:<br>
    </div></div></div><div><div class="h5">
    <blockquote type="cite">
      <div dir="ltr">The tick message is received in
        dist_util:con_loop/2:
        <div><br>
        </div>
        <div><a href="https://github.com/erlang/otp/blob/master/lib/kernel/src/dist_util.erl#L486" target="_blank">https://github.com/erlang/otp/<wbr>blob/master/lib/kernel/src/<wbr>dist_util.erl#L486</a><br>
        </div>
        <div><br>
        </div>
        <div>There is a con_loop for each 1:1 node connection, and the
          tick state simply keeps track of the number of tick intervals
          for which no data has been received on the connection (note
          that at least ticks should have been received.)</div>
        <div><br>
        </div>
        <div>Based on experience, with such a short ticktime, you might
          want to pay attention to the +zdbbl setting for erl
          (dist_buf_busy_limit). If it is set too low, there is a risk
          that the ticker process is suspended and the connection times
          out. I believe this is less of a problem than it used to be,
          when the distribution buffer busy limit was much lower (and
          not configurable.)</div>
        <div><br>
        </div>
        <div>BR,</div>
        <div>Ulf W</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">2017-06-06 7:15 GMT+01:00 lankeanandrao
          <span dir="ltr"><<a href="mailto:lankeanandrao@utl.in" target="_blank">lankeanandrao@utl.in</a>></span>:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
            <br>
                 I am running my application in a distributed way, with
            one server node and multiple client nodes and all nodes are
            started in visible mode. Here I want to know when all the
            client nodes are connected to the server node, the client
            nodes will send the tick message to server node and as same
            as the server will send tick message to all client nodes,
            here all the client nodes send tick response to the server
            node. So here my question is<br>
            <br>
               1. Where the tick response came from multiple client
            nodes is getting stored?<br>
            <br>
               2. If it is getting stored in kernel buffer, what is the
            buffer size and how to find that?<br>
            <br>
               3. How the tick response's of multiple nodes is getting
            served by the Erlang kernel?<br>
            <br>
            Note: The net tick time is set to 5 Second in all the nodes.<br>
            <br>
            Thanks & Regards,<br>
            Anand Rao L<br>
            ______________________________<wbr>_________________<br>
            erlang-questions mailing list<br>
            <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
            <a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/list<wbr>info/erlang-questions</a><br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <p><br>
    </p>
  </div></div></div>

</blockquote></div><br></div>