asura

Crates.ioasura
lib.rsasura
version0.3.0
created_at2022-02-23 11:15:08.788922+00
updated_at2022-02-24 14:56:41.489669+00
descriptionASURA implementation in Rust
homepage
repositoryhttps://github.com/akiradeveloper/ASURA
max_upload_size
id537777
size37,177
Akira Hayakawa (akiradeveloper)

documentation

README

ASURA

Crates.io documentation

ASURA implementation in Rust. A better alternative of Consistent-hashing.

What is ASURA?

ASURA, like best-known consistent-hashing, is an algorithm to compute the placement node from a key. ASURA is a abbreviation of Advanced Scalable and Uniform storage by Random number Algorithm.

The basic: ASURA is a class of Monte Carlo method because it uses random number to choose the placement node. Nodes are mapped to segments (non-overlapping but allowing gaps) and it generates random numbers until hit one.

The core of the ASURA is ASURA random number generator. Because of the property, we can add or remove a node without changing most of the previous placements just like consistent-hashing.

For more detail, you can read the paper here: https://arxiv.org/ftp/arxiv/papers/1309/1309.7720.pdf.

Author

Akira Hayakawa (ruby.wktk@gmail.com)

Commit count: 28

cargo fmt