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