Inspiration
I always wanted to implement these hypercube algorithms since they are very elegant.
What it is
This is a Rust library implementing common network algorithms on a hypercube network topology, such as broadcast, prefix sum, and allgather
Challenges we ran into
I'd say that doing the async TCP network programming programming correctly was harder than implementing the actual algorithms correctly.
Accomplishments that we're proud of
Broadcasting and monotonic message propagation works!
What we learned
That hypercubes make for a very elegant network topology.
What's next for Hypernet
- Supporting node failures. The current library does not support this.
- Implementing more algorithms like scatter and scattergather
Sources
- Hypercube Algorithms: with Applications to Image Processing and Pattern Recognition (Bilkent University Lecture Series) 1st ed. 1990 Edition, by Sanjay Ranka, Sartaj Sahni
- https://en.wikipedia.org/wiki/Hypercube_(communication_pattern)
- https://www.people.vcu.edu/~rhammack/reprints/ANewViewOfHypercube%20Genus.pdf
Built With
- async-std
- rust
Log in or sign up for Devpost to join the conversation.