routing algorithm simulator
- Dominant language
- Go
- Stars
- 17.1k
- Forks
- 3.2k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 11
Description
I am thinking about writing IPFS routing algorithm simulator. It would enable quick iterations in routing algorithm development, before thousands of full-fledged IPFS daemons are spun.
The simulator would have configuration to specify following "starting situation":
- whether node is NATed
- percentage of "unique" content, small and big blocks
- speed of node's network up/down
- connection latency
- amount of storage available
- amount of pubsub channels, number of subscribers
- clustering with some other nodes
While running, it will be possible to specify:
- amount of interest in various blocks to go up and down
- normal/important blocks (e.g. blocks requested from browser are much more important to retrieve than backup of some blocks). Same goes for sending unique content. I understand that IPFS does not support this yet.
Output of the simulator would have graphs of blocks traversal speed, pubsub speed, etc
Obviously this should be written in go, to facilitate thousands of goroutines that represent hosts and networks.
Sorry for making it as issue, think about it as a feature. What do you think?
Contributor guide
Assessment
This issue has not been assessed yet.