Slashdot Mirror


Running The Numbers: Why Gnutella Can't Scale

jordan (one of the founding developers of Napster), writes: "As the rumour mill churns over Napster's future, many folks see Gnutella as the next best hope for the music loving file sharing community. Problem is, Gnutella can't scale . [Note: if that URL doesn't work, try this mirror.] Almost all research on Gnutella up till now has been based on observations of the system in the wild, but this paper discusses the technical merits of that statement through a detailed mathematical analysis of the Gnutella architecture." The kind of numbers that you may not like to read if you figure networks expand to accomodate traffic at a never-ending pace. Update: 02/15 12:24 AM by T : Jordan also points to this mirror for your reading pleasure.

6 of 287 comments (clear)

  1. Re:I challenge you... by PureFiction · · Score: 5

    I am nearing completion of a network that satisfies a, b, c, e.

    I havent started on d and f, but they could be added.

    This project is called The ALPINE Network

    It scales linearly, and provides a query mechanism that rivals the performance of a centralized directory. (Although the bandwidth is more than a centralized query, but at least you have direct control over how much bandwidth you use and how).

    At any rate, I could use development assistance a great deal. Let me know if anyone is interested.

    Regards...

  2. Where have I seen this before? by selectspec · · Score: 5

    Of course we've discussed this twice already here and here.

    --

    Someone you trust is one of us.

  3. Well, duh by Reality+Master+101 · · Score: 5

    Anyone who understands how Gnutella works (unfortunately, too few people) knows that Gnutella is horribly broken, will never work, and is basically unfixable.

    The more relevent question is whether you can have a peer-to-peer network without central servers that *can* scale. And the answer is "no".

    However, the REAL question is whether you can have a peer-to-peer network with decentralized servers, i.e., with clients that automatically establish a heirarchy among all the clients, and certain clients become more "server like". They only way to make a Gnutella work is by making it heirarchical, but the heirarchy needs to be automatic for it have the same general "virtual network" aspect of Gnutella.

    Is it possible? I don't know. You would probably have to have automatic bandwidth measurements, depth probes, all kinds of things to make it work. I simply don't know if it would be possible to automate something like that.


    --

    --
    Sometimes it's best to just let stupid people be stupid.
  4. A Future Alternative (and its scales linearly too) by PureFiction · · Score: 5

    I am currently working on a fully decentralized searching network. You can read more about it here.

    The key aspects of this network will be:

    - No forwarding. This is currently eating gnutella alive. A UDP based multiplexed transport protocol is used to maintain hundreds of thousands of direct connections to all the peers you want to communicate with. You can also tailor your peering groups precisely to what you desire, as far as quality, reliability, etc.

    - Low Communication Overhead. All queries that are broadcast are performed with minimal overhead within UDP packets. A typical napster breadth query (10,000 peers) would take a few minutes on a modem, and seconds on a DSL line.

    - Adaptive Configuration. Peers that have better or more responsive content will gravitate towards the top of your query list, thus, over time you will have a large collection of high quality peers which will greatly increase the chance of you finding what you need.

    There are a number of other features, however too much to detail here.

    Also, this is under heavy development, and not operational. I am going solo on this at the moment, and so progress is slow. However, once completed, it *should* be a scalable alternative to completely decentralized searching / location.

  5. Re:Well what about Freenet then? by Reality+Master+101 · · Score: 5

    Freenet is also very well architected, unlike bogus Gnutella.

    The problem with Gnutella is not the transferring of files, it's the searching. You'll note that Freenet conspicuously avoids the subject of searching, except for "yeah, we're thinking about it... real soon now!"


    --

    --
    Sometimes it's best to just let stupid people be stupid.
  6. I challenge you... by karot · · Score: 5

    So, Jordan, you provide a nice demonstration of a flaw. It is considered polite in many circles, that when destroying someone's hard-work, that you make a peace offering in the form of some assistance.

    Can we expect therefore to see an equally interesting and thorough discussion of how Napster/Gnutella can grow, evolve and perhaps merge, to provide the "ideal compromise" where we will not need 100Gb networks, but where:

    a) The destruction of any significant %age of the network is transparrently ignored or healed.
    b) The network will not segment as GnutellaNet can.
    c) Bandwith requirements are low[er]
    d) Anonymity of participants is maintained where required.
    e) The law can't shut it down so easily.
    f) Data can be secured, encrypted and/or signed (etc.) for specific users

    And MY personal wish:
    g) The end result is so globally accepted for file exchange and storage, that FTP dies a death, and we all live without buffer-overflow exploits for the rest of out lives :-)

    Note that Napster and Gnutella were very one-sided in their freedom with files. There was no facility available to ensure that the law wasn't honoured where desired.

    --

    --
    Enjoy Y2K? Roll-on Year 2037!