mogarg / base-rates

Benchmark to provide basic numbers (e.g. sequential memory latency) for estimating system's performance from first-principles

Home Page:https://www.usenix.org/conference/srecon19emea/presentation/eskildsen

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Base Rates

This project contains a series of programs to evaluate various 'base rates' that are useful to know when designing systems. For example, how fast is reading 1 GiB of memory?

Base rates are useful for determining the expected performance of a system.

Run with cargo run --release. You won't get the right numbers when you're compiling in debug mode.

Slides from a talk on the subject. Video will appear in the README when it's available.

If you are interested in contributing, write a benchmark for one of the question-marks below or take a look at the issues!

Numbers

Here are the numbers from the program, run on my 2017 Macbook. The goal is to run this on more platform. Note that all numbers don't line up as they've been rounded to make them more memorable.

Operation Latency Throughput 1 MiB 1 GiB
Sequential Memory Read (64 bit) 1 ns 6 GiB/s 100 us 100 ms
Sequential Memory Writes (64 bit) 5 ns 1.5 GiB/s 500 us 500 ms
Random Memory Read (64 bit) 25 ns 300 MiB/s 3.5 ms 3.5 s
Mutex Lock/Unlock ? ? ? ?
Random Memory Write (64 bit) ? ? ? ?
Sequential SSD Read (8kb) 1 us 4 GiB/s 200 us 200 ms
TCP Echo (TCP overhead) (64 bytes) 15 us ? ? ?
Sequential SSD write, -fsync (16KiB) 30 us 2 MiB/s 500 ms 10 min
{Snappy, Gzip, ..} Compression (? KiB) ? ? ? ?
Hashing (? bytes) ? ? ? ?
Random SSD Seek (64 bytes) 100 us 500 KiB/s 1.5 s 30 min
Cloud us-east1 to us-east2 250 us ? ? ?
{MySQL, Memcached, Redis, ..} Query ? ? ? ?
Envoy/Nginx Overhead ? ? ? ?
{JSON, Protobuf, ..} Serializee (?) ? ? ? ?
Cloud us-east to us-central ? ? ? ?

About

Benchmark to provide basic numbers (e.g. sequential memory latency) for estimating system's performance from first-principles

https://www.usenix.org/conference/srecon19emea/presentation/eskildsen

License:MIT License


Languages

Language:Rust 100.0%