Skip to content

Latest commit

 

History

History
63 lines (47 loc) · 2.39 KB

README.md

File metadata and controls

63 lines (47 loc) · 2.39 KB

Benchmark Experiment

Notice

Topics / Benchmarks / Options

No Topic Benchmarks Options Result
1 WAL/Manifest --disable_wal
--wal_bytes_per_sync
fillseq/random PPT
2 Memtable --write_buffer_size
--max_file_size
fillseq/random
readrandom
PPT
3 Compaction --base_background_compactions
--compaction_style
fillseq/random
readseq/random
seekrandom
PPT
4 SSTable --write_buffer_size
--max_file_size
--block_size
fillseq/random
readseq/random
seekrandom
PPT
5 Bloom Filter --bloom_bits readhot/random
seekrandom
PPT
6 Cache --cache_size
--block_size
readhot/random
seekrandom
PPT

5 Steps of Experiment

  1. Hypothesis

    • What changes will be happen internally, if option changes?
    • How will internal changes affect the metrics?
    • What result and graph do you expect?
  2. Design

    • Do the simplest and smallest experiment that can test your hypothesis.
    • Do not experiment with multiple independent variables at once from the beginning.
    • Do not let uncontrolled variables ruin your experiment.
    • Variables
      • Independent
        • Options, Benchmarks, # of KV pairs
      • Dependent
        • Metrics (Throughput, Latency, WAF/SAF/RAF)
      • Controlled
        • Enviornment, Page Cache, Compile Options, Existing DB, Compression Ratio, Bloom Filter Bits
  3. Run Experiment

    • Please use shell/python script.
      • echo, redirection, pyplot, ...
    • Do not change experiment enviornment.
  4. Result and Discussion

    • Draw graphs and figures that explain experiments.
    • Verify your idea and hypothesis with result.
    • Explain why your hypothesis is correct or not.
  5. Presentation

    • Present your experiments in 10 minutes.
    • Write a document that explains your experiment.
      • git-book