libcachesim
a high performance library for building cache simulators
Learn how to contribute new eviction algorithms to libCacheSim. Implement the cache_t interface, register your module, and validate with the test harness. A developer's guide for libCacheSim contributions.
How to Build a Cache Simulator Using the C++ API of libCacheSim: A Complete GuideLearn to build a high-performance cache simulator using the libCacheSim C++ API. This guide details using the trace reader, cache object, and request handler for efficient simulation.
How to Consider Object Size Distributions in libCacheSim Simulations: A Complete GuideLearn how to consider object size distributions in libCacheSim simulations using request_t.obj_size and ignore_obj_size for statistical analysis and byte-aware caching.
How to Simulate Fractional Cache Sizes (Percentage of Working Set) in libCacheSimLearn to simulate fractional cache sizes in libCacheSim. Specify cache capacity as a percentage of your working set for precise memory analysis.
How to Interpret libCacheSim Trace Analysis Output to Identify Cache Performance IssuesLearn to interpret libCacheSim trace analysis output and diagnose cache performance issues. Decode metrics from stat files to pinpoint problems like cold misses and write amplification.
Does libCacheSim Support Concurrent or Parallel Trace Processing?Learn how libCacheSim handles concurrent trace processing. Discover its parallel simulation capabilities using GLib's thread pool for efficient performance analysis.
How to Compare Different Cache Algorithms Fairly in libCacheSimCompare cache algorithms fairly in libCacheSim. Run eviction policies side-by-side on the same trace with identical configurations for accurate results.
How to Configure Hashpower and Memory Footprint for libCacheSim SimulationsOptimize libCacheSim simulations by configuring hashpower and memory footprint. Learn how hashpower controls table size, impacting memory usage for your cache simulations.
Approximate Miss Ratio Computation Using Sampling in libCacheSim: SHARDS and MINISIM ExplainedDiscover how libCacheSim computes approximate miss ratios using SHARDS and MINISIM sampling profilers. Estimate miss-ratio curves from trace samples with high accuracy.
How to Extend libCacheSim to Support New Custom Trace Types: A 4-Step Implementation GuideEffortlessly extend libCacheSim for custom trace types. Follow our 4-step implementation guide to define new entries, register mappings, wire dispatchers, and implement interface functions.
How to Efficiently Process Very Large Cache Traces (Billions of Requests) with libCacheSimEfficiently process billions of requests with libCacheSim. Discover how to manage large cache traces using memory mapping, sampling, and thread pools for constant memory and high CPU use.
Which Eviction Algorithm Is Best for Your Workload in libCacheSim: S3‑FIFO vs. Sieve vs. LRUDiscover the best eviction algorithm for your workload in libCacheSim. Compare S3-FIFO, Sieve, and LRU to optimize cache performance and reduce misses.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →