A college e-learning portal generates highly skewed, bursty request traffic, and the campus proxy that serves it must keep the right objects in a cache that is always much smaller than the full content library. Choosing the eviction policy is currently guesswork: recency-based policies are known to be polluted by full-course downloads and antivirus scans, frequency-based policies fail to adapt when a semester changes the popular set, and the published claims for modern policies are all evaluated on foreign CDN or storage traces whose object sizes and popularity shapes differ greatly from lecture videos and PDFs. There is no measured, statistically tested answer to the question "which policy gives the best hit ratio and latency for our traffic at our cache sizes?" — and an untested choice either wastes scarce memory or subjects students to avoidable re-downloads. This project closes that gap with a controlled, paired, reproducible experimental study.
Abstract
Campus e-learning portals are the heaviest single load on most college networks: lecture videos and notes are requested thousands of times a day by hundreds of concurrent users. A caching proxy placed at the campus edge can serve a large fraction of these requests from local memory, cutting external bandwidth cost and average download time. Its effectiveness depends almost entirely on the eviction policy — the algorithm deciding what to keep when the cache is full. This dissertation implements four classic and modern eviction policies, replays real and synthetic campus workloads through a controlled simulator, and compares them with statistical rigour.
Introduction
A 3,000-student engineering college serving recorded lectures, notes and previous-year question papers generates strongly skewed request traffic: a handful of files (the current-semester videos, yesterday's uploaded notes) attract most requests, while a long tail of old material is touched rarely. Policies that track only recency (LRU) can be polluted by one-time scans; policies that track only frequency (LFU) adapt slowly when the semester changes and a new set of "hot" files appears. ARC adapts between recency and frequency; TinyLFU keeps a compact frequency sketch and refuses likely-useless admissions. Which one wins depends on the workload — so the workload must be measured, and the comparison controlled.
Existing Work and the Gap
- LRU, LFU and Belady's OPT are textbook algorithms; their behaviour on scan-heavy or shifted workloads is documented qualitatively but rarely quantified on Indian campus traffic.
- ARC (Megiddo and Modha, FAST 2003) and TinyLFU (Einziger et al., 2017) report large gains on CDN and storage traces, but neither paper targets e-learning traffic with a few hundred popular objects and strong weekly periodicity.
- Most comparisons report mean hit ratios only, without variance, confidence intervals or significance tests, making small differences impossible to trust.
- Gap: a reproducible, statistically tested comparison of these policies on a measured Indian campus e-learning trace.
Proposed System
A trace-driven simulator with five interchangeable policies (LRU, LFU, Random, ARC, TinyLFU) plus an OPT lower bound, fed by two workload sources: (1) an anonymised two-week HTTP log from a college e-learning proxy, and (2) parameterised synthetic generators (Zipf with varying skew, controlled popularity-shift and scan injections) that let cache sizes and patterns be swept systematically. Identical replay conditions — same trace, same cache sizes, same object-size accounting — make the comparison paired and therefore testable. The analysis reports hit ratio, byte hit ratio, latency under a simple cost model, and per-request overhead, with 95% confidence intervals and paired significance tests.
Feasibility
- Technical: the simulator is a few thousand lines of Java; all algorithms are published and well specified. Traces of 5–10 million requests replay in minutes. No special hardware is needed — an 8 GB laptop suffices.
- Economic: no licensing cost; Java, Python and the plotting libraries are free.
- Operational: log collection needs only proxy-log access, anonymisation and the network administrator's written approval; the rest runs entirely offline.
Research design: quantitative, controlled, trace-driven simulation study with paired comparison across policies and cache sizes — the classical experimental-evaluation methodology of Raj Jain: fixed factors, measured response variables, replicated runs, confidence intervals and hypothesis tests.
| Phase | Weeks | Activities | Output |
|---|
| 1. Literature & problem formulation | 1–3 | Study ARC, TinyLFU, cache surveys and workload-modelling literature; finalise factors and metrics | Survey chapter + experiment plan |
| 2. Trace capture & characterisation | 4–6 | Obtain proxy-log access with written approval, anonymise, parse to (timestamp, object-id, size), fit popularity distribution | Characterised real trace |
| 3. Policy implementation | 7–10 | Implement LRU, LFU, Random, ARC, TinyLFU, OPT in Java behind one interface; property-based unit tests | Tested policy library |
| 4. Simulator & experiment matrix | 11–13 | Byte-accounted replay engine, latency cost model, config-driven sweep (6 policies × 8 cache sizes × traces × 5 seeds for synthetic) | Experiment runner |
| 5. Analysis | 14–17 | Per-request metric extraction, bootstrap CIs, paired t-tests and Wilcoxon signed-rank across cache-size slices, effect sizes | Results tables + plots |
| 6. Robustness checks | 18–19 | Scan/shift injections, sensitivity to cost-model constants, run-time overhead measurement | Robustness chapter |
| 7. Thesis & viva preparation | 20–24 | Write chapters, finalise figures, rehearse the simulator demo | Thesis + demo |
Protocol controls: all policies replay the identical request stream (same seed order); cache budget is bytes; warm-up (first 10% of trace) is discarded before metrics are computed; each synthetic condition is replicated with 5 seeds; the analysis script regenerates every table from raw CSVs so no number is typed by hand.