Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Binary request generator/replayer #307

Closed
wants to merge 1 commit into from

Commits on Jul 22, 2024

  1. Binary KVReplayGenerator

    ------------------------
    This offers much lower overhead of trace replaying. It
    assumes the kvcache trace format and kvcache behavoir.
    This patch supports the following:
    - binary request generation and replay
    - fast forwarding of a trace
    - preloading requests into memory
    - object size amplification
    - queue free for even lower request overhead
    - can parse many more requests per second than cachelib
      can process, so we can get 100% CPU usage
    
    The limitations are:
    - no trace amplification (however you can amplify the
    original .csv trace and save it in binary format)
    - ~4GB overhead per 100 million requests
    - you need some disk space to store large traces
    
    Example usage:
    
    /opt/cachelib/bin/binary_trace_gen --json_test_config opt/cachelib/test_configs/trace_replay/kvcache/config_kvtrace_gen_binary.json --progress 1
    /opt/cachelib/bin/cachebench --json_test_config opt/cachelib/test_configs/trace_replay/kvcache/config_kvtrace_replay_binary.json --progress 1
    byrnedj committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    426dbc1 View commit details
    Browse the repository at this point in the history