TTLCacheNet는 요청 패턴을 학습해 미래의 객체 요청을 예측하고, 이를 바탕으로 캐시 유지 시간(TTL, Time-To-Live)을 자동으로 추천하는 시스템입니다.
기존의 LRU 캐시처럼 과거만 보는 방식에서 벗어나, LSTM 기반 딥러닝 모델을 활용해 예측 기반 캐싱 정책을 실현합니다.
- Redis 기반 시스템에 쉽게 연동 가능한 TTL 추천 API 개발
- 캐시 메모리 활용률 향상
- Hit Ratio 상승 및 응답 속도 개선
- generateSyntheticDataset.py: Zipf 분포 기반 synthetic workload 생성 (Dataset1)
- generateMediSynDataset.py: 실시간 요청 변화 반영한 workload 생성 (Dataset2)
- requestAnalysis.py → 요청 로그를 기반으로 시간대별 bin, 객체 속성(frequency, lifespan 등)을 추출
- 입력: 과거 20시간
- 출력: 미래 10시간 또는 26시간
ttl = (predicted_prob / predicted_prob.max()) * max_ttl
- 요청 확률이 높을수록 TTL을 길게 설정
- Redis에 적용 가능한 TTL 값 반환
- LRU vs DeepCache TTL 기반 캐시 비교
- 성능 지표: Cache Hit Ratio
기반 논문
- DeepCache: A Deep Learning Based Inference Caching Framework for Content Delivery
- A Learning-Based Caching Mechanism for Edge Content Delivery