Menu

Low bandwidth connection.

2015-10-01
2015-10-08
  • Chris Mesterharm

    Hello,

    I'm new to JGroups and to distributed programming, but I'm trying to use it for a very low bandwidth connection. How can I configure a channel to minimize it's use of bandwidth? I don't need many features. Can I turn-off things like failure detection? I'm even OK with removing reliability.

    Thanks,
    Chris

     
    • Bela Ban

      Bela Ban - 2015-10-02

      On 01/10/15 18:44, Chris Mesterharm wrote:

      Hello,

      I'm new to JGroups and to distributed programming, but I'm trying to use
      it for a very low bandwidth connection. How can I configure a channel to
      minimize it's use of bandwidth?

      A channel by default doesn't use bandwidth, it is the application which
      determines how much bandwidth is used.
      JGroups by default uses message batching to conserve bandwidth, but of
      course you can also increase heartbeating timeouts etc to reduce the
      traffic generated by JGroups.

      I don't need many features. Can I turn-off things like failure detection?

      You don't need to know when a member has crashed ? Then remove FD / FD_ALL.

      I'm even OK with removing reliability.

      People usually use JGroups for reliability ! :-) But you could have a
      config consisting only of UDP and UNICAST3, which basically provides
      unreliable multicasting and reliable unicasts.

      Thanks,
      Chris


      Low bandwidth connection.
      https://sourceforge.net/p/javagroups/discussion/130427/thread/c01565c7/?limit=25#b9af


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/javagroups/discussion/130427/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

      --
      Bela Ban, JGroups lead (http://www.jgroups.org)

       
  • Chris Mesterharm

    Thanks for the quick reply. I tried only leaving UDP and UNICAST3 and that really cut down on the bandwidth.

    My application does statistical sampling. Each node takes independent samples and sends a message with the average of the samples. It doesn't matter if some of these averages get lost since any average is as good as another.

    It would be nice to have reliable communication for some aspects of the application, but I still have the bandwidth constraint. What is the minimal set of features I need to support reliable messages. I guess another option is to send unicasts for the messages that need to be reliable.

    Thanks,
    Chris

     
    • Bela Ban

      Bela Ban - 2015-10-04

      On 02/10/15 22:28, Chris Mesterharm wrote:

      Thanks for the quick reply. I tried only leaving UDP and UNICAST3 and
      that really cut down on the bandwidth.

      My application does statistical sampling. Each node takes independent
      samples and sends a message with the average of the samples. It doesn't
      matter if some of these averages get lost since any average is as good
      as another.

      OK

      It would be nice to have reliable communication for some aspects of the
      application, but I still have the bandwidth constraint. What is the
      minimal set of features I need to support reliable messages. I guess
      another option is to send unicasts for the messages that need to be
      reliable.

      There's a better solution: use the full stack (e.g. udp.xml), which by
      default is reliable, but bypass the reliability protocols (NAKACK2 and
      UNICAST3) by marking messages as NO_RELIABILITY. This could e.g. be done
      for statistical msgs; all other messages would be sent reliably by default.

      The 'full stack' could still be adjusted, e.g. if you don't need state
      transfer, remove BARRIER and STATE_TRANSFER.

      Thanks,
      Chris


      Low bandwidth connection.
      https://sourceforge.net/p/javagroups/discussion/130427/thread/c01565c7/?limit=25#4bfc


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/javagroups/discussion/130427/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

      --
      Bela Ban, JGroups lead (http://www.jgroups.org)

       
      • Chris Mesterharm

        Thanks all your help. I tried what you suggested and while it increases the traffic a bit, it's still reasonable.

        Thanks,
        Chris

         

Log in to post a comment.