Package: amule
Version: 2.1.0-1
Severity: normal

After upgrading to 2.1.0, the slot allocation for upload connections stopped
working properly.

It often happens that clients who are assigned one of my slots to download
my files, have either a shitty or very busy connection, resulting in transfer
rate drop.  Sometimes the drop is to 0.0 kB/s [1].

Then amule tries to compensate this by assigning more bandwidth to the other
slots.

When _all_ my slots are in this situation (i.e. assigned to shitty peers), amule
has to take a decision wether a new slot has to be added.

  - amule versions prior to 2.1.0 added a new slot (I think) if the amount of
  used bandwidth was inferior to the upload_bandwidth_limit.  I think the code
  looks like:

    if (slot_allocation * slots_in_use < upload_bandwidth_limit)
      [add new slot]

  - amule 2.1.0 seems to have a different criteria.  I'm not sure which it is
  excatly, but it's a very bad one, because it doesn't add a new slot in
  situations where it's badly needed.  I suspect it's doing something like:

    if ((slot_allocation + 1) * slots_in_use < upload_bandwidth_limit)
      [add new slot]

My workaround for this problem is setting the slot_allocation parameter to be
1/4 of the upload_bandwidth_limit.  This way _usually_ non-broken clients come
to the rescue and compensate the loss caused by broken ones.  However, for
resource control reasons I would prefer setting slot_allocation to be as close
as possible to upload_bandwidth_limit (1/2 or maybe even 1/1).

[1] Btw, when this happens, I would suggest banning that client as it's just
  wasting overhead bandwidth unnecessarily.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12-1-k7
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ANSI_X3.4-1968) (ignored: LC_ALL 
set to C)

Versions of packages amule depends on:
hi  amule-common                  2.1.0-1    common files for aMule
ii  libcrypto++5.2c2a             5.2.1c2a-2 General purpose cryptographic shar
ii  libgcc1                       1:4.0.2-5  GCC support library
ii  libstdc++6                    4.0.2-5    The GNU Standard C++ Library v3
ii  libwxgtk2.6-0                 2.6.1.2    wxWidgets Cross-platform C++ GUI t
ii  zlib1g                        1:1.2.3-9  compression library - runtime

Versions of packages amule recommends:
pn  amule-daemon                  <none>     (no description available)
pn  amule-utils                   <none>     (no description available)

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to