You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This milestone builds the benchmark harness and turns every published reference into a baseline that we measured. It runs PostgreSQL 19, ClickHouse and DuckDB on ClickBench, TPC-H, TPC-C and YCSB on the machines of the spec, with cgroup resource numbers for each run. At the end, each baseline number in spec/03 has a remeasured number in reports/.
Why
Every ratio in a rupg report has both numbers measured by us, on one machine, on the same day, with the same harness. A published number is a reference and never one side of a ratio. So no gate from M2 to M11 can be decided until this milestone has measured its baseline.
Some gates have no reference at all. ClickBench does not publish memory or CPU time, so G8 has no baseline until M0 measures one, and M4 needs it. The oltp machine and the warehouse counts of TPC-C are also chosen here, because a TPC-C run on a device with slow sync measures the device and not the engine.
The work
Create the crate with the suite drivers, the cgroup runner, the answer sets, the report generator and the machine scripts (spec/20 §20.12)
Write pins.toml with ClickBench at e6bda4e, PostgreSQL REL_19_STABLE at 7d3d2db7, rudb at cd9f9676, and the versions of ClickHouse, DuckDB, Umbra or CedarDB and SQLite (spec/20 §20.1, spec/03 §3.14)
Write the cgroup v2 runner that reads memory.peak, file in memory.stat, Pss, usage_usec, io.stat and du --apparent-size --bytes, and the idle base over 10 s (spec/20 §20.4)
Write the load case steps for case A and case B with drop_caches, fincore and the timed cat of the source file (spec/20 §20.3.1)
Write the machine scripts that start a 4xl, metal or oltp instance, install the pinned versions, run a suite and stop the instance (spec/20 §20.12)
Choose the oltp machine: at least 32 cores and local NVMe with power loss protection, with an fdatasync p50 below 100 µs measured with fio (spec/20 §20.2)
Choose the tpch machine for SF100: at least 64 vCPU, 256 GiB and local NVMe (spec/20 §20.2)
Run ClickBench on 4xl and metal, hot, cold and load, for PostgreSQL 19, PostgreSQL 19 tuned, ClickHouse, DuckDB and Umbra or CedarDB where the license permits (spec/03 §3.15)
Compute the PostgreSQL 19 answer sets for ClickBench and TPC-H once on metal and store them with the harness (spec/20 §20.5.2)
Run TPC-H at SF1, SF10 and SF100 for DuckDB and PostgreSQL 19, hot and cold, with dbgen 3.0.1 and qgen -d (spec/03 §3.15, spec/20 §20.7)
Choose the two TPC-C warehouse counts and the virtual users from the memory of oltp, and run HammerDB for PostgreSQL 19 with procedures and with statements (spec/20 §20.8)
Run YCSB A, B, C and F for PostgreSQL 19 with and without pipelining, and choose the record count (spec/20 §20.9)
Measure the commit curve and the fdatasync latency of the gate machine (spec/03 §3.15)
Measure the idle memory of PostgreSQL 19 at 1,000 connections with the same shared_buffers as rupg (spec/03 §3.15)
Add the pgbench smoke run with its consistency check (spec/21 §21.4.6)
Write the instruction count runner with the fixed set of spec/21 §21.14 (spec/21 §21.14)
Record each difference above 10 percent from the published number in the M0 report with its cause (spec/03 §3.15)
Exit criterion
Each baseline number in spec/03 has a remeasured number in reports/, with the exact version, the configuration file, the machine and the date.
Each remeasured number that differs from the published one by more than 10 percent has its cause in the M0 report.
The memory and CPU time of each ClickBench baseline on 4xl are measured, so G8 has a reference before M4 starts.
The oltp machine has a measured fdatasync p50 below 100 µs, and the TPC-C warehouse counts, the virtual users and the YCSB record count are fixed in the report.
This milestone builds the benchmark harness and turns every published reference into a baseline that we measured. It runs PostgreSQL 19, ClickHouse and DuckDB on ClickBench, TPC-H, TPC-C and YCSB on the machines of the spec, with cgroup resource numbers for each run. At the end, each baseline number in spec/03 has a remeasured number in
reports/.Why
Every ratio in a rupg report has both numbers measured by us, on one machine, on the same day, with the same harness. A published number is a reference and never one side of a ratio. So no gate from M2 to M11 can be decided until this milestone has measured its baseline.
Some gates have no reference at all. ClickBench does not publish memory or CPU time, so G8 has no baseline until M0 measures one, and M4 needs it. The
oltpmachine and the warehouse counts of TPC-C are also chosen here, because a TPC-C run on a device with slow sync measures the device and not the engine.The work
pins.tomlwith ClickBench ate6bda4e, PostgreSQLREL_19_STABLEat7d3d2db7, rudb atcd9f9676, and the versions of ClickHouse, DuckDB, Umbra or CedarDB and SQLite (spec/20 §20.1, spec/03 §3.14)memory.peak,fileinmemory.stat,Pss,usage_usec,io.statanddu --apparent-size --bytes, and the idle base over 10 s (spec/20 §20.4)drop_caches,fincoreand the timedcatof the source file (spec/20 §20.3.1)4xl,metaloroltpinstance, install the pinned versions, run a suite and stop the instance (spec/20 §20.12)oltpmachine: at least 32 cores and local NVMe with power loss protection, with anfdatasyncp50 below 100 µs measured withfio(spec/20 §20.2)tpchmachine for SF100: at least 64 vCPU, 256 GiB and local NVMe (spec/20 §20.2)4xlandmetal, hot, cold and load, for PostgreSQL 19, PostgreSQL 19 tuned, ClickHouse, DuckDB and Umbra or CedarDB where the license permits (spec/03 §3.15)metaland store them with the harness (spec/20 §20.5.2)dbgen3.0.1 andqgen -d(spec/03 §3.15, spec/20 §20.7)oltp, and run HammerDB for PostgreSQL 19 with procedures and with statements (spec/20 §20.8)fdatasynclatency of the gate machine (spec/03 §3.15)shared_buffersas rupg (spec/03 §3.15)Exit criterion
reports/, with the exact version, the configuration file, the machine and the date.4xlare measured, so G8 has a reference before M4 starts.oltpmachine has a measuredfdatasyncp50 below 100 µs, and the TPC-C warehouse counts, the virtual users and the YCSB record count are fixed in the report.Engine milestone
Depends on
Nothing.
Spec