[freenet-dev] Current uservoice top 5

2009-05-04 Thread Thomas Sachau
Matthew Toseland schrieb:
> 1. Release the 20 nodes barrier (206 votes)
> 
> As I have mentioned IMHO this is a straightforward plea for more performance.
> 
> 2. One GUI for all. (155 votes)
> 
> This is usability, particularly bundling more functionality. VIVE LA Freetalk!
> 
> 3. Add a 'pause' feature. (131 votes)
> 
> Remarkably high ranking, I wonder what proportion of our users use online 
> games?
> 
> 4. Implement reinsert on demand. (79 votes)
> 
> This is IMHO about data persistence.
> 
> 5. Use port 80,443,53,1863 for communication. (74 votes)
> 
> I have no idea how this got into the top 5! Any ideas? People trying to run 
> nodes at work perhaps?

The last one may be because of censorship fearing. I have heard at least 1 
report about an ISP
blocking almost all UDP traffic, allowing only port 53. The user was forced to 
use port 53(udp) to
be able to use freenet.


-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 315 bytes
Desc: OpenPGP digital signature
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20090504/67b6ea2c/attachment.pgp>


[freenet-dev] Current uservoice top 5

2009-05-04 Thread Arne Babenhauserheide
Am Montag 04 Mai 2009 17:33:30 schrieb Matthew Toseland:
> 5. Use port 80,443,53,1863 for communication. (74 votes)
>
> I have no idea how this got into the top 5! Any ideas? People trying to run
> nodes at work perhaps?

Maybe not wanting the provider to be able to just shut down nonstandard ports 
and block freenet that way. 

ISPs can block freenet ports, but shouldn't really block 80 - at least for 
outgoing connections. 

Maybe running it on a server. 

Best wishes, 
Arne

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
   - singing a part of the history of free software -
  http://infinite-hands.draketo.de
-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20090504/b908e4ad/attachment.pgp>


[freenet-dev] Current uservoice top 5

2009-05-04 Thread Arne Babenhauserheide
Am Montag 04 Mai 2009 17:33:30 schrieb Matthew Toseland:
> 3. Add a 'pause' feature. (131 votes)
>
> Remarkably high ranking, I wonder what proportion of our users use online
> games?

Or with other filesharing services (short lived torrents, downloading in 
Gnutella) or with graphics editing or video editing or just plain compiling 
the new packages or haggling with a completely overloaded E-Mail program... 

Uhm, these were most of my reasons for wanting a pause feature :) 

It would be nicest if using the pause feature would also reduce the memory 
footprint... but most memory will be swapped out if it isn't used, so the 
pause feature alone should suffice for freeing memory :) 

Best wishes, 
Arne

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
   - singing a part of the history of free software -
  http://infinite-hands.draketo.de
-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20090504/fe147250/attachment.pgp>


[freenet-dev] Current uservoice top 5

2009-05-04 Thread VolodyA! V Anarhist
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

> 5. Use port 80,443,53,1863 for communication. (74 votes)
> 
> I have no idea how this got into the top 5! Any ideas? People trying to run 
> nodes at work perhaps?

University students who want to connect their node in uni with one that runs
somewhere home... ???

  - Volodya

- --
http://freedom.libsyn.com/   Echo of Freedom, Radical Podcast
http://eng.anarchopedia.org/ Anarchopedia, A Free Knowledge Portal
http://www.freedomporn.org/  Freedom Porn, anarchist and activist smut

 "None of us are free until all of us are free."~ Mihail Bakunin
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkn/OjAACgkQuWy2EFICg+2x0QCfUW0DondcaxHykZHCpCuoBMFa
yCAAoOtfe5h5a74qxW5VV4sCa7SFTEYr
=UFDS
-END PGP SIGNATURE-



[freenet-dev] name for this plugin

2009-05-04 Thread Ximin Luo
dear all

i'm coding a distributed indexing service as my gsoc project... problem is, i
don't know what to name it.

current ideas:

- interdex - sounds like a corporation
- distrex - sounds like "distress"
- distridex - sounds like an insecticide
- wydex - sounds like a stock
- codex - could be confused with codecs

free feel to spam me with as many as you can think of; atm i am dry and needing
ideas.

if i can't think up a name i will consider naming it ? (hexagram for gathering
together); feel free to consider this a threat :p

thanks,

X



[freenet-dev] Can we implement Bloom filter sharing quickly???

2009-05-04 Thread Matthew Toseland
On Saturday 02 May 2009 01:23:23 Evan Daniel wrote:
> On Fri, May 1, 2009 at 7:59 PM, Matthew Toseland
>  wrote:
> > On Saturday 02 May 2009 00:53:27 Evan Daniel wrote:
> >> On Fri, May 1, 2009 at 7:01 PM, Matthew Toseland
> >>  wrote:
> >> > On Friday 01 May 2009 22:43:50 Robert Hailey wrote:
> >> >>
> >> >> On May 1, 2009, at 3:46 PM, Evan Daniel wrote:
> >> >>
> >> >> > Yes, that's a question worth considering. ?There are both 
performance
> >> >> > and security issues involved, I think. ?Note that the partition 
could
> >> >> > be a set of contiguous regions (allowing performance optimization
> >> >> > around which piece of the keyspace you send info about), but it 
could
> >> >> > just as easily be determined by a hash function instead.
> >> >> >
> >> >> > You still check the same number of filters overall -- one per peer.
> >> >> > The difference is that for some peers you may have a partial filter
> >> >> > set, and therefore sometimes check their filters, instead of 
deciding
> >> >> > you don't have the memory for that peer's filter and never checking
> >> >> > it.
> >> >>
> >> >> Maybe if we partition it we can also get a free datastore histogram on
> >> >> the stats page.
> >> >
> >> > No, we cannot divide by actual keyspace, the keys must be hashed first, 
or
> > the
> >> > middle bloom filter will be far too big.
> >>
> >> Well, you could partition by actual keyspace as long as the partitions
> >> are (approximately) equal in population rather than fraction of the
> >> keyspace they cover. ?Doing that is only mildly nontrivial, and gives
> >> you a histogram with variable-width bars, but still an accurate
> >> histogram. ?Each bar would cover the same area; tall and skinny near
> >> the node's location, wide and short away from it.
> >
> > And if the distribution was ever to change ... it's not mildly nontrivial
> > IMHO.
> >
> > Anyway, the first version should simply use the existing filters, to make
> > things easy.
> 
> You have to recompute the bloom filter occasionally regardless,
> otherwise the counters eventually all saturate.  If the distribution
> changes enough to be problematic, you rebalance the filters.

Fair point.
> 
> If you're willing to be slightly inefficient, you can avoid
> recomputing all the filters.  When one filter starts getting full, you
> split its portion of the keyspace in half and create a pair to take
> its place.  On average your filters will only be 3/4 full or so, but
> you reduce the computational load (though probably not the disk load?
> hmm...)

Maybe.
> 
> Or you could just partition the keyspace by hashing and trust that
> equal size partitions will have equal populations.

This may be better and is certainly easier.
> 
> Evan Daniel
-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 835 bytes
Desc: This is a digitally signed message part.
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20090504/800efeed/attachment.pgp>


[freenet-dev] Current uservoice top 5

2009-05-04 Thread Matthew Toseland
1. Release the 20 nodes barrier (206 votes)

As I have mentioned IMHO this is a straightforward plea for more performance.

2. One GUI for all. (155 votes)

This is usability, particularly bundling more functionality. VIVE LA Freetalk!

3. Add a 'pause' feature. (131 votes)

Remarkably high ranking, I wonder what proportion of our users use online 
games?

4. Implement reinsert on demand. (79 votes)

This is IMHO about data persistence.

5. Use port 80,443,53,1863 for communication. (74 votes)

I have no idea how this got into the top 5! Any ideas? People trying to run 
nodes at work perhaps?
-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 835 bytes
Desc: This is a digitally signed message part.
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20090504/7fbddc90/attachment.pgp>


[freenet-dev] Current uservoice top 5

2009-05-04 Thread Evan Daniel
On Mon, May 4, 2009 at 11:33 AM, Matthew Toseland
 wrote:
> 1. Release the 20 nodes barrier (206 votes)
>
> As I have mentioned IMHO this is a straightforward plea for more performance.

I'll reiterate a point I've made before.

While this represents a simple plea for performance, I don't think
it's an irrational one -- that is, I think the overall network
performance is hampered by having all nodes have the same number of
connections.

Because all connections use similar amounts of bandwidth, the network
speed is limited by the slower nodes.  This is true regardless of the
absolute number of connections; raising the maximum for fast nodes
should have a very similar effect to lowering it for slow nodes.  What
matters is that slow nodes have fewer connections than fast nodes.

For example, the max allowed connections (and default setting) could
be 1 connection per 2KiB/s output bandwidth, but never more than 20 or
less than 15.  Those numbers are based on some (very limited) testing
I've done -- if I reduce the allowed bw, that is the approximate
number of connections required to make full use of it.

Reducing the number of connections for slow nodes has some additional
benefits.  First, my limited testing shows a slight increase in
payload % at low bw limits as a result of reducing the connection
count (there is some per-connection network overhead).  Second, bloom
filter sharing represents a per-connection overhead (mostly in the
initial transfer -- updates are low bw, as discussed).  If (when?)
implemented, it will represent a smaller total overhead with fewer
connections than with more.  Presumably, the greatest impact is on
slower nodes.

On the other hand, too few connections may make various attacks
easier.  I have no idea how strong an effect this is.  However, a node
that has too many connections (ie insufficient bw to use them all
fully) may show burstier behavior and thus be more susceptible to
traffic analysis.  In addition, fewer connections means a larger
network diameter on average, which may have an impact on routing.
Lower degree also means that the node has fewer neighbor bloom filters
to check, which means that a request is compared against fewer stores
during its traversal of the network.

I'm intentionally suggesting a small change -- it's less likely to
cause major problems.  By keeping the ratio between slow nodes (15
connections) and fast nodes (20 connections) modest, the potential for
reliance on ubernodes is kept minimal.  (Similarly, if you want to
raise the 20 connections limit instead of lower it, I think it should
only be increased slightly.)

And finally: I have done some testing on this proposed change.  At
first glance, it looks like it doesn't hurt and may help.  However, I
have not done enough testing to be able to say anything with
confidence.  I'm not suggesting to implement this change immediately;
rather, I'm saying that *any* change like this should see some
real-world testing before implementation, and that reducing the
defaults for slow nodes is as worthy of consideration and testing as
raising it for fast nodes.

Also: do we have any idea what the distribution of available node
bandwidth looks like?

Evan Daniel



[freenet-dev] Current uservoice top 5

2009-05-04 Thread Matthew Toseland
1. Release the 20 nodes barrier (206 votes)

As I have mentioned IMHO this is a straightforward plea for more performance.

2. One GUI for all. (155 votes)

This is usability, particularly bundling more functionality. VIVE LA Freetalk!

3. Add a 'pause' feature. (131 votes)

Remarkably high ranking, I wonder what proportion of our users use online 
games?

4. Implement reinsert on demand. (79 votes)

This is IMHO about data persistence.

5. Use port 80,443,53,1863 for communication. (74 votes)

I have no idea how this got into the top 5! Any ideas? People trying to run 
nodes at work perhaps?


signature.asc
Description: This is a digitally signed message part.
___
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Re: [freenet-dev] Can we implement Bloom filter sharing quickly???

2009-05-04 Thread Matthew Toseland
On Saturday 02 May 2009 01:23:23 Evan Daniel wrote:
 On Fri, May 1, 2009 at 7:59 PM, Matthew Toseland
 t...@amphibian.dyndns.org wrote:
  On Saturday 02 May 2009 00:53:27 Evan Daniel wrote:
  On Fri, May 1, 2009 at 7:01 PM, Matthew Toseland
  t...@amphibian.dyndns.org wrote:
   On Friday 01 May 2009 22:43:50 Robert Hailey wrote:
  
   On May 1, 2009, at 3:46 PM, Evan Daniel wrote:
  
Yes, that's a question worth considering.  There are both 
performance
and security issues involved, I think.  Note that the partition 
could
be a set of contiguous regions (allowing performance optimization
around which piece of the keyspace you send info about), but it 
could
just as easily be determined by a hash function instead.
   
You still check the same number of filters overall -- one per peer.
The difference is that for some peers you may have a partial filter
set, and therefore sometimes check their filters, instead of 
deciding
you don't have the memory for that peer's filter and never checking
it.
  
   Maybe if we partition it we can also get a free datastore histogram on
   the stats page.
  
   No, we cannot divide by actual keyspace, the keys must be hashed first, 
or
  the
   middle bloom filter will be far too big.
 
  Well, you could partition by actual keyspace as long as the partitions
  are (approximately) equal in population rather than fraction of the
  keyspace they cover.  Doing that is only mildly nontrivial, and gives
  you a histogram with variable-width bars, but still an accurate
  histogram.  Each bar would cover the same area; tall and skinny near
  the node's location, wide and short away from it.
 
  And if the distribution was ever to change ... it's not mildly nontrivial
  IMHO.
 
  Anyway, the first version should simply use the existing filters, to make
  things easy.
 
 You have to recompute the bloom filter occasionally regardless,
 otherwise the counters eventually all saturate.  If the distribution
 changes enough to be problematic, you rebalance the filters.

Fair point.
 
 If you're willing to be slightly inefficient, you can avoid
 recomputing all the filters.  When one filter starts getting full, you
 split its portion of the keyspace in half and create a pair to take
 its place.  On average your filters will only be 3/4 full or so, but
 you reduce the computational load (though probably not the disk load?
 hmm...)

Maybe.
 
 Or you could just partition the keyspace by hashing and trust that
 equal size partitions will have equal populations.

This may be better and is certainly easier.
 
 Evan Daniel


signature.asc
Description: This is a digitally signed message part.
___
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

[freenet-dev] name for this plugin

2009-05-04 Thread Ximin Luo
dear all

i'm coding a distributed indexing service as my gsoc project... problem is, i
don't know what to name it.

current ideas:

- interdex - sounds like a corporation
- distrex - sounds like distress
- distridex - sounds like an insecticide
- wydex - sounds like a stock
- codex - could be confused with codecs

free feel to spam me with as many as you can think of; atm i am dry and needing
ideas.

if i can't think up a name i will consider naming it ䷬ (hexagram for gathering
together); feel free to consider this a threat :p

thanks,

X
___
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Re: [freenet-dev] Current uservoice top 5

2009-05-04 Thread Evan Daniel
On Mon, May 4, 2009 at 11:33 AM, Matthew Toseland
t...@amphibian.dyndns.org wrote:
 1. Release the 20 nodes barrier (206 votes)

 As I have mentioned IMHO this is a straightforward plea for more performance.

I'll reiterate a point I've made before.

While this represents a simple plea for performance, I don't think
it's an irrational one -- that is, I think the overall network
performance is hampered by having all nodes have the same number of
connections.

Because all connections use similar amounts of bandwidth, the network
speed is limited by the slower nodes.  This is true regardless of the
absolute number of connections; raising the maximum for fast nodes
should have a very similar effect to lowering it for slow nodes.  What
matters is that slow nodes have fewer connections than fast nodes.

For example, the max allowed connections (and default setting) could
be 1 connection per 2KiB/s output bandwidth, but never more than 20 or
less than 15.  Those numbers are based on some (very limited) testing
I've done -- if I reduce the allowed bw, that is the approximate
number of connections required to make full use of it.

Reducing the number of connections for slow nodes has some additional
benefits.  First, my limited testing shows a slight increase in
payload % at low bw limits as a result of reducing the connection
count (there is some per-connection network overhead).  Second, bloom
filter sharing represents a per-connection overhead (mostly in the
initial transfer -- updates are low bw, as discussed).  If (when?)
implemented, it will represent a smaller total overhead with fewer
connections than with more.  Presumably, the greatest impact is on
slower nodes.

On the other hand, too few connections may make various attacks
easier.  I have no idea how strong an effect this is.  However, a node
that has too many connections (ie insufficient bw to use them all
fully) may show burstier behavior and thus be more susceptible to
traffic analysis.  In addition, fewer connections means a larger
network diameter on average, which may have an impact on routing.
Lower degree also means that the node has fewer neighbor bloom filters
to check, which means that a request is compared against fewer stores
during its traversal of the network.

I'm intentionally suggesting a small change -- it's less likely to
cause major problems.  By keeping the ratio between slow nodes (15
connections) and fast nodes (20 connections) modest, the potential for
reliance on ubernodes is kept minimal.  (Similarly, if you want to
raise the 20 connections limit instead of lower it, I think it should
only be increased slightly.)

And finally: I have done some testing on this proposed change.  At
first glance, it looks like it doesn't hurt and may help.  However, I
have not done enough testing to be able to say anything with
confidence.  I'm not suggesting to implement this change immediately;
rather, I'm saying that *any* change like this should see some
real-world testing before implementation, and that reducing the
defaults for slow nodes is as worthy of consideration and testing as
raising it for fast nodes.

Also: do we have any idea what the distribution of available node
bandwidth looks like?

Evan Daniel
___
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl


[freenet-dev] Rants against ffe38b43b83b28323075fcde898fad4a3dc8df3f

2009-05-04 Thread Florent Daignière
commit ffe38b43b83b28323075fcde898fad4a3dc8df3f
Author: platy mpb...@gmail.com
Date:   Fri May 1 01:45:09 2009 +0100

Added a new plugin Http interface with support for response headers

###

The idea was to make plugins use Exceptions to send headers back to
Toadlets; Why is that interface necessary? What kind of headers do you
want to exchange with the client?

NextGen$


signature.asc
Description: Digital signature
___
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Re: [freenet-dev] Current uservoice top 5

2009-05-04 Thread Arne Babenhauserheide
Am Montag 04 Mai 2009 17:33:30 schrieb Matthew Toseland:
 3. Add a 'pause' feature. (131 votes)

 Remarkably high ranking, I wonder what proportion of our users use online
 games?

Or with other filesharing services (short lived torrents, downloading in 
Gnutella) or with graphics editing or video editing or just plain compiling 
the new packages or haggling with a completely overloaded E-Mail program... 

Uhm, these were most of my reasons for wanting a pause feature :) 

It would be nicest if using the pause feature would also reduce the memory 
footprint... but most memory will be swapped out if it isn't used, so the 
pause feature alone should suffice for freeing memory :) 

Best wishes, 
Arne

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
   - singing a part of the history of free software -
  http://infinite-hands.draketo.de


signature.asc
Description: This is a digitally signed message part.
___
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Re: [freenet-dev] Current uservoice top 5

2009-05-04 Thread Arne Babenhauserheide
Am Montag 04 Mai 2009 17:33:30 schrieb Matthew Toseland:
 5. Use port 80,443,53,1863 for communication. (74 votes)

 I have no idea how this got into the top 5! Any ideas? People trying to run
 nodes at work perhaps?

Maybe not wanting the provider to be able to just shut down nonstandard ports 
and block freenet that way. 

ISPs can block freenet ports, but shouldn't really block 80 - at least for 
outgoing connections. 

Maybe running it on a server. 

Best wishes, 
Arne

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
   - singing a part of the history of free software -
  http://infinite-hands.draketo.de


signature.asc
Description: This is a digitally signed message part.
___
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Re: [freenet-dev] Current uservoice top 5

2009-05-04 Thread VolodyA! V Anarhist
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

 5. Use port 80,443,53,1863 for communication. (74 votes)
 
 I have no idea how this got into the top 5! Any ideas? People trying to run 
 nodes at work perhaps?

University students who want to connect their node in uni with one that runs
somewhere home... ???

  - Volodya

- --
http://freedom.libsyn.com/   Echo of Freedom, Radical Podcast
http://eng.anarchopedia.org/ Anarchopedia, A Free Knowledge Portal
http://www.freedomporn.org/  Freedom Porn, anarchist and activist smut

 None of us are free until all of us are free.~ Mihail Bakunin
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkn/OjAACgkQuWy2EFICg+2x0QCfUW0DondcaxHykZHCpCuoBMFa
yCAAoOtfe5h5a74qxW5VV4sCa7SFTEYr
=UFDS
-END PGP SIGNATURE-
___
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl


Re: [freenet-dev] Current uservoice top 5

2009-05-04 Thread Thomas Sachau
Matthew Toseland schrieb:
 1. Release the 20 nodes barrier (206 votes)
 
 As I have mentioned IMHO this is a straightforward plea for more performance.
 
 2. One GUI for all. (155 votes)
 
 This is usability, particularly bundling more functionality. VIVE LA Freetalk!
 
 3. Add a 'pause' feature. (131 votes)
 
 Remarkably high ranking, I wonder what proportion of our users use online 
 games?
 
 4. Implement reinsert on demand. (79 votes)
 
 This is IMHO about data persistence.
 
 5. Use port 80,443,53,1863 for communication. (74 votes)
 
 I have no idea how this got into the top 5! Any ideas? People trying to run 
 nodes at work perhaps?

The last one may be because of censorship fearing. I have heard at least 1 
report about an ISP
blocking almost all UDP traffic, allowing only port 53. The user was forced to 
use port 53(udp) to
be able to use freenet.




signature.asc
Description: OpenPGP digital signature
___
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Re: [freenet-dev] Current uservoice top 5

2009-05-04 Thread Matthew Toseland
On Monday 04 May 2009 17:29:51 Evan Daniel wrote:
 On Mon, May 4, 2009 at 11:33 AM, Matthew Toseland
 t...@amphibian.dyndns.org wrote:
  1. Release the 20 nodes barrier (206 votes)
 
  As I have mentioned IMHO this is a straightforward plea for more 
performance.
 
 I'll reiterate a point I've made before.
 
 While this represents a simple plea for performance, I don't think
 it's an irrational one -- that is, I think the overall network
 performance is hampered by having all nodes have the same number of
 connections.
 
 Because all connections use similar amounts of bandwidth, the network
 speed is limited by the slower nodes.  This is true regardless of the
 absolute number of connections; raising the maximum for fast nodes
 should have a very similar effect to lowering it for slow nodes.  What
 matters is that slow nodes have fewer connections than fast nodes.
 
 For example, the max allowed connections (and default setting) could
 be 1 connection per 2KiB/s output bandwidth, but never more than 20 or
 less than 15.  

What would the point be? Don't we need a significant range for it to make much 
difference?

 Those numbers are based on some (very limited) testing 
 I've done -- if I reduce the allowed bw, that is the approximate
 number of connections required to make full use of it.
 
 Reducing the number of connections for slow nodes has some additional
 benefits.  First, my limited testing shows a slight increase in
 payload % at low bw limits as a result of reducing the connection
 count (there is some per-connection network overhead).  

True.

 Second, bloom 
 filter sharing represents a per-connection overhead (mostly in the
 initial transfer -- updates are low bw, as discussed).  If (when?)
 implemented, it will represent a smaller total overhead with fewer
 connections than with more.  Presumably, the greatest impact is on
 slower nodes.

Really it's determined by churn, isn't it? Or by any heuristic artificial 
limits we impose...
 
 On the other hand, too few connections may make various attacks
 easier.  I have no idea how strong an effect this is.  However, a node
 that has too many connections (ie insufficient bw to use them all
 fully) may show burstier behavior and thus be more susceptible to
 traffic analysis.  

Yes, definitely true with our current padding algorithms.

 In addition, fewer connections means a larger 
 network diameter on average, which may have an impact on routing.
 Lower degree also means that the node has fewer neighbor bloom filters
 to check, which means that a request is compared against fewer stores
 during its traversal of the network.

True.
 
 I'm intentionally suggesting a small change -- it's less likely to
 cause major problems.  By keeping the ratio between slow nodes (15
 connections) and fast nodes (20 connections) modest, the potential for
 reliance on ubernodes is kept minimal.  (Similarly, if you want to
 raise the 20 connections limit instead of lower it, I think it should
 only be increased slightly.)

Why? I don't see the point unless the upper bound is significantly higher than 
the lower bound: any improvement won't be measurable.
 
 And finally: I have done some testing on this proposed change.  At
 first glance, it looks like it doesn't hurt and may help.  However, I
 have not done enough testing to be able to say anything with
 confidence.  I'm not suggesting to implement this change immediately;
 rather, I'm saying that *any* change like this should see some
 real-world testing before implementation, and that reducing the
 defaults for slow nodes is as worthy of consideration and testing as
 raising it for fast nodes.

We did try this (with a minimum of 10 connections), and it seemed that slow 
nodes with only 10 connections were significantly slower. However, this was 
not based on widespread testing. My worry is that slow nodes with few 
connections will be *too* slow, and the network will marginalise them. But 
it's a tradeoff between slightly more efficiency, fewer routes to choose 
from, and fewer nodes sending requests...
 
 Also: do we have any idea what the distribution of available node
 bandwidth looks like?

It would be great, wouldn't it? Maybe a survey? What questions should we ask?
 
 Evan Daniel


signature.asc
Description: This is a digitally signed message part.
___
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Re: [freenet-dev] 9645c37: Fix logging.

2009-05-04 Thread Daniel Cheng
Please don't do this.
Closer is for closing the streams _silently_.
(most often in the finally{} block when error have occurred already/expected)
If you want logging, you should call .close() directly.


commit 9645c379de05e4f884ac3c1e2ef616884232963c
Author: xor x...@freenetproject.org
Date:   Mon May 4 20:13:04 2009 +0200

Fix logging.

diff --git a/src/freenet/support/io/Closer.java
b/src/freenet/support/io/Closer.java
index 1e7a532..6899e63 100644
--- a/src/freenet/support/io/Closer.java
+++ b/src/freenet/support/io/Closer.java
@@ -46,6 +46,7 @@ public class Closer {
try {
closable.close();
} catch (IOException e) {
+   Logger.error(Closer.class, Error
during close()., e);
}
}
}
@@ -59,7 +60,7 @@ public class Closer {
try {
bucket.free();
} catch(RuntimeException e) {
-   Logger.error(bucket, Error during free().);
+   Logger.error(Closer.class, Error
during free()., e);
}
}
}
@@ -75,6 +76,7 @@ public class Closer {
try {
zipFile.close();
} catch (IOException e) {
+   Logger.error(Closer.class, Error
during close()., e);
}
}
}
___
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl


Re: [freenet-dev] Current uservoice top 5

2009-05-04 Thread Evan Daniel
On Mon, May 4, 2009 at 6:15 PM, Matthew Toseland
t...@amphibian.dyndns.org wrote:
 On Monday 04 May 2009 17:29:51 Evan Daniel wrote:
 On Mon, May 4, 2009 at 11:33 AM, Matthew Toseland
 t...@amphibian.dyndns.org wrote:
  1. Release the 20 nodes barrier (206 votes)
 
  As I have mentioned IMHO this is a straightforward plea for more
 performance.

 I'll reiterate a point I've made before.

 While this represents a simple plea for performance, I don't think
 it's an irrational one -- that is, I think the overall network
 performance is hampered by having all nodes have the same number of
 connections.

 Because all connections use similar amounts of bandwidth, the network
 speed is limited by the slower nodes.  This is true regardless of the
 absolute number of connections; raising the maximum for fast nodes
 should have a very similar effect to lowering it for slow nodes.  What
 matters is that slow nodes have fewer connections than fast nodes.

 For example, the max allowed connections (and default setting) could
 be 1 connection per 2KiB/s output bandwidth, but never more than 20 or
 less than 15.

 What would the point be? Don't we need a significant range for it to make much
 difference?

If the network is in fact limited by the per-connection speed of the
slower nodes, and they are in fact a minority of the network,
increasing the per-connection bandwidth of the slower nodes by 33%
should result in a throughput increase for most of the rest of the
network of a similar magnitude.  A performance improvement of 10-30%
should be easily measurable, and (at the high end of that) noticeable
enough to be appreciated by most users.

Really, though, the idea would be to use it as a network-wide test.
Small tests by a few users are helpful, but not nearly as informative
as a network-wide test.  Assuming the change produced measurable
improvement, it would make sense to explore further changes.  For
example, changing the range to 15-30, or increasing the per-connection
bandwidth requirement, or making the per-connection requirement
nonlinear, or some other option.  However, security concerns
(especially ubernodes) are bigger with more dramatic changes.


 Those numbers are based on some (very limited) testing
 I've done -- if I reduce the allowed bw, that is the approximate
 number of connections required to make full use of it.

 Reducing the number of connections for slow nodes has some additional
 benefits.  First, my limited testing shows a slight increase in
 payload % at low bw limits as a result of reducing the connection
 count (there is some per-connection network overhead).

 True.

To be specific, my anecdotal evidence is that it improves the payload
fraction by roughly 3-8%.


 Second, bloom
 filter sharing represents a per-connection overhead (mostly in the
 initial transfer -- updates are low bw, as discussed).  If (when?)
 implemented, it will represent a smaller total overhead with fewer
 connections than with more.  Presumably, the greatest impact is on
 slower nodes.

 Really it's determined by churn, isn't it? Or by any heuristic artificial
 limits we impose...

My assumption is that connection duration is well modeled by a
per-connection half-life, that is largely independent of the number of
connections.  The bandwidth used on such filters is proportional to
the total churn, so fewer connections means less churn in absolute
sense but the same connection half-life.  (That is, bloom filter
bandwidth usage is proportional to # of connections * per-connection
churn rate.)  I don't have any evidence for that assumption, though.


 On the other hand, too few connections may make various attacks
 easier.  I have no idea how strong an effect this is.  However, a node
 that has too many connections (ie insufficient bw to use them all
 fully) may show burstier behavior and thus be more susceptible to
 traffic analysis.

 Yes, definitely true with our current padding algorithms.

 In addition, fewer connections means a larger
 network diameter on average, which may have an impact on routing.
 Lower degree also means that the node has fewer neighbor bloom filters
 to check, which means that a request is compared against fewer stores
 during its traversal of the network.

 True.

Do you know how big a problem this would cause?  My assumption is that
it would be a fairly small effect even on the nodes with fewer
connections, and that they would be in the minority.


 I'm intentionally suggesting a small change -- it's less likely to
 cause major problems.  By keeping the ratio between slow nodes (15
 connections) and fast nodes (20 connections) modest, the potential for
 reliance on ubernodes is kept minimal.  (Similarly, if you want to
 raise the 20 connections limit instead of lower it, I think it should
 only be increased slightly.)

 Why? I don't see the point unless the upper bound is significantly higher than
 the lower bound: any improvement won't be measurable.

As above, I would hope that the