- Added `tqdm` progress bar to track simulation progress in real-time.
- Improved computation of hit rates and average ages for better accuracy.
- Updated data export logic for clearer output and better insights.
Reran Experiments
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
- Introduced functionality to export hit rates and average ages as markdown files.
- Generated `hit_rates.md` and `avg_ages.md` for easier sharing and reporting.
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
- Fixed incorrect use of exponential sampling for `next_request` and `next_refresh` timings.
- Adjusted cache eviction logic to properly handle capacity checks.
- Improved simulation output and logging for least accessed objects.
- Corrected CSV export to include index labels for better data clarity.
- Reran experiments
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
- Introduced `avg_age` metric to track the average age of cached objects during simulation.
- Updated experiment configuration name from "No Refresh (0.5s ttl)" to "No Refresh (5.0s ttl)".
- Updated Jupyter notebooks and related files to incorporate new metrics and change experiment labels.
- Modified experiment output CSV and PDF files to reflect the new `avg_age` metric and updated experiment details.
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
- Added `aoi_cache_experiment_eval.ipynb`: A Jupyter notebook evaluating cache performance based on TTL (Time-to-Live) with hit rate and average age analysis. It includes visualizations and experiment results.
- Removed the unused `experiment_name` variable in `aoi_cache_simulation.ipynb`.
- Added `experiments/hr_and_age_vs_ttl.png`: A plot visualizing the relationship between hit rate and TTL, complementing the cache evaluation experiments.
### Reason
The new notebook enhances experiment evaluation by providing a detailed analysis of cache behavior over different TTL values. The image file adds a visualization of the results. The removal of the `experiment_name` variable cleans up the simulation code, as it was not being utilized.
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
- Added `aoi_cache_experiment_eval.ipynb`: A Jupyter notebook evaluating cache performance based on TTL (Time-to-Live) with hit rate and average age analysis. It includes visualizations and experiment results.
- Removed the unused `experiment_name` variable in `aoi_cache_simulation.ipynb`.
- Added `experiments/hr_and_age_vs_ttl.png`: A plot visualizing the relationship between hit rate and TTL, complementing the cache evaluation experiments.
### Reason
The new notebook enhances experiment evaluation by providing a detailed analysis of cache behavior over different TTL values. The image file adds a visualization of the results. The removal of the `experiment_name` variable cleans up the simulation code, as it was not being utilized.
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
Deleted generated simulation output files:
- : Redundant or outdated visualization of cache simulation results.
- : Obsolete log data, possibly superseded by newer exports or not needed for version control.
### Reason
These files are either auto-generated during simulation runs or are no longer relevant for tracking in version control. Their removal helps reduce repository clutter and ensures only essential files are maintained.
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
Deleted generated simulation output files:
- : Redundant or outdated visualization of cache simulation results.
- : Obsolete log data, possibly superseded by newer exports or not needed for version control.
### Reason
These files are either auto-generated during simulation runs or are no longer relevant for tracking in version control. Their removal helps reduce repository clutter and ensures only essential files are maintained.
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
Introduce a new simulation for Age of Information (AoI) cache management, focusing on varying TTL values and eviction strategies (LRU and Random Eviction). This includes:
- New Python script for event-driven cache simulations using .
- Experiments for "No Refresh" across multiple TTL configurations (, , ..., ) with:
- Hit rate and object age tracking (, , etc.).
- Visualizations (e.g., , ).
- Updated to describe experimental setup and configurations.
- Log export file () for simulation results.
- Refactor of with detailed strategy configurations and runtime notes.
### Reason
The commit enhances the project by enabling detailed experiments with configurable cache parameters, supporting analysis of cache efficiency and AoI under varying conditions. This provides a foundation for more sophisticated simulations and insights.
### Performance
- Runtime: ~4m 29s for .
Co-authored experiments introduce structured data files and visualizations, improving clarity for future iterations.
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>