https://github.com/sshaplygin/abcs
Adaptive bandit cache selection
https://github.com/sshaplygin/abcs
2q-cache arc-cache golang lfu-cache lfuda-cache lru-cache mab statistics
Last synced: 7 months ago
JSON representation
Adaptive bandit cache selection
- Host: GitHub
- URL: https://github.com/sshaplygin/abcs
- Owner: sshaplygin
- Created: 2024-04-14T09:19:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-14T13:27:05.000Z (over 1 year ago)
- Last Synced: 2025-01-22T12:11:34.496Z (9 months ago)
- Topics: 2q-cache, arc-cache, golang, lfu-cache, lfuda-cache, lru-cache, mab, statistics
- Language: Go
- Homepage:
- Size: 1.95 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ABCS - Adaptive bandit cache selection
select method store Multi-Armed Bandit
## Disclaimer
It is experimental solution. Because choosing an algorithm during program execution multiplies memory consumption
## Problem
I would like to make an algorithm based on statistical data so that it independently chooses the optimal storage method during operation.
Because choosing a specific algorithm for specific tasks is a separate research work## Input
### In create cache
- Start algorithm
- Count storage elements
- We won't stop business logic for restructed cache### In runtime
- Hitrate into start algorithm
### Questions
- When we need migrate from start algorithm to new?
## Idea
TODO
## Usage
TODO
### Supported cached methods
- Random
- LRU by default
- LFU
- 2Q
- ARC## Reference
TODO
## Implementarions
- LRU, ARC, 2Q [golang-lru](https://github.com/hashicorp/golang-lru)
- LFUDA [lfuda-go](https://github.com/bparli/lfuda-go/)
- Multi-Armed Bandit(MAB) [go-bandit](https://github.com/alextanhongpin/go-bandit)