I found the discussion of the available bandwidth of tree vs higher dimensional virtual networks topologies quite, to quote Spock, fascinating:
A mathematical analysis by Ritter (2002) (one of the original developers
of Napster) presented a detailed numerical argument demonstrating that the
Gnutella network could not scale to the capacity of its competitor, the
Napster network. Essentially, that model showed that the Gnutella network is
severely bandwidth-limited long before the P2P population reaches a million
peers. In each of these previous studies, the conclusions have overlooked the
intrinsic bandwidth limits of the underlying topology in the Gnutella network:
a Cayley tree (Rains and Sloane 1999) (see Sect. 9.4 for the definition).
Trees are known to have lower aggregate bandwidth than higher dimensional
topologies, e.g., hypercubes and hypertori. Studies of interconnection
topologies in the literature have tended to focus on hardware implementations
(see, e.g., Culler et al. 1996; Buyya 1999), which are generally limited
by the cost of the chips and wires to a few thousand nodes. P2P networks,
on the other hand, are intended to support from hundreds of thousands to
millions of simultaneous peers, and since they are implemented in software,
hyper-topologies are relatively unfettered by the economics of hardware.
In this chapter, we analyze the scalability of several alternative topologies
and compare their throughput up to 2–3 million peers. The virtual hypercube
and the virtual hypertorus offer near-linear scalable bandwidth subject to
the number of peer TCP/IP connections that can be simultaneously kept
open.
How do you design a reliable distributed file system when the expected availability of the individual nodes are only ~1/5? That is the case for P2P systems. Dominik Grolimund, the founder of a Swiss startup Caleido will show you how! They have launched Wuala, the social online storage service which scales as new nodes join the P2P network.
The goal of Wua.la is to provide distributed online storage that is:
by harnessing the idle resources of participating computers.
This challenge is an old dream of computer science. In fact as Andrew Tanenbaum wrote in 1995:
"The design of a world-wide, fully transparent distributed filesystem fot simultaneous use by millions of mobile and frequently disconnected users is left as an exercise for the reader"
After three years of research and development at at ETH Zurich, the Swiss Federal Institute of Technology on a distributed storage system, Caleido is ready to unveil the result: Wuala. Wuala is a new way of storing, sharing, and publishing files on the internet. It enables its users to trade parts of their local storage for online storage and it allows us to provide a better service for free. In this Google Tech Talk, Dominik will explain what Wuala is and how it works, and he will also show a demo.
Consistent hashing is one of those ideas that really puts the science in computer science and reminds us why all those really smart people spend years slaving over algorithms. Consistent hashing is "a scheme that provides hash table functionality in a way that the addition or removal of one slot does not significantly change the mapping of keys to slots" and was originally a way of distributing requests among a changing population of web servers. My first reaction to the idea was "wow, that's really smart" and I sadly realized I would never come up with something so elegant. I then immediately saw applications for it everywhere. And consistent hashing is used everywhere: distributed hash tables, overlay networks, P2P, IM, caching, and CDNs. Here's the abstract from the original paper and after the abstract are some links to a few very good articles with accessible explanations of consistent hashing and its applications in the real world.
Colm MacCarthaigh, Network Architect at Joost, gave this presentation at the UK Network Operators' Forum Meeting in Manchester on April 3rd, 2007.
Skype's 220 millions users lost service for a stunning two days. The primary cause for Skype's nightmare (can you imagine the beeper storm that went off?) was a massive global roll-out of a Window's patch triggering the simultaneous reboot of millions of machines across the globe. The secondary cause was a bug in Skype's software that prevented "self-healing" in the face of such attacks. The flood of log-in requests and a lack of "peer-to-peer resources" melted their system.
Who's fault is it? Is Skype to blame? Is Microsoft to blame? Or is the peer-to-peer model itself fundamentally flawed in some way?
Recent comments
47 min 21 sec ago
1 hour 51 min ago
1 hour 58 min ago
2 hours 4 min ago
15 hours 16 min ago
16 hours 37 min ago
22 hours 33 min ago
1 day 1 hour ago
1 day 5 hours ago
1 day 5 hours ago