On Thu, Feb 26, 2009 at 4:19 PM, Matthew Toseland
<toad at amphibian.dyndns.org> wrote:

> - Possibly increase the number of nodes faster nodes can connect to.
[...]
> TOP FIVE USERVOICE SUGGESTIONS:
> 1. Release the 20 nodes barrier.
> This is marked as "under review", it may happen in 0.9. It requires some
> alchemy/tweaking. :|

Alternately (or in addition), you could decrease the node limit on
slow nodes.  I've been running with a lower bandwidth limit lately
(15KiB/s out), and I see slightly improved payload fraction with a 15
node limit than 20 -- about 71-72%, vs about 68% with 20KiB/s.
Bandwidth limiting still hits its target effectively (currently
showing 14.3KiB/s average on 18h uptime).  Subjectively, I can't see a
difference running 20 vs 15 connections.

As I understand it, the problem is that per-connection speed is
limited by the slowest connection (approximately).  If slow nodes had
fewer connections, those connections would be faster, just as if the
faster node had more connections.  So from a bandwidth usage
standpoint, the two approaches should be similar.

I do see two advantages to not increasing the connection limit,
though.  With a small network of only a few thousand nodes, the
diameter of the network is very small.  Eventually, when Freenet has a
large network, routing needs to work over a larger diameter.  If you
increase the connection limit now, you'll learn less about how Freenet
scales in practice in the near future.

Since reducing the connection limit on low bw nodes seems to increase
the payload fraction, that means their bw is being used more
efficiently.  My recollection is that reducing the connection limit
didn't change payload fraction at higher bw limits.  Efficiency
improvements are nice even if they're small and only on some of the
network.

I think it would be inappropriate to reduce the connection limit
without further testing.  Has anyone else with a low bw limit tried
this?  Does it cause any problems?  If it doesn't cause any problems,
I would suggest making the change be a small one initially.  Rather
than a flat 20 connections, something like 1 connection per 2KiB/s of
outbound bandwidth, with a minimum of 15 and a max of 20.  I'll
perform some testing with 15 connections, 30KiB/s limit and report
back on that.

Evan Daniel

Reply via email to