Fair: A Go library for serving resources fairly

FAIR is a Go library that promotes fairness in resource-constrained environments by distributing limited resources evenly among multiple clients to prevent over-allocation and starvation. The core algorithm is based on Stochastic Fair BLUE with modifications to throttle only during genuine shortages. FAIR uses a multi-level Bloom Filter data structure for state storage, enabling scaling to large numbers of clients with constant memory requirements. Throttling with FAIR ensures fair distribution of resources, as shown in an evaluation where well-behaved clients receive their fair share even when unfair clients are throttled. Installation and usage of FAIR are straightforward, with options for customization based on specific needs.

https://github.com/satmihir/fair

To top