Skip to content
This repository has been archived by the owner on Nov 26, 2019. It is now read-only.

Open Problem: Routing at Scale (1M, 10M, 100M, 1B.. nodes) #4

Merged
merged 12 commits into from
Oct 26, 2019

Conversation

daviddias
Copy link
Member

No description provided.

### What defines a complete solution?
> What hard constraints should it obey? Are there additional soft constraints that a solution would ideally obey?

A complete solution here should involve the following elements:

- A Multi-Layer DHT, whose separate components are *topologically embedded* in the underlying topology
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is already a potential solution. A requirement should not constrain the solutions to a box, rather define what we believe it is needed to achieve the scale we want (for example: handle churn of multiple millions of nodes)

OPEN_PROBLEMS/ROUTING_AT_SCALE.md Show resolved Hide resolved
OPEN_PROBLEMS/ROUTING_AT_SCALE.md Show resolved Hide resolved
@daviddias
Copy link
Member Author

Ah!! @yiannisbot just realized now that I was missing to click the box "submit review". Now I understand why you were asking for my review last week and I gave you my surprised answer saying "I already gave you the review". My apologies

@yiannisbot
Copy link
Contributor

:)) No problem and thanks for the comments. Fair points! Will update asap and release next version.

Major revision of short and long description.
A second one to follow shortly.
@yiannisbot
Copy link
Contributor

I have incorporated all comments. This reads very nicely now I believe, it covers all essential points. @daviddias: could you do another pass?

@yiannisbot
Copy link
Contributor

@aschmahmann: I've assigned a review for this open problem to you - if you could have a quick look to see if we're missing something essential, that'd be fantastic!

@daviddias daviddias marked this pull request as ready for review October 25, 2019 10:22
Copy link
Member Author

@daviddias daviddias left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome work @yiannisbot!! :D

@daviddias daviddias merged commit 07113a4 into master Oct 26, 2019
@daviddias daviddias deleted the routing-scale branch October 26, 2019 10:44
@aschmahmann
Copy link

@yiannisbot looks pretty good to me!

A few brief thoughts/points (mostly about Kademlia):

  1. We have no idea what Kademlia's current scalability is because of the massive number of undialable nodes on the network. We will hopefully be able to see with ongoing testing (where we can remove undialable nodes), and with some minor DHT fixes to remove undialable nodes, what the numbers look like.
  2. Everything is a numbers game. There are ways to tweak even algorithms like Kademlia to reduce latency (and still keep bandwidth usage low) by just increasing routing table size. Without doing some simulations on what we already have and comparing with what we need there's no reasonable way to approach a "solution".
  3. While Kadmelia does in some ways scale/adapt better with many nodes, latency is Log(N) so that's not really the case.
  4. There's a related problem of trying to figure out how to balance making all content available with making only the roots of content available. If all my data is zip files then there's no reason for the routing network to really help route more than one object/zip file. However, if my data is a directory with 1000 files in it, then the routing network should help move around all 1000 files + the directory.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants