From ddcc1202daa7de84f13ff712fdb5ad12159facc1 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Thu, 1 Oct 2026 06:25:21 +0100 Subject: Measure one host of many apps against a process each (111) 017's first stage met its four criteria on the Pi (RAM stores, five rounds, the order of the ways turned): app B's 99th percentile while app A is flooded by 64 connections is 168 us, half of two processes' 336 us; the two apps busy together write 146.1k a second against 146.2k, with the same 1.4 ms tail; an app costs a host 120 KiB of its own memory (a process: 1,311 KiB PSS) and 100 apps still run on three threads; a host of one app keeps its speed (TPC-C +1.2% at the median of six pairs, two of them interfered and kept; the bank's queries within 2.6%) and its instructions (+0.94% at most). On the way: apps hopped between workers each turn (fixed in db4ee9c), connections of one app spread over all connection threads made the host a third more expensive a request and its tail a kernel tick (fixed by home threads, d24881d), and the work budget's counting cost every table row 26 instructions (fixed in be297ea). The earlier runs are kept apart (db4ee9c's isolation, d24881d's pairs and counts, the interrupted first try). --- .../interrupted/2026-10-01-queries-after-1-linux-aarch64.jsonl | 4 ++++ .../interrupted/2026-10-01-queries-after-2-linux-aarch64.jsonl | 4 ++++ .../interrupted/2026-10-01-queries-before-1-linux-aarch64.jsonl | 4 ++++ .../interrupted/2026-10-01-queries-before-2-linux-aarch64.jsonl | 0 .../interrupted/2026-10-01-tpcc-after-1-linux-aarch64.jsonl | 3 +++ .../interrupted/2026-10-01-tpcc-after-2-linux-aarch64.jsonl | 3 +++ .../interrupted/2026-10-01-tpcc-before-1-linux-aarch64.jsonl | 3 +++ .../interrupted/2026-10-01-tpcc-before-2-linux-aarch64.jsonl | 3 +++ 8 files changed, 24 insertions(+) create mode 100644 research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-after-1-linux-aarch64.jsonl create mode 100644 research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-after-2-linux-aarch64.jsonl create mode 100644 research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-before-1-linux-aarch64.jsonl create mode 100644 research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-before-2-linux-aarch64.jsonl create mode 100644 research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-after-1-linux-aarch64.jsonl create mode 100644 research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-after-2-linux-aarch64.jsonl create mode 100644 research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-before-1-linux-aarch64.jsonl create mode 100644 research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-before-2-linux-aarch64.jsonl (limited to 'research/experiments/026-apps-on-one-host/interrupted') diff --git a/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-after-1-linux-aarch64.jsonl b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-after-1-linux-aarch64.jsonl new file mode 100644 index 0000000..093ecc5 --- /dev/null +++ b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-after-1-linux-aarch64.jsonl @@ -0,0 +1,4 @@ +{"query": "per_branch", "rows": 10, "accounts": 100000, "pure_median_ms": 5.27, "pure_fastest_ms": 5.19, "sqlite_median_ms": 44.92, "sqlite_fastest_ms": 44.75, "sqlite_indexed_median_ms": 14.22, "sqlite_indexed_fastest_ms": 14.18} +{"query": "in_credit", "rows": 1, "accounts": 100000, "pure_median_ms": 0.82, "pure_fastest_ms": 0.8, "sqlite_median_ms": 5.89, "sqlite_fastest_ms": 5.86, "sqlite_indexed_median_ms": 0.16, "sqlite_indexed_fastest_ms": 0.16} +{"query": "large", "rows": 212, "accounts": 100000, "pure_median_ms": 0.38, "pure_fastest_ms": 0.37, "sqlite_median_ms": 1.47, "sqlite_fastest_ms": 1.47, "sqlite_indexed_median_ms": 1.57, "sqlite_indexed_fastest_ms": 1.53} +{"query": "ranks", "rows": 404, "accounts": 100000, "pure_median_ms": 6.68, "pure_fastest_ms": 6.62, "sqlite_median_ms": 2840.32, "sqlite_fastest_ms": 2836.13, "sqlite_indexed_median_ms": 7.81, "sqlite_indexed_fastest_ms": 7.79} diff --git a/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-after-2-linux-aarch64.jsonl b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-after-2-linux-aarch64.jsonl new file mode 100644 index 0000000..332318b --- /dev/null +++ b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-after-2-linux-aarch64.jsonl @@ -0,0 +1,4 @@ +{"query": "per_branch", "rows": 10, "accounts": 100000, "pure_median_ms": 5.26, "pure_fastest_ms": 5.15, "sqlite_median_ms": 46.22, "sqlite_fastest_ms": 46.11, "sqlite_indexed_median_ms": 14.66, "sqlite_indexed_fastest_ms": 14.6} +{"query": "in_credit", "rows": 1, "accounts": 100000, "pure_median_ms": 0.82, "pure_fastest_ms": 0.79, "sqlite_median_ms": 5.92, "sqlite_fastest_ms": 5.9, "sqlite_indexed_median_ms": 0.16, "sqlite_indexed_fastest_ms": 0.16} +{"query": "large", "rows": 212, "accounts": 100000, "pure_median_ms": 0.41, "pure_fastest_ms": 0.37, "sqlite_median_ms": 1.49, "sqlite_fastest_ms": 1.48, "sqlite_indexed_median_ms": 1.49, "sqlite_indexed_fastest_ms": 1.48} +{"query": "ranks", "rows": 404, "accounts": 100000, "pure_median_ms": 6.7, "pure_fastest_ms": 6.63, "sqlite_median_ms": 2848.3, "sqlite_fastest_ms": 2846.82, "sqlite_indexed_median_ms": 7.59, "sqlite_indexed_fastest_ms": 7.55} diff --git a/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-before-1-linux-aarch64.jsonl b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-before-1-linux-aarch64.jsonl new file mode 100644 index 0000000..9dce2a3 --- /dev/null +++ b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-before-1-linux-aarch64.jsonl @@ -0,0 +1,4 @@ +{"query": "per_branch", "rows": 10, "accounts": 100000, "pure_median_ms": 5.15, "pure_fastest_ms": 5.1, "sqlite_median_ms": 45.32, "sqlite_fastest_ms": 45.18, "sqlite_indexed_median_ms": 14.08, "sqlite_indexed_fastest_ms": 14.07} +{"query": "in_credit", "rows": 1, "accounts": 100000, "pure_median_ms": 0.81, "pure_fastest_ms": 0.76, "sqlite_median_ms": 5.87, "sqlite_fastest_ms": 5.85, "sqlite_indexed_median_ms": 0.16, "sqlite_indexed_fastest_ms": 0.16} +{"query": "large", "rows": 212, "accounts": 100000, "pure_median_ms": 0.38, "pure_fastest_ms": 0.37, "sqlite_median_ms": 1.47, "sqlite_fastest_ms": 1.47, "sqlite_indexed_median_ms": 1.49, "sqlite_indexed_fastest_ms": 1.47} +{"query": "ranks", "rows": 404, "accounts": 100000, "pure_median_ms": 6.64, "pure_fastest_ms": 6.56, "sqlite_median_ms": 2833.28, "sqlite_fastest_ms": 2826.65, "sqlite_indexed_median_ms": 7.51, "sqlite_indexed_fastest_ms": 7.48} diff --git a/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-before-2-linux-aarch64.jsonl b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-queries-before-2-linux-aarch64.jsonl new file mode 100644 index 0000000..e69de29 diff --git a/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-after-1-linux-aarch64.jsonl b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-after-1-linux-aarch64.jsonl new file mode 100644 index 0000000..6e4f1bc --- /dev/null +++ b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-after-1-linux-aarch64.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 568758, "generate_s": 0.56, "pure_load_s": 0.74, "sqlite_load_s": 1.54, "sqlite_page_size": 4096, "pure_resident_mib": 38.2, "sqlite_file_mib": 13.8} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 41435, "new_orders_per_minute": 1108733, "undone_new_orders": 3539, "errors": 0, "new_order": {"done": 373117, "failed": 0, "p50_us": 1472, "p99_us": 4352}, "payment": {"done": 356100, "failed": 0, "p50_us": 1472, "p99_us": 4352}, "order_status": {"done": 33305, "failed": 0, "p50_us": 256, "p99_us": 1792}, "delivery": {"done": 33190, "failed": 0, "p50_us": 1472, "p99_us": 4352}, "stock_level": {"done": 32997, "failed": 0, "p50_us": 288, "p99_us": 2048}, "server_threads": "3", "cpu_us_per_transaction": 44.0, "core_shares": {"pure-owner": 0.86, "pure-checkpoint": 0.01}, "resident_mib": 437.1, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 437.1, "pure_state_mib": 221.9, "pure_store_mib": 230.7, "sqlite_files_mib": 13.8, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 25362, "burst_events": 758954, "checkpoints": 37}} diff --git a/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-after-2-linux-aarch64.jsonl b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-after-2-linux-aarch64.jsonl new file mode 100644 index 0000000..ef16f60 --- /dev/null +++ b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-after-2-linux-aarch64.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 568758, "generate_s": 0.56, "pure_load_s": 0.74, "sqlite_load_s": 1.58, "sqlite_page_size": 4096, "pure_resident_mib": 39.0, "sqlite_file_mib": 13.8} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 43693, "new_orders_per_minute": 1169120, "undone_new_orders": 3733, "errors": 0, "new_order": {"done": 393443, "failed": 0, "p50_us": 1472, "p99_us": 3456}, "payment": {"done": 375506, "failed": 0, "p50_us": 1408, "p99_us": 3456}, "order_status": {"done": 35046, "failed": 0, "p50_us": 256, "p99_us": 1408}, "delivery": {"done": 35007, "failed": 0, "p50_us": 1408, "p99_us": 3456}, "stock_level": {"done": 34856, "failed": 0, "p50_us": 272, "p99_us": 1472}, "server_threads": "3", "cpu_us_per_transaction": 42.8, "core_shares": {"pure-owner": 0.89, "pure-checkpoint": 0.01}, "resident_mib": 458.9, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 458.9, "pure_state_mib": 232.7, "pure_store_mib": 238.7, "sqlite_files_mib": 13.8, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 26513, "burst_events": 800308, "checkpoints": 39}} diff --git a/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-before-1-linux-aarch64.jsonl b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-before-1-linux-aarch64.jsonl new file mode 100644 index 0000000..e572929 --- /dev/null +++ b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-before-1-linux-aarch64.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 568758, "generate_s": 0.56, "pure_load_s": 0.71, "sqlite_load_s": 1.57, "sqlite_page_size": 4096, "pure_resident_mib": 38.2, "sqlite_file_mib": 13.8} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 45926, "new_orders_per_minute": 1228702, "undone_new_orders": 3946, "errors": 0, "new_order": {"done": 413531, "failed": 0, "p50_us": 1408, "p99_us": 2688}, "payment": {"done": 394794, "failed": 0, "p50_us": 1408, "p99_us": 2688}, "order_status": {"done": 36841, "failed": 0, "p50_us": 248, "p99_us": 992}, "delivery": {"done": 36797, "failed": 0, "p50_us": 1408, "p99_us": 2688}, "stock_level": {"done": 36601, "failed": 0, "p50_us": 272, "p99_us": 1024}, "server_threads": "3", "cpu_us_per_transaction": 42.3, "core_shares": {"pure-owner": 0.91, "pure-checkpoint": 0.01}, "resident_mib": 477.9, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 477.9, "pure_state_mib": 243.5, "pure_store_mib": 254.7, "sqlite_files_mib": 13.8, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 27570, "burst_events": 841261, "checkpoints": 41}} diff --git a/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-before-2-linux-aarch64.jsonl b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-before-2-linux-aarch64.jsonl new file mode 100644 index 0000000..1dde7ae --- /dev/null +++ b/research/experiments/026-apps-on-one-host/interrupted/2026-10-01-tpcc-before-2-linux-aarch64.jsonl @@ -0,0 +1,3 @@ +{"step": "load", "directory": "/dev/shm", "warehouses": 1, "rows": 568758, "generate_s": 0.56, "pure_load_s": 0.71, "sqlite_load_s": 1.54, "sqlite_page_size": 4096, "pure_resident_mib": 38.2, "sqlite_file_mib": 13.8} +{"step": "run", "system": "pure", "warehouses": 1, "terminals": 64, "transactions_per_second": 45614, "new_orders_per_minute": 1220241, "undone_new_orders": 3920, "errors": 0, "new_order": {"done": 410667, "failed": 0, "p50_us": 1408, "p99_us": 2944}, "payment": {"done": 392131, "failed": 0, "p50_us": 1408, "p99_us": 2944}, "order_status": {"done": 36576, "failed": 0, "p50_us": 248, "p99_us": 1088}, "delivery": {"done": 36545, "failed": 0, "p50_us": 1408, "p99_us": 2944}, "stock_level": {"done": 36364, "failed": 0, "p50_us": 272, "p99_us": 1152}, "server_threads": "3", "cpu_us_per_transaction": 42.0, "core_shares": {"pure-owner": 0.91, "pure-checkpoint": 0.01}, "resident_mib": 474.5, "written_bytes_per_transaction": 0.0, "device_bytes_per_transaction": null, "consistency_failures": []} +{"step": "end", "pure_resident_mib": 474.5, "pure_state_mib": 241.9, "pure_store_mib": 246.7, "sqlite_files_mib": 13.8, "grouped_sqlite_files_mib": 0.0, "pure_counts": {"bursts": 27453, "burst_events": 835507, "checkpoints": 40}} -- cgit v1.2.3